클라우드 아카이브

[리눅스] 원하는 파일 검색 본문

OS 및 스토리지/Linux

[리눅스] 원하는 파일 검색

Cloud Engineer 2021. 8. 28. 16:16

개요

리눅스 운영을 하다보면 원하는 파일 명은 알지만 어느 디렉토리에 위치하는지 모르는 경우가 있을 수 있다. 파일 명을 가지고 해당 파일의 위치를 조회하는 방법에 대해 알아보자

find : 파일의 계층 구조를 확인

man 명령어를 통해 find의 메뉴얼을 조회해보면 상단에서 아래와 같은 내용을 확인할 수 있다.

➜  Desktop man find | head -10

FIND(1)                   BSD General Commands Manual                  FIND(1)

NAME
     find -- walk a file hierarchy

SYNOPSIS
     find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
     find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]

NAME 항목을 보면 메뉴얼에서는 find를 walk a file hierarchy라고 정의하고 있다.

이를 한국어로 의역해보면 find는 파일의 계층 구조를 살펴보는 명령어임을 알 수 있다.

find의 기본 문법은 탐색 경로를 지정하고 찾고자 하는 파일 이름을 지정 후, 원하는 옵션을 부여한다.

find {{탐색 시작 경로}} {{찾고자 하는 파일 이름}} {{옵션}}

find 옵션

명령어 및 옵션 설명
find ./ "*.conf" -type {{파일타입}} 현재 디렉토리를 기준으로 지정된 파일타입을 가지는 파일 중에서 conf를 확장자로 가지는 파일을 조회
find ./ "*.conf" -user kdy conf를 확장자로 가지는 파일 중 소유자가 kdy인 파일을 조회
find ./ "*.conf" -group wheel conf 파일 중 소유그룹이 wheel인 파일을 조회
find system | grep xlsx system 디렉토리에서 이름이 xlsx를 포함하는 파일을 조회
find ./ -name tmp -delete tmp 이름을 가진 파일 또는 디렉토리를 탐색 후 삭제

느낀 점

향후에 보안 익명 사용자를 비롯하여 보안취약점을 가진 사용자 및 그룹이 소유하는 파일을 탐색할 때 해당 명령어를 이용하면 유용할 것 같다. 특히 KISA에서 제공하는 권고 보안취약점 패치 가이드를 이행할 때 유용할 것으로 보인다. 또한, delete와 같이 특정 파일을 삭제할 수 있는 옵션의 경우에는 내가 하고자 하는 목적과 결과가 정확히 예상되지 않는 경우 사용하지 않는게 좋겠다.

Comments