디렉토리에 존재하는 파일을 찾는 명령어이다.
기본형식은 "find [대상디렉토리] -name [파일명]"이다.
[옵션설명]
- -name : 파일명으로 검색한다.
- -iname : -name과 같이 파일명으로 찾으나, 대소문자를 구분하지 않는다. (insensitive)
- -type : 파일타입을 지정한다.
- b : block (buffered) special
- c : character (unbuffered) special
- d : directory
- p : named pipe (FIFO)
- f : regular file
- l : symbolic link
- s : socket
- D: door (Solaris)
- -user : 소유자로 검색한다.
- -perm : 허가권으로 검색한다.
- -size : 파일 크기로 검색한다.
- -exec : 외부명령을 실행한다.
1. 현재 디렉토리에서 test.txt 파일명으로 찾기
예제) find . -name test.txt
2. 대소문자 상관없이 TE 텍스트가 들어간 파일 찾기
예제) find . -iname TE*
3. logs란 이름의 디렉토리 찾기
예제) find . -name logs -type d
4. 파일 사이즈로 검색
- 95k 이상 100k 이하의 파일을 검색한다.
예제) find /etc -size +10k -size -100k
5. 검색한 파일목록을 ls 명령어로 확인하기
- exec 명령어로 외부명령을 실행하며 find 결과가 {}안에 들어가게 된다.
- 끝의 \;(역슬래시 세미콜론)은 외부명령어의 끝을 의미한다.
예제) find /home1 -name "*.txt" -exec {} \;
6. find로 검색시 허가 거부됨(Permission denied)이 뜰 경우
1) 루트에서 파일을 검색하게 되면 Permission denied가 자주 뜰 수 있다. 이 경우 Standard Error 출력을 /dev/null로 버리면 된다. 참고로 /dev/null은 휴지통임.
2) 리눅스/유닉스 I/O Streams numbers
Handle |
Name |
Description |
0 |
stdin |
Standard Input |
1 |
stdout |
Standard Output |
2 |
stderr |
Standard Error |
예제) find / -name *.txt 2>dev/null
'서버 > 리눅스 명령어' 카테고리의 다른 글
[리눅스] vi 에디터에서 텍스트 바꾸기 (0) | 2016.06.08 |
---|---|
[리눅스] vi 에디터 기본 (0) | 2015.12.28 |
[리눅스] sort (0) | 2015.12.09 |
[리눅스] tar, zip (0) | 2015.12.08 |
[리눅스] ls (0) | 2015.11.06 |