find
리눅스나 유닉스 시스템은 GUI방식의 운영체제가 아니므로 종종 어떤 파일일 찾아야 할 때 어디에 있는지
쉽게 알지 못할 때가 있습니다. 이럴 때 쓰이는 명령어가 find라는 명령어로서 윈도우 95나 98등에서
[시작→찾기]에 해당하는 기능이라고 할 수 있습니다. 윈도우에서도 이 찾기 기능을 이용하여 특정날짜에
해당하는 파일이나 특정 파일 사이즈에 해당하는 파일이나 특정이름을 가진 파일들을 찾을 수 있듯이
find라는 명령어에도 다양한 옵션이 있습니다.
find 명령어의 형식은 다음과 같습니다.
$find [찾을 디렉토리 경로] [찾기 옵션] [찾은 후 행할 작업]
[찾을 디렉토리경로]에는 다음과 같은 것들이 있다................................................................................
· : 현재 디렉토리 이하
/ : 루트디렉토리 이하(파일 시스템 전체)
~ ID : 특정ID의 홈디렉토리 이하
[찾기 옵션]에는 ㄴ다음과 같은 것들이 있다
-empty : 비어 있는 파일
-gid n : 특정 gid를 갖는 파일 (n:특정 gid)
-group gname : 특정 group에 속한 파일(gname : group 명)
-name : 지정한 형식을 갖는 파일 이름
-newer : 특정 파일 이후에 생성된 파일
-perm : 특정 허가모드를 가지고 있는 파일
-uid n : 특정 uid를 갖는 파일 (n : 특정 uid)
-used n : 최근에 n일 이후에 변경된 파일 ( n : 일수)
-user : 특정파일을 소유하고 있는 소유자의 파일
[찾은 후 행할 작업]에는 다음과 같은 것들이 있다.
-print : 가장 많이 쓰는 옵션으로 찾은파일을 보여줌
-exec : 찾은 파일들에 대해 특정명령을 수행
.....................................................................................................................................................................................
위의 예는 루트디렉토리 (/)부터 uid가 504인 파일을 찾아서 보여달라(· print)는 명령어입니다.
위의 명령어는 특정가입자 (sspark)의 홈디렉토리 (~sspark)이하 (/home/sspark 이하)에 존재하는
shtml 로 끝나는 파일을 찾아서 보여달라는 명령어입니다.
위의 명령어는 특정가입자의 홈디렉토리 (~sspark)이하에 존재하는 doc로 끝나는 (*.doc)파일을 찾아서 묻지말고 (-f) 지워(rm) 버리라는 명령어입니다.
which
find가 특정파일을 찾아주는 명령어인 데 비해 which라는 명령어는 특정 명령어의 위치가 어디인지를 찾아주는 명령어입니다.
리눅스나 유닉스 등에서는 명령어의 위치를 모두 기억하기 어려우므로 이 명령어를 활용하여 찾고자하는
명령어의 위치를 확인할 수 있습니다.
아래의 예는 perl 등으로 프로그램된 CGI를 설치할 때 많이 쓰이는 perl의 경로를 확인하는 것입니다.
whereis란 명령어도 이와 유사한 기능을 갖는데 다른점은 패스에 해당하는 모든 디렉토리를 뒤져서
해당 명령어를 찾아 준다는 점입니다.
참고로 whatis란 명령어는 which나 whereis가 명령어의 위치를 찾아주는 데 비해 해당 명령어가 무엇을
하는 것인지 간단하게 보여줍니다.
댓글 없음:
댓글 쓰기