🚀 94sssh
Published on

2025.08.30

[모두의 리눅스] - 06. 파일 검색 및 명령어 사용법

6.1. 파일을 찾는 방법

find 명령어: 디렉터리 트리에서 파일 찾기

find <검색할 디렉터리> <검색 조건> <액션>

find명령어를 실행하면 <검색할 디렉터리>를 기점으로 검색 조건을 만족하는 파일을 찾아 <액션>을 실행한다. 검색 조건을 지정하지 않으면 지정한 디렉터리 안의 모든 파일과 디렉터리를 대상으로 액션이 실행됨.

$ find . -name file-1.txt -print # .(현재 디렉터리)에서 file-1.txt를 찾아 경로를 출력
# 액션을 지정하지 않으면 -print가 기본값

이름으로 찾기(-name, -iname)

파일 이름을 검색하려면 -name(대소문자 구별), iname(대소문자 비구별)을 지정
파일 이름은 와일드카드로 *로 임의의 문자열을, ?로 임의의 한 문자를 사용할 수 있음. *?를 사용하면 작은따옴표로 감싸야 한다.

파일 형식으로 찾기(-type)

주로 사용되는 파일 형식 세 가지

지정파일 형식
-type f파일
-type d디렉터리
-type l심볼릭 링크
$ find . -type d -print # d로 디렉터리만 검색

검색 조건 여러 개 지정하기(-a)

a(AND)를 사용해 검색 조건을 여러 개 지정할 수 있음. 사용할 때 -a를 생략하고 검색 조건 나열만 해도 작동

$ find . -type f -a -name '*.txt' -print
$ find . -type f -name '*.txt' -print

locate 명령어: 데이터베이스에서 파일 찾기

전용 데이터베이스에서 검색해 find보다 빠르지만 별도로 설치해야 함

$ locate --version
명령어 'locate'() 찾을 수 없습니다. 그러나 다음을 통해 설치할 수 있습니다: # 버전이 출력되면 이미 설치된 것
sudo apt install mlocate
  • 설치
$ sudo apt-get install mlocate # 우분투는 apt-get 명령어로 설치
$ yum install mlocate # CentOS는 yum 명령어로 설치

설치 후 슈퍼 사용자 권한으로 updatedb 명령어를 실행해 데이터베이스를 만든다

$ sudo updatedb

locate [옵션] <검색 패턴>명령어로 파일을 검색할 수 있다. find는 실행할 때마다 디렉터리를 탐색해 시간이 오래 걸리지만, locate는 데이터베이스를 활용해 매우 빠르다.

locate 명령어는 데이터베이스를 하루에 한 번 만들도로 설정되어 다음과 같은 문제가 있을 수 있다.

  • 검색된 파일이 디스크에 존재하지 않을 수 있음
  • 검색되지 않았지만 존재할 수 있음(방금 만든 파일인 경우)

6.2. 명령어 사용법 확인하기

--help 옵션

모르는 명령어의 사용법 확인을 위해 매뉴얼을 참조할 수 있음

리눅스 명령어 대부분은 --help 옵션을 제공함.

$ cat --help
Usage: cat [OPTION]... [FILE]...
Concatenate FILE(s) to standard output.

With no FILE, or when FILE is -, read standard input.

  -A, --show-all           equivalent to -vET
  -b, --number-nonblank    number nonempty output lines, overrides -n
  -e                       equivalent to -vE
  -E, --show-ends          display $ at end of each line
  -n, --number             number all output lines

...

대부분의 도움말은 다음 내용을 포함

  • 사용 방법
  • 명령어 개요
  • 지정 가능한 옵션과 기능
  • 참고 자료

man 명령어: 매뉴얼 출력

man <알고 싶은 명령어>명령어는 지정한 명령어의 온라인 매뉴얼을 출력함

man(manual)은 help보다 자세하며 설정 파일이나 라이브러리에 대한 설명을 포함하고 있음

명령어 이름을 모르는 경우는 man -k <키워드>를 사용해 키워드를 포함하고 있는 명령어를 검색할 수 있음

6.3. 명령어 검색

which [옵션] <명령어 이름>명령어로 명령어 파일의 실제 위치를 확인할 수 있음

$ which cat
/bin/cat

위와 같이 명령어의 전체 경로를 출력해 확인할 수 있음. a옵션을 지정해 같은 이름의 파일을 전부 출력 가능