셸 치트 시트
검색 및 인쇄 가능한 Bash / 셸 레퍼런스 — 탐색, 파일, 파이프, 변수, 반복문, 조건문, 유용한 원라이너. 무료.
탐색
8pwd
작업 디렉터리 출력
ls -la
모든 파일 상세 목록
cd /path
디렉터리 변경
cd -
이전 디렉터리로 이동
cd ~
홈 디렉터리로 이동
tree -L 2
디렉터리 트리 표시 (2단계)
pushd / popd
디렉터리 스택 push와 pop
ls -lhS
크기순 목록, 읽기 쉬운 형식
파일과 디렉터리
10touch file.txt
빈 파일 생성
mkdir -p a/b/c
중첩 디렉터리 생성
cp -r src dest
재귀적으로 복사
mv old new
이동 또는 이름 변경
rm -rf dir
재귀적으로 제거 (주의!)
ln -s target link
심볼릭 링크 생성
cat file.txt
파일 내용 출력
head -n 20 / tail -n 20
처음 / 마지막 20줄
tail -f log.txt
파일 증가 추적
less file.txt
파일 페이지 단위로 보기
검색과 찾기
8grep 'pattern' file
파일에서 패턴 검색
grep -rin 'text' .
재귀, 대소문자 무시, 줄 번호
find . -name '*.php'
이름으로 파일 찾기
find . -type f -mtime -1
최근 하루 내 수정된 파일
find . -size +10M
10 MB보다 큰 파일
which node
실행 파일 위치 찾기
locate file.txt
인덱스 데이터베이스로 찾기
grep -v 'skip' file
일치 반전 (줄 제외)
텍스트 처리
9wc -l file
줄 수 세기
sort file | uniq -c
정렬 후 중복 세기
cut -d',' -f1 file
CSV 열 추출
awk '{print $1}' file
첫 번째 필드 출력
sed 's/old/new/g' file
텍스트 치환
tr 'a-z' 'A-Z'
문자 변환
diff a.txt b.txt
두 파일 비교
tee out.txt
파일과 stdout에 쓰기
xargs -I{} cmd {}
입력으로 명령 생성
파이프와 리다이렉션
9a | b
a의 출력을 b로 파이프
cmd > file
stdout 리다이렉트 (덮어쓰기)
cmd >> file
stdout 리다이렉트 (추가)
cmd 2> err.log
stderr 리다이렉트
cmd > out 2>&1
두 스트림 모두 리다이렉트
cmd < input.txt
파일에서 stdin 읽기
cmd1 && cmd2
cmd1 성공 시에만 cmd2 실행
cmd1 || cmd2
cmd1 실패 시에만 cmd2 실행
cmd &
백그라운드에서 실행
권한과 소유권
8chmod 755 file
소유자 rwx, 타인 rx 설정
chmod +x script.sh
파일 실행 가능하게 만들기
chmod -R 644 dir
재귀적 권한 변경
chown user:group file
소유자와 그룹 변경
umask 022
기본 권한 마스크
sudo cmd
root로 명령 실행
stat file
파일 메타데이터 표시
ls -l file
권한 비트 보기
프로세스와 시스템
9ps aux
실행 중인 프로세스 목록
top / htop
실시간 프로세스 모니터
kill -9 PID
프로세스 강제 종료
pkill -f name
이름으로 프로세스 종료
jobs / fg / bg
백그라운드 작업 관리
df -h
디스크 공간 사용량
du -sh dir
디렉터리 크기
free -h
메모리 사용량
uname -a
시스템 및 커널 정보
변수와 확장
9NAME='value'
변수 설정 (공백 없이)
echo \"$NAME\"
변수 사용
export PATH=\"$PATH:/x\"
자식 프로세스로 export
$(command)
명령 치환
${VAR:-default}
미설정 시 기본값
$1 $2 $@
스크립트 위치 인자
$?
마지막 명령의 종료 상태
read -p 'Name: ' x
사용자 입력 읽기
echo {1..5}
중괄호 확장
스크립팅
9#!/usr/bin/env bash
셔뱅 라인
set -euo pipefail
더 안전한 엄격 모드
if [ -f file ]; then ...; fi
파일 테스트 조건
[ \"$a\" = \"$b\" ]
문자열 비교
for f in *.txt; do ...; done
파일 반복
while read line; do ...; done < file
파일을 한 줄씩 읽기
case \"$x\" in a) ...;; esac
다중 분기
function greet() { echo hi; }
함수 정의
trap cleanup EXIT
종료 시 핸들러 실행
“:q”와 일치하는 항목이 없습니다.
도움이 필요하신가요?
이 도구에서 문제를 발견하셨나요? 저희 팀에 알려주세요.