존재하는 파일
보통 파일(디렉토리나 디바이스 파일이 아님)
파일 크기가 0 이 아님
파일이 디렉토리
파일이 블럭 디바이스(플로피나 시디롬 등등)
파일이 문자 디바이스(키보드, 모뎀, 사운드 카드 등등)
파일이 파이프
파일이 심볼릭 링크
파일이 심볼릭 링크
파일이 소켓
파일 디스크립터가 터미널 디바이스와 연관이 있음
스크립트의 표준입력([ -t 0 ])이나 표준출력([ -t 1 ])이 터미널인지 아닌지를 확인하는데 쓸 수 있습니다.
테스트를 돌리는 사용자가 읽기 퍼미션을 갖고 있음
테스트를 돌리는 사용자가 쓰기 퍼미션을 갖고 있음
테스트를 돌리는 사용자가 실행 퍼미션을 갖고 있음
파일이나 디렉토리에 set-group-id(sgid) 플래그가 세트되어 있음
디렉토리에 sgid 플래그가 세트되어 있다면 그 디렉토리에서 만들어지는 파일은 파일 생성자의 그룹이 아니라 그 디렉토리 소유자의 그룹에 속하게 됩니다. 이는 워킹그룹이 공유하는 디렉토리에서 유용하게 쓸 수 있습니다.
파일에 set-user-id(suid) 플래그가 세트되어 있음
root가 소유자인 어떤 실행 파일에 set-user-id 플래그가 세트되어 있다면 일반 사용자가 그 파일을 실행시키더라도 root 권한으로 실행됩니다. [1] suid 는 시스템 하드웨어에 접근할 필요가 있는 실행 파일(pppd나 cdrecord 같은)에 유용합니다. suid 플래그가 없다면 이런 실행 파일들은 일반 사용자들이 실행 시킬 수 없습니다.
-rwsr-xr-t 1 root 178236 Oct 2 2000 /usr/sbin/pppd |
스티키 비트(sticky bit)가 세트
보통은 "스키키 비트"라고 알려져 있는 세이브-텍스트-모드(save-text-mode) 플래그는 특별한 형태의 파일 퍼미션입니다. 어떤 파일에 이 플래그가 세트되어 있다면 그 파일은 더 빠른 접근을 위해 캐쉬 메모리에 계속 남아 있습니다. [2] 만약에 디렉토리에 세트되어 있다면 쓰기 퍼미션을 제한합니다. 스티키 비트가 세트되어 있다면 파일이나 디렉토리 퍼미션에 t 가 붙어서 보입니다.
drwxrwxrwt 7 root 1024 May 19 21:26 tmp/ |
자신이 소유자임
그룹 아이디가 자신과 같음
마지막으로 읽힌 후에 변경 됐음
f1 파일이 f2 파일보다 최신임
f1 파일이 f2 파일보다 예전것임
f1 파일과 f2 파일이 같은 파일을 하드 링크하고 있음
"not" -- 앞에서 나왔던 테스트의 의미와 반대(조건이 안 맞으면 참).
예 29-1, 예 10-7, 예 10-3, 예 29-3, 예 A-2 를 보면 파일 테스트 연산자의 사용법을 보여줍니다.
[1] | suid가 걸려 있는 파일은 보안 구멍을 가질 수 있기 때문에 주의해야 합니다. 쉘 스크립트에는 suid 플래그가 아무 영향도 미치지 않습니다. |
[2] | 현대의 유닉스 시스템에서는 스티키 비트가 더 이상 파일에는 쓰이지 않고 오직 디렉토리에만 쓰입니다. |