자택경비대

Bash 파일 테스트 연산자

Programming
  • 아래의 조건이 일치할 경우 참을 반환한다.

-e: 파일이 존재할 경우
-a: -e 와 같다. (deprecated)
-f: 일반 적인 파일일 경우 (디렉토리, 디바이스 드라이버 파일의 경우 거짓)
-s: 파일의 크기가 0이 아닐경우
-d: 디렉토리인 경우
-b: 파일이 블록 디바이스인 경우
-c: 파일이 캐릭터 디바이스인 경우
-p: 파일이 파이프인 경우
-h, -L: 파일이 심볼릭링크인 경우
-S: 파일이 소켓인 경우
-t: fd가 터미널 디바이스와 관련이 있는경우
-r: 읽기 권한이 있는경우
-w: 쓰기 권한이 있는경우
-x: 실행 권한이 있는경우
-g: sgid 플래그가 설정되어 있는경우
-u: suid 플래그가 설정되어 있는경우
-k: stickybit가 설정되어 있는경우
-O: 파일의 소유자인 경우
-G: 파일과 같은 그룹인 경우
-N: 파일이 마지막으로 읽은 후에 수정된 경우
f1 -nt f2: f1 파일이 f2 파일보다 새로운 경우
f1 -ot f2: f1 파일이 f2 파일보다 오래된 경우
f1 -ef f2: f1 파일이 f2 파일과 같은경우 (hardlink)
!: not 연산자, 다른 연산자 앞에 쓰여서 반대 효과를 낼 수 있다.

Reference