Skip to content

File system commands

권한 및 그룹

소유권과 허가권

  • 소유권: 파일이나 디렉토리를 소유하여 지배하는 권리
    • 사용자 소유권
    • 그룹 소유권
  • 허가권: 파일이나 디렉토리에 접근 권한을 설정하는 권한
    • 사용자(user)
    • 그룹(group)
    • 이외(other)
허가권의 표기
권한 파일 디렉토리
r 파일의 내용 열람 디렉토리 내부 열람
w 파일의 내용 수정 디렉토리 내부 파일 생성 혹은 삭제
x 실행 파일을 실행 디렉토리 내부로 접근

권한 관련 명령어

chmod

파일이나 디렉토리 접근 허가권 설정 (change mode)

사용자 지정: u, g, o, a
권한 지정: r(4), w(2), x(1)
설정 기호: +, -, =

chown

파일이나 디렉토리의 소유권 및 그룹 소유권 변경(change owner)

chgrp

파일이나 디렉토리의 소유 그룹 변경(change group)

본인이 속한 그룹이 여러개인 경우 본인 소유 파일을 자신이 속한 다른 그룹으로 이동할 수 있다.

  $ chmod [option] mode file
  $ chown [option] owner[:group] file
  $ chgrp [option] group file

주요 옵션

옵션 내용
-R 하위 모든 디렉터리, 파일 접근 권한 변경
-c 변경된 정보 출력
-f 중요한 오류 메시지가 아니면 출력 X
-v 명령 진행 결과에 대한 정보를 자세히 출력
–version 명령어의 버전 정보 출력

chgrp 옵션

옵션 내용
-h 심볼릭 링크 파일 자체의 그룹 소유권 변경

umask

파일이나 디렉터리 생성 시 부여되는 기본 허가권 값 지정

$ umask [option] value

주요 옵션

옵션 내용
-S umask 값을 문자로 표기

특수 권한

일반 사용자가 root 권한을 잠시 사용하는 것

종류

  • Set-UID
    • 보통 실행파일에 사용됨
    • 실행하는 동안 해당 파일의 소유자 권한을 빌림
    • 소유자 권한 부분의 x자리에 s로 표기됨
    • 만약 실행 권한이 없는 파일에서 사용하면 S로 표기됨
  • Set GID
    • 해당 파일을 소유한 그룹 권한으로 인식
    • 주로 디렉토리에 설정됨
    • 그룹 소유권 부분에서 x자리에 s로 나타남
    • 실행 권한이 없는 경우 S로 표기됨
  • Sticky-Bit
    • 공유 디렉터리로 사용
    • /tmp에 기본 설정
    • 일반 사용자가 자신이 만든 파일만 삭제할 수 있게 함
    • 사용자 권한 부분의 x자리에 t로 표기
    • 실행 권한이 없는 경우 T로 표기

설정

  • chmod를 사용하여 허가권을 설정
  • 숫자 모드나 문자 모드로 설정
  • 문자모드에서 Set-UIDSet-GID는 s로 Sticky-Bit은 t로 표기
  • 숫자모드로는 4, 2, 1 값으로 지정

파일 시스템

파일 관련 명령어

mount

보조기억장치나 파일 시스템이 다른 디스크를 /의 하위 디렉토리로 연결하는 명령어

umount

마운트된 파일 시스템을 해제시키는 명령

$ mount [option] [device] [directory]
$ umount [option] [device or directory_name]

주요 옵션

옵션 내용
-a /etc/fstab에 명시된 파일 시스템을 (언)마운트할 때
-t fs_type 파일 시스템의 유형 지정, 안할 경우 etc/fstab 파일을 참조
-o 항목 추가 설정

파일 시스템 유형

유형 내용
msdos FAT-16
vfat FAT-32
ntfs 윈도우 파일 시스템
ext2, ext3, ext4 리눅스 시스템
iso9660 CD-ROM이나 DVD
nfs 네트워크 파일 시스템

-o 주요 항목

유형 내용
ro 읽기 전용
rw 읽기/쓰기(기본값)
remount 리마운트
loop iso를 마운트할 때
acl ext3 접근제어리스트를 사용

eject

CD-ROM이나 DVD에서 미디어를 제거할 때 사용

$ eject [device or directory_name]

fdisk

디스크 파티션 확인/추가/삭제

$ fdisk [option] [device]

주요 옵션

옵션 내용
-l 현재 디스크의 파티션 리스트
-s partition 특정 파티션 크기 출력(단위: block)
-v fdisk 버전 출력

주요 명령

명령 내용
p 현재 디스크 정보 출력
d 파티션 삭제
n 파티션 생성
t 파티션 속성 변경
w 변경된 파티션 정보 저장하고 종료
q 변경된 파티션 정보 저장하지 않고 종료

mkfs

새로운 파일 시스템 생성하는 명령어 (make filesystem)

root만 사용 가능, 기본 생성 유형은 ext2

