LINUX
2020.12.31 / 16:52

리눅스 파일 찾기 (파일 및 디렉토리 검색)

금동이
추천 수 3

리눅스에서 특정 이름을 가진 파일이나 디렉토리를 찾고 싶을때는 


find [경로] -name [파일명] 명령어를 사용한다.


입력한 경로를 포함해서 하위 경로에 있는 모든 파일을 검색해 조건에 맞는 파일이나 디렉토리를 찾아준다.


최상위 디렉토리 아래에 있는 모든 경로에서 'test' 라는 이름을 가진 파일이나 디렉토리를 검색해보자.


# find / -name test


 



필자의 경우 총 6개의 파일 및 디렉토리가 나온 것을 확인할 수 있다.


하지만 출력된 목록 중 어떤 것이 파일이고 어떤 것이 디렉토리인지는 현재 상태로 확인할 수 없다.


-type 옵션을 추가해서 test라는 이름의 파일만 검색해보자. (디렉토리 제외)


맨 뒤에 -type f  옵션을 추가하면 test라는 이름의 '파일'만 검색하게 된다.


# find / -name test -type f


 


-type 옵션을 줬을 때와 달리 두 개의 항목만 출력된 것을 확인할 수 있다.


이번에는 -type d 옵션을 주어서 디렉토리만 검색해보자.


6개의 항목 중 2개가 파일이었으니 디렉토리는 4개가 검색될 것이다.


# find / -name test -type d


 


4개의 디렉토리가 검색된 것을 확인할 수 있다.


마지막으로 which 명령어로 test 를 검색해보자.


이는 test라는 이름을 가진 파일 중, '실행 파일'을 검색해준다.



# which test 


 



test 라는 이름을 가진 2 개의 파일 중 한 개가 실행 파일이라는 사실을 확인했다.



참고로 파일명을 쓰는 자리에 # find / -name "test*" 와 같은 형식으로 쓴다면

test로 '시작하는' 모든 파일 및 디렉토리를 검색해준다.


만약 최상위 경로 밑에 있는 test로 시작하는 모든 파일 및 디렉토리를 검색과 동시에 삭제하고 싶다면, 

다음 명령어를 사용하면 된다.


# find / -name "test*" -exec rm {} \;


참고로 알아두자.