Bash
1. 파일 및 디렉토리 작업
-
ls
디렉토리 내 파일과 폴더 목록을 표시ls # 현재 디렉토리 내용 출력 ls -l # 상세 목록 출력 (파일 권한, 크기 등) ls -a # 숨겨진 파일도 포함하여 출력
drwxr-xr-x 2 user1 staff 4096 Mar 31 12:00 my_directory
d
: 디렉토리rwxr-xr-x
: 소유자는 읽기, 쓰기, 실행 권한을 가짐 / 그룹과 기타 사용자는 읽기 및 실행 권한을 가짐2
: 해당 디렉토리의 링크 수 (디렉토리 내의 하위 디렉토리 등 포함)user1
: 소유자staff
: 그룹4096
: 파일 크기 (디렉토리 크기, 바이트)Mar 31 12:00
: 마지막 수정 시간my_directory
: 디렉토리 이름
-
cd
디렉토리 이동cd /path/to/directory # 지정된 디렉토리로 이동 cd .. # 상위 디렉토리로 이동 cd ~ # 홈 디렉토리로 이동
-
pwd
현재 작업 중인 디렉토리 경로 출력pwd # 현재 작업 디렉토리 경로 출력
-
mkdir
새 디렉토리 생성mkdir new_folder # "new_folder"라는 디렉토리 생성
-
rmdir
비어 있는 디렉토리 삭제rmdir folder_name # "folder_name"이라는 빈 디렉토리 삭제
-
rm
파일 또는 디렉토리 삭제rm file_name # 파일 삭제 rm -r folder_name # 디렉토리와 그 안의 파일 삭제 rm -f file_name # 강제로 삭제 (권한 문제나 읽기 전용 파일)
-
cp
파일 또는 디렉토리 복사cp source.txt destination.txt # 파일 복사 cp -r source_folder dest_folder # 디렉토리 복사
-
mv
파일 또는 디렉토리 이동, 이름 변경mv old_name.txt new_name.txt # 파일 이름 변경 mv file.txt /path/to/destination/ # 파일 이동
2. 파일 내용 확인 및 처리
-
cat
파일 내용 출력cat file_name # 파일 내용 전체 출력
-
more
파일 내용을 페이지 단위로 출력more file_name # 한 페이지씩 파일 내용 출력
-
less
파일 내용을 스크롤하여 출력 (more보다 더 편리)less file_name # 스크롤 가능한 방식으로 출력
-
head
파일의 첫 몇 줄 출력head file_name # 파일의 첫 10줄 출력 (기본값) head -n 20 file_name # 첫 20줄 출력
-
tail
파일의 마지막 몇 줄 출력tail file_name # 파일의 마지막 10줄 출력 (기본값) tail -n 20 file_name # 마지막 20줄 출력 tail -f file_name # 파일이 업데이트 될 때마다 실시간으로 출력
3. 파일 검색
-
find
특정 조건에 맞는 파일 찾기find /path/to/search -name "filename" # 파일명으로 찾기 find /path/to/search -type f # 파일만 찾기 find /path/to/search -type d # 디렉토리만 찾기
-
grep
파일 내에서 특정 문자열 찾기grep "search_term" file_name # 파일에서 문자열 찾기 grep -r "search_term" /path # 디렉토리 내 모든 파일에서 찾기 grep -i "search_term" file_name # 대소문자 구분 없이 찾기
4. 시스템 정보
-
top
실시간 시스템 정보 (CPU, 메모리, 프로세스) 출력top # 시스템 자원 사용 현황
-
ps
현재 실행 중인 프로세스 확인ps aux # 모든 프로세스 목록 보기 ps -ef # 모든 프로세스 목록 보기 (다른 출력 형식)
-
df
파일 시스템 디스크 공간 확인df -h # 디스크 사용량 확인 (사람이 읽기 쉬운 형식)
-
du
파일 또는 디렉토리의 디스크 사용량 확인du -sh /path/to/directory # 디렉토리 크기
-
free
메모리 사용량 확인free -h # 메모리 사용량 (사람이 읽기 쉬운 형식)
5. 프로세스 제어
-
kill
프로세스 종료kill <pid> # 특정 프로세스 종료 (pid는 프로세스 ID) kill -9 <pid> # 강제로 프로세스 종료
-
killall
이름으로 프로세스 종료killall process_name # process_name 이름의 모든 프로세스 종료
6. 사용자 및 권한 관리
-
chmod
파일 또는 디렉토리의 권한 변경chmod 755 file_name # 파일에 읽기, 쓰기, 실행 권한 설정 chmod u+x file_name # 사용자에게 실행 권한 추가
소유자(owner), 그룹(group), 기타(other)
rwx
= 4 + 2 + 1 = 7rw-
= 4 + 2 = 6r--
= 4-
---
= 0기타 권한
+x
: 실행 권한을 추가-x
: 실행 권한을 제거+w
: 쓰기 권한을 추가-w
: 쓰기 권한을 제거+r
: 읽기 권한을 추가-
-r
: 읽기 권한을 제거 -
chown
파일 또는 디렉토리의 소유자 변경chown user:group file_name # 파일의 소유자 및 그룹 변경
7. 네트워크
-
ping
네트워크 연결 확인ping google.com # google.com과의 연결 확인
-
curl
URL로 HTTP 요청 보내기curl https://example.com # URL에서 콘텐츠 가져오기 curl -O https://example.com/file.txt # 파일 다운로드
-
wget
파일 다운로드wget https://example.com/file.txt # URL에서 파일 다운로드
8. 압축 및 압축 해제
-
tar
파일 압축 및 압축 해제tar -czf archive.tar.gz /path/to/directory # 디렉토리 압축 tar -xzf archive.tar.gz # tar.gz 파일 압축 해제
-
zip
파일 압축zip archive.zip file1 file2 # 파일 압축
-
unzip
zip 파일 압축 해제unzip archive.zip # zip 파일 압축 해제
9. 단축키
-
Ctrl + C: 현재 실행 중인 명령어 중지
-
Ctrl + Z: 실행 중인 명령어 일시 정지
-
Ctrl + A: 커서를 줄 맨 앞에 위치시키기
-
Ctrl + E: 커서를 줄 맨 끝에 위치시키기
-
Tab: 자동 완성 (파일명, 명령어 등)
10. finder 파일 확장명 표시
현재 디렉토리 Finder로 열기
open .
탐색기에서 파일 확장명 토글 (확장자 보이기/숨기기)
Command(⌘) + Shift(⇧) + .
확장자 보이도록 설정
defaults write NSGlobalDomain AppleShowAllExtensions -bool true && killall Finder
확장자 숨기도록 설정
defaults write NSGlobalDomain AppleShowAllExtensions -bool false && killall Finder
현재 확장자 표시 상태 확인
defaults read NSGlobalDomain AppleShowAllExtensions
true
: 확장자가 표시, false
: 확장자가 숨김