320x100
320x100

Chapter 2. 파일 관리

 

소유권(Ownership) : 파일이나 디렉터리를 소유하여 지배하는 권리

허가권(Permission) : 파일이나 디렉터리에 접근 권한을 설정하는 권리

 

 

파일의 종류 : -(일반파일), l(링크파일), c(캐릭터 디바이스), s(소켓), d(디렉터리), b(블록 디바이스), p(named pipe)

Set-UID : 파일 실행시 소유자 권한으로 실행 (4)

Set-GID : 파일 실행시 소유그룹 권한으로 실행 (2)

Sticky-Bit : 디렉터리에 설정되는 특수 권한. 일종의 공유 디렉터리로 사용 (1)

 

 

 

chmod [option] mode 파일 : 파일이나 디렉터리의 허가권 설정

-R : 하위 디렉터리를 포함한 디렉터리 내 모든 파일 접근권한 변경 (--recursive)

-c : 변경된 정보 출력 (--changes)

-f : 중요한 오류 메시지가 아니면 미출력 (--slient, --quote)

-v : 결과에 대해 자세히 출력 (--verbose)

--version : 명령어의 버전 정보

ex) chmod 3070 /project : GIDSticky-Bit까지 설정

ex) chmod r go-rwx * : 하위 디렉터리를 포함한 모든 파일에 대해 설정

 

 

 

chown [option] owner[:group] 파일 : 파일이나 디렉터리의 허가권 설정

-chmod와 옵션 동일

ex) chown posein:yuloje aa.txt : 파일의 소유자를 posein으로, 소유그룹을 yuloje로 설정

ex) chown 500 bb.txt : 파일의 소유자를 uid 500인 사용자로 설정

 

 

 

chgrp [option] group 파일 : 파일이나 디렉터리의 소유그룹 변경

-chmod와 옵션 동일

-h : 심볼릭 링크 파일 자체의 그룹 소유권 변경 (--no-dereference)

ex) chgrp admin aa.txt : 파일의 그룹 소유권을 admin으로 변경

ex) chgrp R ihd ~posein : posein 사용자의 홈 디렉터리를 포함한 모든 파일이나 디렉터리 그룹 소유권을 ihd로 변경

 

 

 

umask [option] : 파일이나 디렉터리 생성시 부여되는 기본 허가권 설정

-S : umask값을 문자로 표기

 

파일 시스템 : 운영체제가 파일을 관리하기 위한 시스템. 포맷을 통해 구축.

 

 

mount [option] [device] [directory] : 장치를 사용하기 위한 마운트

-a : /etc/fstab에 명시된 파일 시스템 마운트

-t 파일시스템 : 파일 시스템 명시

-o 항목 : 마운트시 추가 설정

주요 파일 시스템 : msdos, vfat, ntfs, ext2, etx3, ext4, xfs, iso9660, smbfs, cifs, nfs, udf

 

 

mount o 항목

ro (읽기 전용) / rw(읽기/쓰기)

remount(재마운트)

loop(loop 디바이스 마운트. iso 마운트)

noatime(파일 변경전까지 Access Time 미변경)

username=사용자명(smb처럼 사용자 계정이 필요한 경우)

password=암호(패스워드 설정)

acl(ext3의 접근 제어 리스트 사용시)

ex) mount t ext4 o ro /dev/sdb1 /mnt

ex) mount t iso9660 o ro,loop /root/Cent.iso /media

 

 

 

umount [option] 디바이스명 : 마운트된 파일 시스템 해제

-a : /etc/fstab에 명시된 파일 시스템 언마운트

-t 파일시스템 : 언마운트할 파일 시스템 설정

 

 

 

fdisk [option] [장치파일명] : 디스크 파티션 확인/추가/삭제. 반드시 재부팅

-l [장치파일명] : 지정한 장치 파일의 테이블 정보 출력. 기본값으로 /proc/partitions의 정보를 기반으로 출력

-s 파티션 : 특정 파티션의 크기를 block 단위로 출력

-v : 명령어 버전 출력

 

 

fdisk 주요 명령어

p : 현재 디스크의 정보 출력

d : 파티션 삭제

n : 파티션 생성

t : 파티션 속성변경. 82(Swap), 83(Linux), 8e(Linux LVM), fd(Raid)

w : 변경된 파티션의 정보 저장 및 종료

q : 저장하지 않고 종료

 

 

 

mkfs [-t 파일시스템] [option] 장치명 : 파일 시스템 생성

-t 파일시스템 : 파일 시스템 지정. 기본값 ext2

-c : 배드블록 체크 후 파일 시스템 생성

-v : 상세한 결과 출력

 

 

 

mke2fs [option] 장치명 : ext2~ext4 파일 시스템 생성. mkfs시 실제 사용되는 명령어

-i : 저널링 파일 시스템인 ext3

-t 파일시스템 : 파일 시스템 지정

-b 블록사이즈 : 블록 사이즈 지정. 1024, 2048, 4096으로 지정 가능

