본문 바로가기
프로그래밍/LINUX , UNIX

linux find 명령어 사용방법 ( linux find )

by 애플 로그 2021. 10. 27.
반응형

linux find 명령어 사용방법 ( linux find )

리눅스에서 find명령을 통해 파일이나 디렉토리를 쉽게 찾을수 있다.

마치 리눅스 환경에서 윈도우 탐색기를 사용해서 파일 찾는것을 생각 하면된다.

 

 

 

1. find 명령어 

 

find [디렉토리경로] -name [file name] ---> 파일 이름으로 검색

find [디렉토리경로] -mtime +n ---> n일 이전에 변경된 파일 검색

find [디렉토리경로] -mtime -n ---> n일 이내에 변경된 파일 검색

find [디렉토리경로] -group [group name] ---> 그룹 이름으로 검색

find [디렉토리경로] -perm nnn ---> 파일 권한이 nnn인 파일을 검색

find [디렉토리경로] -atime +n ---> n일 이전에 access한 파일을 검색

find [디렉토리경로] -atime -n ---> n일 이내에 access한 파일을 검색

find [디렉토리경로] -size nc ---> n byte단위의 단위의 파일을 검색할 때 숫자 뒤에 c를 붙인다

find [디렉토리경로] -links n ---> 링크된 개수가 n인 파일 검색

find [디렉토리경로] -user [user name] ---> 유저 이름으로 검색

find [디렉토리경로] -type [file type] ---> 파일 타입으로 검색

find [디렉토리경로] -size n ---> size가 n이상인 파일들을 블럭단위로 검색

 

 

2. 검색한 파일을 추가로 제어 하고 싶을때

 

-print ---> 찾은 파일의 절대경로를 화면에 출력
-exec [command] {}; ---> 찾은 파일들에 대해 cmd 명령어를 실행

 


3. 사용 예
 

 


$ find /dev -type c -print ---> /dev디렉토리 아래에서 파일 타입이 c인 파일을 찾아 경로명을 보여 준다.

$ find . -perm 700 -print ---> 파일 권한이 700인 파일을 찾아준다.

$ find /user4 -name test* -print ---> /user4 아래에서 파일이름이 test로 시작하는 모든 파일을 찾아서 화면에 보여준다.

$ find /root -name ping -print ---> root 디렉토리 밑에서 파일이름이 ping인 파일을 찾아 절대 경로명을 화면에 출력한다.


$ find . \ ( -perm 400 -o -perm 200 ) -print ---> 파일 권한이 400인 파일과 200인 파일을 찾아준다.
(주의 : "\"의 앞뒤에 space 가 반드시 있어야 한다.)

$ find /usr -name *.c -print ---> /usr 밑에 이름이 .c로 끝나는 모든 파일들을 찾아 경로명을 보여준다.

$ find /home -name who.txt -print ---> home 디렉토리 아래에 who.txt라는 파일을 찾아 경로명을 보여준다.

$ find . -type d -print ---> 파일 타입이 d인 파일을 찾아 경로명을 화면에 출력한다.

$ find . -size +500k -print ---> 파일의 블럭 크기가 500k 이상인 파일을 찾아준다.

$ find . -name core -size +2048 -print ---> 파일 이름이 core이고 크기가 2048블럭 이상인 파일을 찾아준다.

$ find . -mtime -7 -print ---> 7일 이내에 수정된 적이 있는 파일을 찾는다.

$ find . -name core -exec ls -l {} \; ---> 이름이 core인 파일을 찾아서 ls -l 한다.

$ find . -name \*.c -atime +30 -exec ls -l {} \; ---> 30일 이전에 억세스된 파일 중 *.c를 찾아 ls -l 한다.

$ find . -user unix01 -print ---> 파일 소유자가 unix01인 파일을 찾아준다.

$ find . -name core -exec rm -i {} \; ---> 현재 디렉토리 밑에서 이름이 core인 파일을 찾아 지운다(지우기 전에 정말 지울 지를 물어본다.)

$ find . -group unix -print ---> 사용자그룹이 unix인 파일을 찾아준다.

$ find . -atime +30 -print ---> 30일 이전에 억세스되었던 파일을 찾는다.

 

 

EX) 일주일 이전에 수정된적이 있는 파일

 

 

댓글