file types
파일타입은 ls 명령어로 확인할수 있다.
ex) ls -l /etc/passwd ; ls -ld /etc ...
출력결과중 첫칼럼이 파일타입.
- : 정규파일 - 아래 몇가지 타입을 제외한 모든 파일은 정규파일이다.
바이너리 코드값이나 아스키코드값등이 저장되어 있는 파일
- 편집기나 컴파일러 등으로 생성할수 있다.
d : 디렉토리파일
파일명과 파일의 inode number 값이 저장되어 있는 파일(파일내용은 디렉토리에 저장되지 않는다)
디렉토리의 크기는 디렉토릭내의 파일크기와는 무관하다.
mkdir 명령어로 생성한다.
l : 링크파일
- 원본파일의 경로가 저장되는 파일.
*. 링크파일의 퍼미션은 항상 rwxrwxrwx.(형식적임)
(링크파일의 실제 퍼미션은 원본파일의 퍼미션을 따른다)
[root /tmp/test]# ln -s /etc/issue issue
[root /tmp/test]# ls -l
lrwxrwxrwx 1 root root 10 10월 23 17:50 issue -> /etc/issue
issue 파일의 데이터블럭에 저장된값은 /etc/issue 이므로 10byte 크기이다.
링크파일을 지워도 원본파일은 지워지지 않는다.
링크파일을 수정하거나 내용을 읽게되면 원본이 수정되거나 읽혀진다.
링크파일은 아래처럼 디렉토리를 대상으로 만들수도 있다.
[root /tmp/test]# ln -s /etc/sysconfig/network-scripts network
[root /tmp/test]# ls -l
lrwxrwxrwx 1 root root 10 10월 23 17:50 issue -> /etc/issue
lrwxrwxrwx 1 root root 30 10월 23 17:50 network -> /etc/sysconfig/network-scripts
[root /tmp/test]#
장치파일은 block 장치파일과 characer 장치파일이 있으며 입출력 단위에 따라 구분된다.
입출력이 블록단위로 이루어지는것은 블록장치파일이며 character 장치파일은 입출력 단위가
byte 단위이다.
그리고 장치파일은 major number 및 minor number 값이 저장되어 잇는 파일이다.
b : block 장치파일
brw-r----- 1 root disk 8, 3 10월 23 17:03 /dev/sda3 (8 : major number, 3:minor number)
# ls -l /dev/pts/1
crw--w---- 1 root tty 136, 1 10월 23 18:14 /dev/pts/1
터미널 장치는 문자장치파일이다.
*. 장치파일을 생성하는 명령은 mknod 이다.(옵션은 mknod --help 참조)
하드링크
- 원본과 같은 데이터블럭,같은 inode table 을 사용하는 파일.
그러므로 원본과 링크파일은 구분할 수 없다. 항상 똑같은 내용, 똑같은 속성을
갖는 파일이다.
하드링크는 항상 똑 같은 내용과 속성을 갖고 있어야 하는 파일인 경우에 필요하다.
하드링크 생성방법
ln 소스파일 링크파일
[root /tmp/test]# ln a.txt b.txt
[root /tmp/test]# ls -l
합계 8
-rw-r--r-- 2 root root 6 10월 23 18:21 a.txt
-rw-r--r-- 2 root root 6 10월 23 18:21 b.txt
[root /tmp/test]# ln b.txt c.txt
[root /tmp/test]# ls -l
-rw-r--r-- 3 root root 6 10월 23 18:21 a.txt
-rw-r--r-- 3 root root 6 10월 23 18:21 b.txt
-rw-r--r-- 3 root root 6 10월 23 18:21 c.txt
*. 링크걸때 마다 하드링크 카운터가 증가한다.
[root /tmp/test]# ls -i
2781371 a.txt 2781371 b.txt 2781371 c.txt
--> 하드링크는 같은 데이터블럭을 사용한다.
(또한 같은 inode table 을 사용한다)
[root /tmp/test]# rm a.txt
rm: remove 일반 파일 `a.txt'? y
[root /tmp/test]# ls -l
합계 8
-rw-r--r-- 2 root root 6 10월 23 18:21 b.txt
-rw-r--r-- 2 root root 6 10월 23 18:21 c.txt
*. 하드링크 파일을 삭제하더라도 링크걸린 다른 파일은 같이 삭제
되지는 않으며 하드링크 카운터가 감소한다.
'이카루스의 날개 > LINUX' 카테고리의 다른 글
파일시스템 점검 및 복구 (0) | 2013.12.31 |
---|---|
리눅스 마운트 예제 및 스왑영역 추가 (0) | 2013.12.31 |
파일시스템 생성작업 (0) | 2013.12.26 |
리눅스 파일시스템 및 마운트 (0) | 2013.12.26 |
작업예약 schedule - cron / at (0) | 2013.12.23 |
댓글