본문 바로가기
Computer Science/RHCSA® REDHAT9

[RHCSA #4] Chapter 3: 필수 파일 관리 도구

by rnasterofmysea 2024. 11. 23.
반응형

Chapter 3: 필수 파일 관리 도구

 

  • 파일 시스템 계층 (Filesystem Hierarchy Standard, FHS)
  • 마운트 (Mount)
  • 파일 및 디렉토리 관리
  • 하드 링크 (Hard Link)
  • 심볼릭 링크 (Symbolic Link)
  • 아카이브 (Archive)
  • 압축 파일 관리

 


1. 마운트 작업 (Mounting Filesystems)

1-1. 마운트란?

  • **마운트(Mount)**는 파일 시스템을 디렉토리(마운트 포인트)에 연결하여 사용할 수 있도록 설정하는 작업입니다.
  • 디스크, 파티션, 네트워크 공유, ISO 이미지 등 다양한 장치를 마운트할 수 있습니다.

1-2. 기본 마운트 명령어

  1. 마운트 구문:
    • <장치>: 마운트할 대상 (예: /dev/sda1).
    • <마운트 포인트>: 파일 시스템을 연결할 디렉토리.
  2. mount [옵션] <장치> <마운트 포인트>
  3. 마운트 예제:
    • 파티션 마운트:
      mount /dev/sda1 /mnt
      
      • /dev/sda1을 /mnt 디렉토리에 마운트.
    • 읽기 전용 마운트:
      mount -o ro /dev/sda1 /mnt
      
      • 읽기 전용으로 /dev/sda1을 마운트.
    • ISO 파일 마운트:
      mount -o loop file.iso /mnt
      
      • ISO 이미지를 /mnt에 마운트.

1-3. 자동 마운트: /etc/fstab

  • /etc/fstab 파일은 파일 시스템 마운트를 자동화하기 위한 설정 파일입니다.
  • 부팅 시 자동으로 정의된 장치를 마운트합니다.
  1. /etc/fstab 파일 예제:
    • /dev/sda1 파티션을 /mnt 디렉토리에 ext4 파일 시스템으로 마운트.
  2. /dev/sda1 /mnt ext4 defaults 0 2
  3. mount -a 명령어:
    • /etc/fstab에 정의된 모든 항목을 마운트합니다.
    mount -a
    

1-4. 현재 마운트 상태 확인

  1. 마운트된 파일 시스템 확인:
    mount
    
    • 현재 마운트된 모든 파일 시스템 표시.
  2. 디스크 사용량 확인:
    df -h
    
    • 마운트된 디스크의 용량과 사용 상태 확인.

1-5. 마운트 해제

  1. 마운트 해제 명령어:
    umount <마운트 포인트 또는 장치>
    
    • 예: /mnt 디렉토리의 마운트 해제.
      umount /mnt
      
  2. 주의 사항:
    • 파일 시스템이 사용 중일 경우 마운트 해제가 불가능합니다. 모든 관련 프로세스를 종료해야 합니다.

2. 파일 시스템 계층 이해

2-1. 파일 시스템 계층 표준 (Filesystem Hierarchy Standard, FHS)

리눅스의 파일 시스템은 디렉토리 계층 구조로 이루어져 있으며, 각 디렉토리는 특정 용도를 가지고 있습니다.

  1. / (루트 디렉토리):
    • 모든 파일과 디렉토리의 시작점.
    • 중요 디렉토리:
      • /bin: 기본 명령어 저장 (e.g., ls, cp).
      • /sbin: 시스템 관리 명령어 저장 (e.g., reboot).
      • /lib: 라이브러리 파일 저장.
      • /dev: 디바이스 파일 저장.
  2. 중요 디렉토리:
    • /etc: 시스템 설정 파일 저장. (e.g., 네트워크 설정, 사용자 계정 정보)
    • /home: 사용자별 홈 디렉토리.
    • /var: 로그 파일, 동적으로 변화하는 데이터 저장.
    • /tmp: 임시 파일 저장.
    • /boot: 커널과 부팅 파일 저장.

3. 파일 및 디렉토리 관리

3-1. 파일 관리 명령어

  1. 파일 생성:
    touch file1       # 빈 파일 생성
    
  2. 파일 복사:
    cp source target  # 파일 복사
    cp -r dir1 dir2   # 디렉토리 복사
    
  3. 파일 이동 및 이름 변경:
    mv file1 /tmp/    # 파일 이동
    mv file1 file2    # 파일 이름 변경
    
  4. 파일 삭제:
    rm file1          # 파일 삭제
    rm -r dir1        # 디렉토리와 내용 삭제
    rm -i file1       # 삭제 전 확인
    

3-2. 디렉토리 관리 명령어

  1. 디렉토리 생성:
    mkdir dir1        # 디렉토리 생성
    mkdir -p /path/to/dir  # 중첩 디렉토리 생성
    
  2. 디렉토리 내용 확인:
    ls                # 기본 디렉토리 내용 출력
    ls -l             # 상세 정보 포함 출력
    ls -a             # 숨겨진 파일 포함 출력
    

4. 링크 사용

4-1. 하드 링크와 심볼릭 링크

  1. 하드 링크:
    • 동일한 파일 데이터에 대한 여러 참조를 생성.
    • 원본 파일 삭제해도 하드 링크는 삭제되지 않음.
    ln file1 link1    # 하드 링크 생성
    
  2. 심볼릭 링크 (소프트 링크):
    • 파일 경로를 참조하는 링크.
    • 원본 파일 삭제 시 링크가 깨짐.
    ln -s file1 link1 # 심볼릭 링크 생성
    

4-2. 링크 확인 및 삭제

  1. 링크 확인:
    ls -l             # 링크는 `->`로 표시됨
    
  2. 링크 삭제:
    rm link1          # 링크 파일 삭제
    

5. 아카이브 및 압축 파일 작업

5-1. 아카이브 생성 및 추출

  1. tar 명령어:
    • 아카이브 생성:
      tar -cvf archive.tar files
      
    • 아카이브 추출:
      tar -xvf archive.tar
      
  2. 압축 옵션 추가:
    • gzip:
      tar -czvf archive.tar.gz files
      
    • bzip2:
      tar -cjvf archive.tar.bz2 files
      

5-2. 파일 압축 및 해제

  1. 압축하기:
    • gzip:
      gzip file        # file.gz 생성
      
    • bzip2:
      bzip2 file       # file.bz2 생성
      
  2. 압축 해제:
    • gunzip:
      gunzip file.gz   # 압축 해제
      
    • bunzip2:
      bunzip2 file.bz2 # 압축 해제
      

퀴즈

  1. 문제: /dev/sdb1 파티션을 /mnt/data 디렉토리에 읽기 전용으로 마운트하려면 어떤 명령어를 사용해야 하는가?
    • 정답: mount -o ro /dev/sdb1 /mnt/data
  2. 문제: /etc 디렉토리의 모든 파일을 /tmp 디렉토리로 복사하려면 어떤 명령어를 사용해야 하는가?
    • 정답: cp /etc/* /tmp/
  3. 문제: 심볼릭 링크를 생성하는 명령어는 무엇인가?
    • 정답: ln -s source linkname
  4. 문제: archive.tar.gz 파일의 압축을 해제하고 내용을 확인하려면 어떤 명령어를 사용하는가?
  • 정답: tar -xzvf archive.tar.gz

 

반응형