$ mkfs [-t fs_type] [option] device

주요 옵션

옵션 내용
-t fs_type 파일 시스템 유형 지정
-c 배드 블록 체크 후 파일 시스템 구축
-v 결과를 상세히 출력

mke2fs

ext2, ext3, ext4 파일 시스템을 만드는 명령으로 최근 리눅스에서 mkfs 명령 시 사용됨.

별도 지정 없을 시 ext2로 생성

$ mke2fs [option] device

주요 옵션

옵션 내용
-j 저널링 파일 시스템인 ext3로 생성
-t fs_type 파일 시스템 유형 지정
-b block_size 블록 사이즈 지정
-R raid_options RAID관련 옵션으로 argument=값 형태로 지정

fsck

리눅스 파일 시스템을 검사하고 수리(filesystem check)

임시로 /lost+found 디렉토리에서 작업을 수행한다.

e2fsck

ext2, ext3, ext4를 검사하고 수리하는 명령으로, 현재 리눅스 배포판에서 fsck를 사용하면 실행된다.

$ fsck [option] device
$ e2fsck [option] device

e2fsck 옵션

옵션 내용
-n 특정 상황에 대한 물음에 ‘no’라 인식시켜 처리
-y 특정 상황에 대한 물음에 ‘yes’라 인식시켜 처리
-c 배드 블록을 체크
-f 깨끗한 파일 시스템까지 강제 체크

df

disk free 현재 마운트된 디스크 크기, 사용량, 남아 있는 용량 등에 대한 정보 출력

du

disk usage 파일이나 디렉토리들이 디스크에서 차지하는 크기를 출력

$ df [option]
$ du [option] [file]

주요 옵션

옵션 내용
-h 용량의 단위 표시
-k KB단위로 표시
-m MB단위로 표시
-T 파티션 유형 표기(df)
-a 디렉터리 상에 모든 파일 크기 표시(du)
-s 파일들의 전체크기를 합한 값만 표시(du)

fstab

  • 파일 시스템에 대한 다양한 정보를 담고 있는 파일
  • 부팅 시 마운트할 파티션 정보가 기록되어 있음
  • mount, umount, fsck 등의 명령어가 수행될 때 이 파일의 정보를 참조

필드

필드 내용
1 장치명
2 마운트 디렉토리
3 파일 시스템 유형
4 마운트 옵션
5 dump로 백업 시 레벨덤프 사용주기 결정
6 fsck 명령의 순서를 정함

디스크 쿼터

사용자나 그룹별로 사용할 수 있는 디스크 사용량과 파일 생성 개수(I-node)를 제한할 수 있다.

디스크 쿼터 명령어

quotacheck

디스크를 사용하는 파일 시스템을 체크, quota 기록 파일을 가장 최근의 상태로 업데이트 시키는 명령어

$ quotacheck [option] directory_name

주요 옵션

옵션 내용
-a 사용자와 그룹에 대한 쿼터를 체크
-m 마운트를 하지 못할 때 강제로 체크
-f 쿼터 파일 초기 생성 후 인식 안되는 경우 강제로 인식
-u 사용자 쿼터 파일 체크
-g 그룹 쿼터 파일 체크
-c 기존 쿼터 관련 파일을 읽지 않고 새롭게 초기화

edquota

사용자나 그룹에 쿼터를 설정할 떄 사용, 기본 단위는 KB

$ edquota [option]

주요 옵션

옵션 내용
-u 사용자에 대한 쿼터 설정
-g 그룹에 대한 쿼터 설정
-t Soft limit을 초과한 후부터 적용되는 시간제한 설정
-p 특정 사용자 쿼터를 다른 사용자에게 동일한 설정으로 적용

quotaon/off

쿼터 설정을 활성화/비활성화

$ quotaon [option] directory_name
$ quotaoff [option] directory_name

주요 옵션

옵션 내용
-u 사용자 쿼터 활성화
-g 그룹 쿼터 활성화
-v 메시지 자세히 출력

repquota

파일 시스템 단위로 쿼터 설정 정보를 출력

$ repquota [option] [directory_name]

주요 옵션

옵션 내용
-a 쿼터가 설정되어 있는 모든 파티션 정보 출력
-u 사용자 쿼터 정보 출력
-g 그룹 쿼터 정보 출력

quota

사용자 단위로 쿼터 설정 정보를 출력

$ quota

주요 옵션

옵션 내용
-u 사용자 쿼터 정보 출력
-g 그룹 쿼터 정보 출력

setquota

vi편집기를 이용하지 않고 명령행에서 쿼터 설정

$ setquota [option] user block_soft block_hard inode_soft inode_hard
$ setquota -t block_grace inode_grace filesystem

주요 옵션

옵션 내용
-u 사용자 쿼터 설정
-g 그룹 쿼터 설정
-t 유예기간을 설정

Last update : 15 décembre 2022
Created : 14 septembre 2019