본문 바로가기
리눅스 관련 옵션 명령어

test 명령어

by 웹하는빡통 2019. 12. 14.

test는 파일 존재유무 / 타입 / 권한을 체크할 때 사용합니다.

조건문이 들어가야할 위치에 test가 광범위하게 사용되고 있습니다.

 

-e 파일이름 - 파일이 존재하는지 여부

-f 파일이름 - 일반파일인지 여부

-b 파일이름 - 파일이 블록파일로 존재하는지 여부

-c 파일이름 - 파일이 캐릭터파일로 존재하는지 여부

-d 파일이름 - 파일이 디렉토리인지 여부

 

dvd는 블록장치이므로 -b로 체크하면 리턴값은 '0'이 됩니다.

$ test -b /dev/dvd
$ echo $?
0

 

console은 캐릭터장치이므로 -c로 체크하면 리턴값은 '0'이 됩니다.

$ test -c /dev/console
$ echo $?
0

 

캐릭터나 블록장치를 -f로 체크하면 아래처럼 '1'을 리턴합니다.

$ test -f /dev/console
$ echo $?
1

 

-g 파일이름 - SGID가 설정되어있는지 여부

-u 파일이름 - SUID가 설정되어있는지 여부

-k 파일이름 - sticky bit가 설정되어있는지 여부

   sticky bit가 설정된 파일/디렉토리는 생성한 유저만이 삭제할 수 있습니다.

 

-h 파일이름 - 파일이 심볼릭 링크인지 여부

-L 파일이름 - 파일이 심볼릭 링크인지 여부

     -h와 -L은 동일한 기능을 수행합니다.

 

-r 파일이름 - 현 프로세스가 파일에 읽기 권한이 있는지 여부.

-w 파일이름 - 파일에 쓰기 권한이 있는지 여부. read-only 파일시스템에서는 쓰기권한이 있어도 쓰기가 안될 수 있습니다.

-x 파일이름 - 파일에 실행 권한이 있는지 여부. 디렉토리에 실행권한이 있으면 cd를 할 수 있습니다.

 

-p 파일이름 - 파일이 이름있는 파이프인지 여부(FIFO)

-s 파일이름 - 파일사이즈가 0 초과인지 여부

-t FileDescriptor - 파일디스크팁터가 현 터미널에서 열렸는지 여부



출처: https://storycompiler.tistory.com/107?category=129476 [아프니까 개발자다]

'리눅스 관련 옵션 명령어' 카테고리의 다른 글

/dev/null 의미  (1) 2019.12.14
CentOS 버전별 명령어(service, chkconfig, 방화벽)  (0) 2019.12.14
리눅스 sed-옵션  (0) 2019.12.14
리눅스 cut명령어  (0) 2019.12.11
파일 비교  (0) 2019.12.05

댓글