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 : GID과 Sticky-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/hda를 ext3로 만들고 아이노드의 크기를 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] : 블록장치의 속성 정보 출력. UUID와 LABEL등을 확인
-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)
'Certification > 리눅스마스터' 카테고리의 다른 글
리눅스 마스터 1급 2차 정리 5 - 패키지 관리 (0) | 2021.11.02 |
---|---|
리눅스 마스터 1급 2차 정리 4 - 프로세스 관리 (0) | 2021.11.02 |
리눅스 마스터 1급 2차 정리 2 - 사용자 관리 (0) | 2021.11.02 |
리눅스 마스터 1급 2차 정리 1 - 리눅스 기초 (0) | 2021.11.02 |
래드햇 아파치 웹 서버 구현 (0) | 2021.04.02 |