File System

진주찬·2023년 6월 9일
0

Linux

목록 보기
6/11

Unified filesystem

  • 시작 위치 : root
  • 하나만이 아니라 여러개 각각의 파일시스템으로 구성

파일과 디렉토리 모두 파일타입이다.
디바이스의 특별한 파일을 포함하는 다른 파일타입도 존재한다.
디바이스의 파일은 /dev 디렉토리에 저장되어 있다.

Disk Naming

  • IDE 하드드라이브는 /dev/hda, /dev/hdb, /dev/hdc, /dev/hdd에 존재
  • SCSI 디스크는 /dev/sda, /dev/sdb 등에 존재

디스크와 파티션

디스크는 보통 partition으로 분리되어 있다.
윈도우같은 호환성을 위해 4개의 primary partition(운영체제 설치)으로 보통 존재.
파티션을 추가로 할때는 extended partition을 만들고, 그 위에 logical partition을 여러개 올릴 수 있다.

fdisk 커맨드

  • fdisk는 디스크의 파티션을 만들거나, 지우거나, 바꾸는 커맨드이다.
  • "m"을 누르면 다양한 기능을 볼 수 있다.
  • "p"를 사용하면 현재 존재하고 있는 파티션을 볼 수 있다.
  • "w"를 사용하면 변화를 저장하고 나간다.

mkfs 커맨드

  • 파티션의 파일시스템을 만든다. (기존에 있던 파티션의 데이터들은 다 사라진다!!)

  • blkid 를 사용하면 파일시스템의 타입을 알 수 있다.

    파일시스템의 타입

    • FAT -> DOS, Windows 9x
    • NTFS -> Windows NT, windows 2000, windows XP/7
    • HFS -> Mac
    • HPFS -> OS/2
    • ext2, ext3, ext4(extended filesystem) -> Linux, Android 2.3
    • VFMS -> VMWare
    • UDF -> Optical disks

Mount

  • "mount"는 사용자가 파일시스템을 편하게 관리하고 오르는데 사용된다.
  • "umount"는 "mount"의 반대이다.
    “umount /mnt/extra”처럼 마운트 포인트를 호출 할 수도 있고, "umount /dev/sdb3"처럼 디바이스를 호출 할 수 있다.
  • 루트 권한 필요
  • 사용하고 있는 파일시스템은 umount가 되지 않는다.
  • "auto" : 부팅 시 파일시스템 마운트
  • "noauto" : 부팅 시 파일시스템 마운트 방지
  • "ro" : read only
  • "rw" : read/write
  • "users" : 루트가 아닌 유저가 mount/umount를 할 수 있게 해준다.

/etc/fstab

  • 파일시스템 관리의 내용을 담고 있음
  • 부팅 시 마운트 내용 확인
  • 각 라인들은 파일시스템을 설명한다

파일을 마운트 할 때 "-o loop" 옵션을 이용하면 디스크 대신 일반 파일을 저장해둔 파일시스템을 마운트 할 수 있다.

Inode (Index node)

  • 한 블락을 가리키는 번호
  • inode 하나 -> 파일 하나를 가리킨다.

디렉토리

  • 파일의 이름은 그거의 inode가 아니라 디렉토리에 저장된다.
  • 디렉토리는 inode와 파일 이름간의 매핑이다.
  • 파일 이름을 가지고 링크를 만들어준다.
  • 해당 파일에 대한 경로를 저장한다.
  • "ln -s"로 심볼릭 링크를 만들 수 있다.
  • 다른 파일시스템과 같이 동작 가능하다.
  • 경로를 사용하는 것이 아닌 inode를 가리킨다.
  • 하드링크는 그 자체로 동일한 파일이 생성되는 것과 같다.
  • "ln"으로 하드링크를 만들 수 있다.
  • 하나의 파일시스템으로만 동작할 수 있다.

df

  • 마운트 된 파일시스템의 사용할 수 있는 공간을 알려준다.
  • "-h" : 사람이 읽기 쉽게 바꿔준다.

du

  • 디렉토리 트리에서 디스크 사용량을 요약하여 보여준다.
  • "-h" : 사람이 읽기 쉽게
  • "-a" : 모든 파일 보여줌
  • "-s" : 각각 요약
  • "-c" : 모든 디렉토리의 누적합계
  • "-S" : 하위 디렉토리 제외

fsck

  • 마운트가 되어있지 않는 상태에서 하는 것이 좋음

quota

  • 사용자가 이용할 수 있는 디스크 공간을 제한하는 것
  • hard limit과 soft limit이 있다.
  • soft limit은 사용자가 넘을 수 있다.
  • hard limit은 절대 초과할 수 없다.
  • blocks를 세팅해 사용할 수 있는 데이터 공간의 양을 제한한다.
  • inodes를 세팅해 생성할 수 있는 파일의 수를 제한한다.
  • user별로 quota를 설정할 수도 있고, group별로 quota를 설정할 수도 있다.

quotacheck 명령어

  • 사용자와 그룹에 제한된 quota를 확인하는 명령어
  • "-c" : 할당량 만들기
  • "-u" : 유저
  • "-g" : 그룹

    setquota 명령어

  • "-t" : quota의 유예기간 설정
    ex) setquota -t 3600 3600 /dev/hda1quotaon/quotaoff : quota를 온 오프 함
    repquota : (루트 권한), 각 유저의 할당되어 있는 quota 정보를 출력
    "-a" : 모든 파일시스템
    "-g" : 그룹쿼타
    "-v" : 더 정확한 정보

0개의 댓글