find
# find [경로] [옵션] [검색조건] [action]
옵션
-name : 이름이 ~인 파일 찾기
-user: 사용자가 ~인 파일 찾기
-newer:
-perm: 허가권이 ~인 파일 찾기
-size: 크기가 ~인 파일 찾기
action
(default) 기본값으로 따로 지정하지 않을 경우 실행; 찾은 내용을 출력 | -exec + 명령 + \; | 외부의 명령을 실행 | |
-delete | 찾은 내용을 삭제 |
# find /home -name "*swp" -exec rm { } \;
>> "find /home -name "*swp""을 먼저 실행한 후 실행결과가 rm의 { }인자로 들어가 .swp 파일들이 rm 명령으로 실행되어 파일이 삭제된다. 이 때 -exec와 \;는 외부명령어의 시작과 끝을 표시한다.
# find . -name "*.txt" -print
>> ".txt"로 끝나는 파일을 home 디렉터리에서 시작해서 검색한다. 이 때 검색한 내용을 출력하도록 액션을 지정했다.
which
# which 실행파일이름
환경변수 PATH에 설정된 디렉터리의 바이너리 파일만 찾을 수 있다.
옵션
# which dir
>> dir 바이너리 파일을 절대경로명을 찾아준다.
# which x
>> PATH에 지정되어 있는 위의 디렉터리 내에 x 라는 바이너리 파일이 없기 때문에 없다는 메시지가 뜬다.
whereis
# whereis 실행파일이름
which 보다 보다 다양한 내용을 검색해준다.
옵션
# whereis dir
>> 찾고자 하는 실행파일이 있을 경우 실행 파일의 위치와 소스, man 페이지의 파일 위치까지 검색한다.
# whereis x
>> 찾고자 하는 실행파일이 없을 경우 '입력파일:'까지 출력되고 세부사항은 출력되지 않는다.
locate
# updatedb
# locate 파일이름
파일 목록 데이터베이스에서 파일을 검색한다.
다만, locate 명령어를 사용하기 전에는 updatedb 명령을 1회 실행해야 사용할 수 있다. updatedb 명령을 실행하기 전까지 설치된 실행 파일 중에서 입력받은 파일을 검색하기 때문에 만약 updatedb 명령 실행 이후에 설치된 실행파일이 있다면 한 번 더 updatedb 명령을 실행해줘야한다.
옵션
# locate dir
>> updatedb 명령을 실행하기 전이라 아직 파일 목록 데이터베이스가 업데이트 되어 있지 않기 때문에 찾을 수 없다는 메시지가 출력된다.
# updatedb
>> 파일 목록 데이터베이스에 현재 시스템에 설치된 실행파일들의 리스트를 업로드한다.
# locate dir
>> updatedb 명령을 실행한 후에 실행파일이 업데이트되어 dir이 포함된 파일들이 모두 검색된다.
참고도서: 이것이 리눅스다 with RedHat CentOS 8 (개정판) _우재남 (한빛미디어)
'System > OS - Linux' 카테고리의 다른 글
텔넷(Telnet) 서버 (0) | 2020.11.17 |
---|---|
[Linux/CentOS] 시간 예약 서비스 - cron, at (0) | 2020.10.22 |
[Linux/CentOS] 파일 압축과 파일 묶기 (0) | 2020.10.21 |
[Linux/CentOS] 프로그램 설치 - RPM, DNF (0) | 2020.10.19 |
링크, ln 명령어 (0) | 2020.10.04 |