본문 바로가기
CS/Shell scripts

[쉘스크립트/csh] Linux csh 에서 파일 유무 확인하는 방법 / 일반 파일 존재 확인 / 파일 있는지 확인하는 조건 문 작성

by Warehaus 2022. 2. 14.

 

Linux 환경에서 개발/운영을 하다보면 shell script를 이용해 파일 유무를 확인해야 하는 상황이 정말 많이 발생한다.

 

현재 나의 개발환경에서는 csh을 많이 쓰고있으며, 파일 유무를 정말 거의 매일 사용하다시피 한다.

 

이 기능.. 더 이상 검색하지 않기 위해.. 정리해 본다. 

 

일단 기본적인 환경을 구성하기 위한 준비사항은 다음과 같다.

 

1. 확인하고자 하는 파일

2. 파일을 확인하는 스크립트

 

 

touch 명령어를 통해 테스트용 파일을 생성해 준다.

 

touch a

ls -l

 

파일 생성이 확인되면 csh 스크립트 파일을 만들어 아래와 같은 내용으로 테스트를 진행한다.

( shebang 은 꼭 써 주도록 하자. ==> #!/bin/csh )

 

vim b.csh

#!/bin/csh

if ( -e a ) then
	echo "found"
else
	echo "not found"
endif

 

 

외에도 -f 옵션을 사용해서도 확인이 가능하다. ( 디렉토리가 아닌 일반 파일인 경우 )

 

if ( -f a ) then
	echo "found"
else
	echo "not found"
endif

 

추가로 파일 유무 말고도 파일의 권한이나, 소유자를 확인할 때, 조건문 내에서 아래의 유용한 표현식을 사용 가능하다.

 

File status expression

 

d : 디렉토리

e : 파일 존재

f : 파일이 일반 파일의 경우

o : 사용자가 file 소유자인 경우

r : user has read access to the file

w : user has write access to the file

x : user has execute access to the file

z : file is zero bytes long

 

다음 포스팅에서는 directory 유무를 확인하는 csh script 구성해 보겠다.