개요
find 명령어는 리눅스에서 파일을 검색하는 명령어입니다.
특정 조건을 만족하는 파일들을 찾아서 화면에 출력할 수도 있고, 추가 명령어를 실행하여 처리할 수도 있습니다.
예를들면 파일명에 "hello" 가 들어간 파일들을 모두 검색하거나, 파일을 제외하고 디렉토리만 검색하여 출력하고자 할 때 find 명령어를 사용합니다.
일반적으로 ls 와 grep 을 사용하여 출력하는 방법보다 빠르고 효율적입니다.
사용법
리눅스에서 사용되는 명령어는 모두 대소문자를 구분하니 주의해주세요.
find 명령어에 대한 자세한 설명은 find --help 명령어를 통해 볼 수 있습니다.
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
default path is the current directory; default expression is -print
expression may consist of: operators, options, tests, and actions:
기본 경로는 현재 디렉토리이고, 기본 옵션은 -print 라고 나와있네요.
따라서 아무것도 없이 그냥 find 라고만 입력하면 현재 디렉토리 하위의 모든 디렉토리 및 파일들을 화면에 출력해줍니다.
예제
ex) 현재 디렉토리 하위의 디렉토리만 출력
[root@peterdev test]# find . -type d
.
./peter
./john
[root@peterdev test]#
-type d : 디렉토리 타입
-type f : 파일 타입
ex) 현재 디렉토리 하위에서 대소문자 구분 없이 language로 시작하는 모든 파일 출력
[root@peterdev test]# find . -type f -iname "language*"
./peter/language.python
./peter/language.bash
./peter/language.c
./peter/language.cpp
./peter/language.korean
./peter/language.english
./peter/language.delphi
./peter/language.java
./peter/language.javascript
[root@peterdev test]#
표현식(expression)에는 위 예제에서와 같이 와일드 카드 문자(wild card charactor)를 사용할 수 있습니다.
※ 와일드 카드 문자란?
하나 또는 많은 문자를 나타내는 데 사용될 수 있는 키보드 문자.
일반적으로 운영 체계에서 복수의 파일을 이름으로 지정하는 수단으로 사용된다.
-name "expression" : 대소문자 구분하여 파일명으로 검색
-iname "expression" : 대소문자 구분하지 않고 파일명으로 검색
ex) 현재 디렉토리 하위에서 수정된지 300분 이상 된 파일만 검색
[root@peterdev test]# find . -mmin +300 -type f
./test1.txt
./test2.txt
[root@peterdev test]#
-mmin : 수정시간 기준 (분단위)
-mtime : 수정시간 기준 (일단위)
-cmin : 생성시간 기준 (분단위)
-ctime : 생성시간 기준 (일단위)
ex) 현재 디렉토리 하위에서 크기가 0바이트 이상인 파일만 출력
[root@peterdev test]# ls -l
total 12
drwxr-xr-x 2 root root 4096 May 3 14:27 john
drwxr-xr-x 2 root root 4096 May 3 14:27 peter
-rw-r--r-- 1 root root 33 May 3 14:48 test1.txt
-rw-r--r-- 1 root root 0 May 3 05:13 test2.txt
[root@peterdev test]# find . -size +0c -type f
./test1.txt
[root@peterdev test]#
-size -100c : 100 byte 이하
-size +500k : 500 kbyte 이상
-Peter의 우아한 프로그래밍
여러분의 댓글은 저에게 크나큰 힘이 됩니다. 오류 및 의견 주시면 감사하겠습니다.
'OS > Linux' 카테고리의 다른 글
[Linux] mv 파일 및 디렉토리 이동 (0) | 2018.05.09 |
---|---|
[Linux] find 로 파일 찾아서 지우기 (5) | 2018.05.08 |
[Linux] cp 또는 mv 로 파일 강제로 덮어쓰기 (1) | 2018.05.03 |
[Linux] cp 파일 및 디렉토리 복사 (0) | 2018.05.03 |
[Linux] ls (파일 목록 보기) (0) | 2017.04.03 |