본문 바로가기
리눅스(Linux)

[Linux] 리눅스 우분투 find 명령어 (디렉토리 및 파일 검색)

by virusuk 2023. 2. 19.
반응형

Linux find 명령어는 Unix 계열 운영체제에서 가장 중요하고 자주 사용되는 커맨드라인 유틸리티 중 하나입니다.

find 명령어는 인수와 일치하는 파일에 대하여, 지정하는 조건에 따라 파일 및 디렉토리 목록을 검색하고 찾는데 사용됩니다.

 

 

find 사용법

$ find [OPTIONS] [PATH...] [EXPRESSION]

$ find [옵션] [경로...] [표현식]

 

 ● [OPTIONS] : 필터링 기준을 정의합니다, 파일/디렉토리의 이름, 권한, 시간 또는 날짜로 검색할 수 있습니다.

 ● [PATH...] : 검색을 시작할 디렉토리를 정의합니다.

 ● [EXPRESSION] : 파일로 수행할 작업을 정의합니다.

 

 

옵션

검색 파라미터 설명

-name, -iname 파일 이름 필터링
-maxdepth 검색 지점의 (1)개의 하위 디렉토리의 깊이만 검색 
-mindepth 검색 시작 지점의 (1)개의 하위 디렉토리를 제외하고  찾음
-type f: a regular file (일반파일)
d: directory (디렉토리)
l: symbolic link (심볼릭 링크)
c: character devices (문자 장치)
b: block devices (블록 장치)
p: named pipe (FIFO)
s: socket (소켓)
-size 파일 사이즈 필터링
-user, -group 소유자 및 그룹으로 필터링
-perm 파일 권한으로 필터링
-exec find 명령어로 찾은 파일에 대하여 원하는 명령어로 적용하여 수행

 

 

find 명령어 예시:

# -L옵션은 심볼릭링크를 지정하고, /var/www (path…) 검색 디렉토리를 지정하고, 
# (expression) -name을 .js로 끝나는 파일을 검색합니다.
$ find -L /var/www -name "*.js"


# 현재 작업 디렉토리에서 이름이 test.txt인 모든 파일을 찾으십시오.
$ find . -name test.txt  


# 현재 home 디렉토리에서 이름이 test.txt인 모든 파일을 찾으십시오.
$ find /home -name test.txt 


# 모든 디렉토리를 검색하기 위해 사용하기 -type 옵션을 사용합니다.
$ find . -type d 


# 모든 파일을 검색하기 위해 사용하기 -type 옵션을 사용합니다.
$ find . -type f 


# "test.txt" 라는 파일을 찾고 제거합니다.
$ find . -type f -name "test.txt" -exec rm -f {} \;


# 777의 권한을 가진 디렉토리를 모두 찾고, chmod 명령을 사용하여 권한을 755로 설정합니다.
$ find / -type d -perm 777 -print -exec chmod 755 {} \;
반응형