글 수 367
◈ 파일에 대한 기본 지식
사용자가 하나의 파일을 생성 하였을 때 시스템은 다음과 같이 파일에 대한 모든 정보를 저장한다.
- 파일의 저장 위치
- 파일의 유형
- 파일의 크기
- 파일의 소유자과 그룹
- 마지막으로 변경된 시간
- 파일의 권한
이러한 정보는 `ls -l' 이라는 쉘 명령어를 통해 살펴 볼 수 있다.
$ ls -l
total 64
-rw-r-r- 1 dhyoo doctor 50348 Dec 10 1997 inel.jpg
-rwxr-xr-x 1 dhyoo doctor 13973 Dec 10 1997 install.sh
그럼, 이제 `ls -l' 명령어로 나타난 각각의 정보의 의미를 살펴보자.
- total 64
- 이 부분은 현재 디렉토리에 파일들이 차지하고 있는 크기를 나타낸다.
- -rwxr-xr-x
- 이 부분은 파일의 접근 권한을 나타낸다. 처럼 비트의 '-'는 파일의 유형을 나타내고 그 다음의 9 비트는 세
비트씩 사용자, 그룹, 다른 사용자의 권한을 각각 나타낸다.
rwx 사용자 처음 세 비트
r-x 그룹 두번째 세 비트
r-x 기타 다른 사용자 마지막 세 비트 - 1
- 하드 링크된 파일의 갯수를 나타낸다.
- dhyoo
- 실제 파일의 소유자를 나타낸다.
- doctor
- 소유자가 속한 기본 그룹을 나타낸다.
- 13973
- 파일의 크기를 byte로 나타낸다.
- Dec 10 1997
- 파일이 마지막으로 변경된 날짜와 시간을 나타낸다.
- install.sh
- 실제 파일의 이름을 나타낸다.
위에서 권한을 나타내는 비트중의 첫번째 비트가 파일의 유형을 나타낸다고 했었다. 그러면, 파일의 유형에는 어떤 것들이 있는가? 유닉스 시스템의 파일 유형은 다음과 같다.
- d
- 디렉토리
- l
- 심볼릭 링크 (symbolic link) (다른 파일로의 포인터)
- s
- 도메인 소켓 (domain socket)
- b
- 특수 블럭 파일 (special block file)
- c
- 문자 파일 (character special file)
- p
- 이름이 있는 파이프 파일 (named pipe file)
- -
- 보통 파일 (정확히 말하면 위에 속하지 않은 파일)