-R 레이드_옵션 : argument=값 형태로 레이드 옵션 지정

-T 타입 : 아이노드 크기 지정. news (4k), largefile (1m), largefile4 (4m)

ex) mke2fs j T largefile /dev/hda7 : /dev/hdaext3로 만들고 아이노드의 크기를 1MB로 지정

최근 배포판에서는 mkfs.ext2 등 명령어로 생성가능

 

 

 

fsck [option] 장치명 : 파일 시스템 검사 및 수리

-a : 확인질문 없이 수행

-r : 명령 수행에 대한 확인 질문. 여러개의 fsck가 병렬모드로 작동시 유용

-A : /etc/fstab에 정의된 모든 파일 시스템 체크

-P : -A 사용시 루트 파일 시스템을 다른 파일 시스템과 병렬로 체크

-R : -A 사용시 루트 파일 시스템의 체크를 생략

-N : 실행하지 않고 어떤 것이 실행되는지 출력

-T : 검사를 시작할 때 제목 미출력

-s : fsck 동작을 시리얼화. 대화형 모드에서 여러 파일 시스템 점검시 유용

-V : 실행되는 각 파일 시스템용 명령을 포함하 자세한 출력

-v : 버전정보 출력

-t 파일시스템 : 점검할 파일 시스템 유형 지정. no를 붙이면 해당 항목을 제외한 모든. -A 옵션시 /etc/fstab에 맞는것만.

 

 

 

e2fsck [option] 장치명 : ext2~ext4에 대한 검사 및 수리. fsck 실행시 실제 사용되는 명령어

-n : 질문에 대해 no

-y : 질문ㅇ 대해 yes

-c : 배드블록 체크

-f : 강제적인 체크

 

 

 

df [option] : 마운트된 디스크의 크기, 사용량, 남아있는 용량등 출력

-h : 용량 단위 표시 (--human-readable)

-k : 킬로바이트 단위 표시

-m : 메가바이트 단위표시

-T : 각 파티션에 대한 파일 시스템 유형 출력 (--print-type)

-i : 아이노드 사용량 표시

 

 

 

du [option] [파일명] : 파일이나 디렉터리들이 디스크에서 차지하고 있는 크기 출력

-h : 용량 단위 표시

-b : 바이트 단위 표시

-k : 킬로 바이트 단위 표시

-m : 메가 바이트 단위 표시

-a : 디렉터리에 존재하는 모든 파일에 대해 각각 크기 출력

-s : 파일들의 전체 크기를 합한 값 출력 (--summerize)

ex) du sh ~posein : posein 사용자의 총 사용량

 

 

 

dd if=입력파일 [conv=conversion type] of=출력파일 [bs=] [count=] [skip=]

: data dumper의 약자로 디스크를 이미지 형태로 백업하거나 파일의 포맷 변경

if= 입력파일 지정. 장치명이나 이미지 파일.

of= 출력파일 지정. 장치명이나 이미지 파일.

conv= 변환하는 데이터 유형 지정. Icase, ucase

bs= 출력되는 블록사이즈 지정. 한번에 변환하는 블록사이즈

count= 변환되는 블록의 수 지정

skip= 입력파일의 시작되는 블록번호 지정. 데이터를 나누어 이미지를 만들 때 사용

ex) dd if=/dev/sda of=/media/disk1.img bs=1M count=620 skip=621

 

 

 

stat [option] 파일명 : 파일 또는 파일 시스템 관련 정보 출력

-f : 파일 대신 파일이 속한 시스템 관련 정보 출력

-L : 심볼릭 파일인 경우 원본 파일 정보 출력

--print=형식 : %n(파일이름), %U(소유자이름), %G(소유자그룹), %C(SELinux정보), %z(마지막 변경 시간 정보)

 

 

 

/etc/fstab : 파일 시스템에 대한 정보가 저장된 파일. 부팅시에 마운트할 파티션에 대한 정보 기록

첫 번째 필드 (장치명, 볼륨 라벨, UUID, 호스트명:디렉터리)

두 번째 필드 (마운트 포인트)

세 번째 필드 (파일 시스템 유형)

네 번째 필드 (마운트 될 때의 옵션)

다섯 번째 필드 (dump를 통한 백업시 덤프 사용주기, 며칠의 한번 수행 여부)

여섯 번째 필드 (부팅시 파일 시스템을 점검하는 fsck순서)

UUID : 범용 고유 식별자. blkid 명령어를 통해 확인

 

 

 

/etc/mtab : 현재 시스템에 마운트 되어있는 파일 시스템 정보

blkid [option] [device] : 블록장치의 속성 정보 출력. UUIDLABEL등을 확인

-L : 라벨명으로 블록 장치 검색

-U : UUID로 블록 장치 검색

 

 

mkswap [option] 스왑_파일 [size]

mkswap [option] 스왑_파티션 : 스왑 파티션이나 스왑 파일 생성

-c : 파티션 생성 전 배드 블록 검사

 

 

