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 = 7
  • rw- = 4 + 2 = 6
  • r-- = 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: 확장자가 숨김

results matching ""

    No results matching ""