기본
| 명령어 | 작업 |
|---|---|
| / | 최상위 디렉토리 |
| . | 현재 디렉토리 |
| .. | 상위 디렉토리 |
| ~ | 홈 디렉토리 |
| sudo [명령어] | 슈퍼 유저 권한으로 명령어 실행 |
| nano [파일] | 터미널 편집기 열기 |
| open [파일] | 파일 열기 |
| [명령어] -h | 명령어 도움말 확인 |
| man [명령어] | 명령어 도움말 매뉴얼 표시 |
키 조합 단축키
| 명령어 | 작업 |
|---|---|
| Tab | 파일 및 폴더 이름 자동 완성 |
| Ctrl + A | 현재 입력 중인 줄의 시작으로 이동 |
| Ctrl + E | 현재 입력 중인 줄의 끝으로 이동 |
| Ctrl + U | 커서 앞의 줄 내용 삭제 |
| Ctrl + K | 커서 뒤의 줄 내용 삭제 |
| Ctrl + W | 커서 앞의 단어 삭제 |
| Ctrl + T | 커서 바로 앞의 두 문자 교체 |
| Esc + T | 커서 바로 앞의 두 단어 교체 |
| Ctrl + L | 화면 지우기 |
| Ctrl + C | 실행 중인 Unix 프로그램 강제 종료 |
| Ctrl + D | 현재 셸 종료 |
| Option + 오른쪽 화살표 키 | 커서를 한 단어 앞으로 이동 |
| Option + 왼쪽 화살표 키 | 커서를 한 단어 뒤로 이동 |
| Ctrl + F | 커서를 한 문자 앞으로 이동 |
| Ctrl + B | 커서를 한 문자 뒤로 이동 |
| Ctrl + Y | 이전 명령어로 잘라낸 내용 붙여넣기 |
| Ctrl + Z | 실행 중인 프로세스를 일시 중지된 배경 프로세스로 전환 |
| Ctrl + _ | 이전 명령어 실행 취소 |
| Option + Shift + Cmd + C | 일반 텍스트 복사 |
| Shift + Cmd + V | 선택 항목 붙여넣기 |
| exit | 셸 세션 종료 |
디렉토리 변경
| 명령어 | 작업 |
|---|---|
| cd | 홈 디렉토리로 이동 |
| cd [폴더] | 디렉토리 변경 (예: cd Documents) |
| cd ~ | 홈 디렉토리로 이동 |
| cd / | 드라이브 루트로 이동 |
| cd - | 마지막으로 탐색한 이전 디렉토리나 폴더로 이동 |
| pwd | 현재 작업 디렉토리 표시 |
| cd .. | 상위 디렉토리로 이동 |
| cd../../ | 두 단계 상위 디렉토리로 이동 |
디렉토리 내용 목록 표시
| 명령어 | 작업 |
|---|---|
| ls | 디렉토리 내 파일 및 하위 디렉토리 이름 표시 |
| ls -C | 다중 열 형식으로 출력 강제 |
| ls -a | . 및 ..을 포함한 모든 항목 표시 |
| ls -1 | 파일 목록을 한 줄에 하나씩 출력 |
| ls -F | 디렉토리 경로 뒤에 /, 실행 파일이나 스크립트 뒤에 *, 심볼릭 링크 뒤에 @ 표시 |
| ls -S | 파일 또는 항목을 크기순으로 정렬 |
| ls -l | 긴 형식으로 목록 표시 (파일 모드, 소유자 및 그룹 이름, 수정 날짜 및 시간, 경로 등 포함) |
| ls -l / | 루트부터 파일 시스템 목록을 심볼릭 링크와 함께 표시 |
| ls -lt | 수정 시간순으로 정렬된 파일 목록 표시 (최신순) |
| ls -lh | 사람이 읽기 쉬운 형식(KB, MB, GB)으로 파일 크기 포함하여 상세 목록 표시 |
| ls -lo | 파일 이름, 크기, 소유자 및 플래그 표시 |
| ls -la | 숨김 파일을 포함한 상세 디렉토리 내용 표시 |
파일 크기 및 디스크 공간
| 명령어 | 작업 |
|---|---|
| du | 각 하위 디렉토리 및 내용물 사용량 표시 |
| du -sh [폴더] | 디렉토리 내 모든 파일의 사용량을 읽기 쉬운 형식으로 표시 |
| du -s | 지정된 각 파일에 대한 항목 표시 |
| df -h | 시스템의 여유 디스크 공간 계산 |
| df -H | 1,000 단위의 거듭제곱으로 여유 디스크 공간 계산 |
파일 및 디렉토리 관리
| 명령어 | 작업 |
|---|---|
| mkdir <디렉토리> | <디렉토리> 이름의 새 폴더 생성 |
| mkdir -p <디렉토리>/<디렉토리> | 중첩된 폴더 생성 |
| mkdir <디렉토리1> <디렉토리2> <디렉토리3> | 여러 폴더를 한 번에 생성 |
| mkdir "<디렉토리>" | 파일 이름에 공백이 포함된 폴더 생성 |
| rmdir <디렉토리> | 폴더 삭제 (빈 폴더만 가능) |
| rm -R <디렉토리> | 폴더 및 내부 내용물 삭제 |
| touch <파일> | 확장자 없는 새 파일 생성 |
| cp <파일> <디렉토리> | 파일을 해당 폴더로 복사 |
| cp <파일> <새파일> | 파일을 현재 폴더로 복사 |
| cp <파일>~/<디렉토리>/<새파일> | 파일을 폴더로 복사하고 새 파일 이름으로 변경 |
| cp -R <디렉토리> <"새 디렉토리"> | 폴더를 공백이 포함된 새 폴더 이름으로 복사 |
| cp -i <파일><디렉토리> | 덮어쓰기 경고 메시지를 표시하고 복사 전 확인 |
| cp <파일1> <파일2> <파일3>/Users/<디렉토리> | 여러 파일을 폴더로 복사 |
| ditto -V [폴더 경로][새 폴더] | 폴더 내용을 새 폴더로 복사 (-V 옵션은 복사되는 파일마다 상태 줄을 출력) |
| rm <파일> | 파일 삭제 (영구 삭제되므로 주의) |
| rm -i <파일> | 확인 후 파일 삭제 |
| rm -f <파일> | 확인 없이 강제 삭제 |
| rm <파일1> <파일2> <파일3> | 여러 파일을 확인 없이 삭제 |
| mv <파일> <새파일이름> | 이동/이름 변경 |
| mv <파일> <디렉토리> | 파일을 폴더로 이동 (기존 파일 덮어쓰기 가능) |
| mv -i <파일> <디렉토리> | -i 옵션 사용 시 덮어쓰기 전 경고 표시 |
| mv *.png ~/<디렉토리> | 현재 폴더의 모든 PNG 파일을 다른 폴더로 이동 |
명령어 기록
| 명령어 | 작업 |
|---|---|
| Ctrl + R | 이전에 사용한 명령어 검색 |
| history n | 입력했던 이전 명령어 표시 (숫자를 추가하여 마지막 n개 항목으로 제한) |
| ![값] | 해당 값으로 시작하는 마지막 명령어 실행 |
| !! | 마지막 명령어 실행 |
권한
| 명령어 | 작업 |
|---|---|
| ls -ld | 홈 디렉토리의 기본 권한 표시 |
| ls -ld/<디렉토리> | 특정 폴더의 읽기, 쓰기, 접근 권한 표시 |
| chmod 755 <파일> | 파일 권한을 755로 변경 |
| chmod -R 600 <디렉토리> | 폴더(및 내부 항목) 권한을 600으로 변경 |
| chown <사용자>:<그룹> <파일> | 파일의 소유자를 사용자 및 그룹으로 변경 (-R 추가 시 폴더 내용물 포함) |
프로세스
| 명령어 | 작업 |
|---|---|
| ps -ax | 현재 실행 중인 프로세스 출력 (a는 모든 사용자의 프로세스, x는 터미널에 연결되지 않은 프로세스 표시) |
| ps -aux | CPU 점유율, 메모리 점유율, 페이지 입력, PID 및 명령어를 포함한 모든 프로세스 표시 |
| top | 현재 실행 중인 프로세스에 대한 실시간 정보 표시 |
| top -ocpu -s 5 | CPU 사용량별로 정렬하여 5초마다 갱신 |
| top -o rsize | 메모리 사용량순으로 정렬 |
| kill PID | ID <PID>인 프로세스 종료 (PID는 활성 상태 보기의 열에서 확인 가능) |
네트워크
| 명령어 | 작업 |
|---|---|
| ping <호스트> | 호스트 핑 테스트 및 상태 표시 |
| whois <도메인> | 도메인에 대한 whois 정보 출력 |
| curl -O <URL/파일경로> | HTTP, HTTPS 또는 FTP를 통해 파일 다운로드 |
| ssh <사용자이름>@<호스트> | <사용자이름>으로 <호스트>에 SSH 연결 설정 |
| scp <파일><사용자이름>@<호스트>:/원격/경로 | <파일>을 원격 <호스트>로 복사 |
| arp -a | 로컬 네트워크의 모든 장치 목록 보기 (장치의 IP 주소 및 MAC 주소 표시) |
| ifconfig en0 | 장치의 IP 주소 및 MAC 주소 확인 |
| traceroute [호스트이름] | 장치에서 대상 주소까지 패킷이 이동하는 경로 및 홉 식별 |
Homebrew
| 명령어 | 작업 |
|---|---|
| brew doctor | brew의 잠재적 문제 확인 |
| brew help | 유용한 homebrew formula 및 cask 명령어 목록 |
| brew list --formula | 설치된 formula만 나열 |
| brew list --cask | 설치된 cask만 나열 |
| brew outdated --formula | 오래된 formula 검색 |
| brew outdated --cask | 오래된 cask 검색 |
| brew pin [설치된_formula] | formula 업데이트 방지 고정 |
| brew unpin [설치된_formula] | 패키지 업데이트를 위해 고정 해제 |
| brew cleanup | 모든 formula 및 cask의 오래된 잠금 파일 및 패키지 삭제 |
환경 변수 또는 경로
| 명령어 | 작업 |
|---|---|
| printenv | 현재 설정된 환경 변수 목록 및 사용하는 셸 표시 |
| $echo | 터미널에 텍스트 출력 |
| echo $PATH | 실행 파일이 포함된 디렉토리 목록을 저장하는 PATH 변수 값 확인 |
| echo $PATH >path.txt | 경로 디렉토리를 텍스트 파일로 내보내기 |
| export PATH=$PATH:절대/프로그램경로/ | 현재 세션에서만 터미널을 통해 프로그램 실행 |
검색
| 명령어 | 작업 |
|---|---|
| find <디렉토리> -name <"파일"> | <디렉토리> 내에서 <파일> 이름인 모든 파일 찾기 (와일드카드 *를 사용하여 파일 이름 일부 검색) |
| grep "<텍스트>" <파일> | <파일> 내에서 <텍스트>가 나타나는 모든 위치 출력 (-i 추가 시 대소문자 구분 안 함) |
| grep -rl "<텍스트>" <디렉토리> | <디렉토리> 내에서 <텍스트>를 포함하는 모든 파일 검색 |
출력
| 명령어 | 작업 |
|---|---|
| cat <파일> | <파일> 내용 출력 |
| less <파일> | 페이지 매김 등을 지원하는 less 명령어를 사용하여 <파일> 내용 출력 |
| head <파일> | <파일>의 처음 10줄 출력 |
| <명령어> >> <파일> | <명령어>의 출력을 <파일> 뒤에 추가 |
| <명령어> > <파일> | <명령어>의 출력을 <파일>로 리디렉션 |
댓글 0개