Linux system 에서 파일을 찾고자 할 떄,

find 함수를 사용하면 찾을 수 있다.


기본적인 사용법은 아래와 같다.

$ find <directory> -name <finding_file_name>


옵션으로 아래와 같이 사용 할 수 있다.

-type f : 파일

-type d : 폴더(directory)

-maxdepth 1 : find 는 기본적으로 하위 디렉토리까지 전부 검사 한다. maxdepth는 하위 몇 디렉토리 까지 검사할 것인지를 설정한다.

-and : 여러개의 조건에 대해 찾고자 할때 -and 옵션과 함께 조건을 추가할 수 있다.

-and ! : 해당 조건이 거짓인 경우에 대해 찾고자 할 때, -and ! 을 사용하면 된다.

-iname : 파일 이름의 대소문자를 고려하지 않고 검색한다.


아래는 예시

$ find . -type f -name 'abc*' -and ! -name 'abc'

(현재 디렉토리로 부터 abc로 시작하는 이름을 가진 파일 중에 파일 이름이 abc는 아닌 것을 찾는다.


xargs와 함께 사용하면, 

디렉토리에서 원하는 파일을 복사/삭제 하기 수월하다

예시

$ find . -type f -name 'abc*' -and ! -name 'abc' | xargs rm -f

(현재 디렉토리로 부터 abc로 시작하는 이름을 가진 파일 중에 파일 이름이 abc는 아닌 것을 찾아 삭제한다.

'Programming > Linux' 카테고리의 다른 글

HandBrakeCLI  (0) 2018.04.06
Linux sed  (0) 2018.02.05
Ubuntu sources.list generation  (0) 2017.09.06
Ubuntu Redshift  (0) 2017.07.02
Linux timezone  (0) 2017.06.20

+ Recent posts