swapon [option] 스왑_파일

swapon [option] 스왑_파티션 : 스왑 파티션이나 스왑 파일 활성화

-a : /etc/fstab 파일에 등록된 모든 스왑 영역 활성화. noauto 옵션이 설정돤 경우 제외

-s : 스왑 영역 상태 출력

 

 

swapoff [option] 스왑_파일

swapoff [option] 스왑_파티션 : 활성화된 스왑 파티션이나 스왑 파일 중지

-a : 모든 스왑 영역 중지

 

 

free [option] : 사용중인 메모리의 상태 출력. /proc/meminfo 파일 기반

-m : 메가 바이트 단위 (--mega)

-k : 킬로 바이트 단위 (--kilo)

-h : 보기편한 단위 (--human)

 

 

dd를 이용한 스왑파일 생성 : dd if=/dev/zero of=/swap-file bs=1k count=1024000

 

mkswap을 이용한 스왑 파일 생성

: mkswap /swap-file 스왑 파일 활성화 /etc/fstab에 등록 (부팅때마다 사용하기 위함)

 

디스크 쿼터 : 사용자 및 그룹에 대한 디스크 사용량 제한. I-node 개수를 제한. (soft=보통 사용량 / hard=최대 사용량)

 

 

quotacheck [option] 디렉터리명 : 디스크를 사용하고 있는 파일 시스템을 체크하여 쿼터 기록 파일 업데이트

aquota.user / apuota.group / quota.user / quota.group

-a : 사용자와 그룹에 대한 쿼터 체크

-m : 읽기 전용 모드 등에 대한 강제 체크

-f : 강제 인식

-u : 사용자 쿼터 파일 체크 (기본값)

-g : 그룹 쿼터 파일 체크

-c : 기존의 생성된 쿼터 관련 파일을 읽지 않고 새롭게 초기화 할 때 사용

 

 

 

edquota [option] : 사용자나 그룹에 대한 쿼터 설정

-u : 사용자에 대한 쿼터 설정 (기본값) (--user)

-g : 그룹에 대한 쿼터 설정 (--group)

-t : soft limit 초과 이후에 적용되는 시간 제한(grace period) 설정 (--edit-period)

-p : 특정 사용자의 쿼터를 다른 사용자에게 동일하게 적용 (--prototype=name)

-h : 명령어의 사용법 등 출력 (--help)

edquota posein -> vi 편집기 실행되어 설정

 

 

quotaon [option] 디렉터리명 / quotaoff [option] 디렉터리명

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

-u / -g / -v

 

 

repquota [option] [디렉터리명] : 설정된 쿼터 정보 출력

-a / -u / -g

 

 

quota [option] : 사용자나 그룹 단위로 쿼터 설정 정보 출력

-u / -g / -h : 주요 옵션 정보

 

 

 

setquota [option] 사용자명 block_soft block_hard inode_soft inode_hard 파일시스템 : 쿼터 설정

setquota t block_grace I-node_grace 파일시스템

-u / -g / -t : 유예 기간(Grace Time) 설정

ex) setquota u yuloje 10000 11000 0 0 /home : soft 10mb hard 11mb 용량 제한. i-node에 대해서는 무제한

쿼터 설정

/etc/fstab 4번째 필드에 usrquota 혹은 grpquota를 기입

/home 파티션으로 분할 되있을 경우 해당 영역에 설정. 아닐 경우 / 에 설정

/home 영역 재마운트 (mount o reount /home)

쿼터파일 생성 및 쿼터체크 (quotacheck mf /home)

사용자에 대한 쿼터 설정 (edquota 이름)

쿼터시작 (quotaon /home)

쿼터 설정 확인 (repquota /home)

 

 

 

파일링크 : 하나의 파일을 여러 개의 이름으로 관리하거나 접근 경로를 단축하는 형태

 

하드 링크

: 하나의 동일한 파일을 디스크의 다른 곳에 배치하여 여러 이름으로 사용하는 방식

: 원본과 링크파일의 내용과 크기가 같고 I-node번호가 같음

: 수정 시 서로에게 반영, 삭제에는 미영향

: 파일만 설정 가능, 동일한 파일 시스템, 파티션, 디스크 드라이브에서만 가능

 

 

심볼릭 링크

: 하나의 파일을 여러 이름으로 가리키게 하는 방식. 원본과 링크파일은 다른 파일로 관리

: 원본과 링크파일의 I-node 번호가 다름

: ls l시 권한 영역 맨 앞에 l 표시

: 수정시 서로에게 반영, 원본 파일 삭제 시 링크 파일 무력화

: 생성시 퍼미션이 777로 지정되나, 원본 파일과는 무관

 

 

 

ln [option] 원본 대상_파일명 : 하드 링크 또는 심볼릭 링크 파일 생성

-s : 심볼릭 링크 생성 (--symbolic)

-v : 링크 만드는 정보 출력 (--verbose)

-f : 링크 파일 존재시 삭제하고 생성 (--froce)

 

300x250
728x90