디렉토리에 존재하는 파일을 찾는 명령어이다.

기본형식은 "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
Posted by SungHoon, Park
,