Sherry IT Blog

[리눅스] find 명령어 본문

Linux

[리눅스] find 명령어

sherrylover 2022. 2. 22. 11:10
728x90
반응형

파일찾기 명령어 find : 특정 디렉토리를 기준으로 하위 디렉토리를 검색

사용법

find [대상디렉토리] [검색조건] [찾은 후 실행할 작업]



*대상디렉토리 : 찾기 시작하는 디렉토리를 지정

.  -> 현재 디렉토리 이하 검색대상
/  -> 루트디렉토리(파일시스템전체) 이하 검색대상
~id -> 지정된 id의 홈디렉토리 이하를 검색대상으로


*검색조건 : 찾을 조건을 지정

-empty : 비어있는 파일을 찾기
-uid UID : 지정된 UID를 갖는 파일을 찾기
-atime +n : access time이 n일 이전인 파일 찾기
-atime -n : access time이 n일 이내인 파일 찾기
-mtime +n : n일 이전에 변경된 파일 찾기
-mtime -n : n일 이내에 변경된 파일 찾기
-type f : 파일 타입이 f인 파일들찾기
-type d : 파일타입이 d인 디렉토리 찾기
-size n : 사이즈가 n이상인 파일 찾기


*찾은 후 실행할 작업 : 찾은 파일을 어떻게할건지 지정
-print : 찾은 파일의 절대경로명을 화면에 출력
-exec cmd {} \;  :찾은 파일에 대해 command 명령어 실행



**활용 명령어

$ find /dev -type f -print


: /dev 디렉토리 아래에서 파일타입이 f인 파일 찾아서 경로보여주기

$ find . -atime +30 -print

: 30일 이전에 액세스 되었던 파일 찾기


$ find . -name \*.sh -atime +7 -exec ls -l {} \;


: 7일 이전에 액세스된 파일중 *.sh 쉘파일을 찾아 ls -l 한다(파일 목록 출력)


$ find /test -type d -mtime -7 -exec rm -rf {} \;


:/test 디렉토리 아래 7일이내 변경된 디렉토리를 찾아  디렉토리 하위 파일까지 삭제(rm -rf 옵션)
--> 테스트결과 test 폴더까지 삭제되는 대참사가 일어남 rf옵션은 주의하도록..

 

 

$ find / -name hosts

: '/'루트 디렉토리를 시작으로 파일이름이 hosts 인 파일 찾기

 

 

 

$ find / -name hosts -type f -ok rm {} \;

: -ok옵션은 대화형 모드로 삭제 진행_ 파일이름이 hosts인것을 찾아 삭제여부 물어보고 진행

 

 

$ find ~ -mtime -2

: 홈 디렉토리에서 최근 2일동안 수정시간이 바뀐적 있는 파일 찾기

728x90
반응형
Comments