기계적 인조 인간

리눅스에서 명령어 찾기

The Refractive Thinker Vol. I: Chapter 10 Dr. Cheryl Lentz F

The Refractive Thinker Vol. I: Chapter 10 Dr. Cheryl Lentz F

차례:

Anonim

Linux에서 작업 할 때 가장 일반적인 작업 중 하나는 파일과 디렉토리를 검색하는 것입니다. Linux 시스템에는 가장 많이 사용되는 파일을 find 수있는 몇 가지 명령이 있습니다.

locate 명령은 이름으로 파일과 디렉토리를 검색하는 가장 빠르고 간단한 방법입니다.

이 자습서에서는 locate 명령을 사용하는 방법을 설명합니다.

locate 설치 (locate 명령을 찾을 수 없음)

배포 및 시스템 프로비저닝 방법에 따라 찾기 패키지가 Linux 시스템에 사전 설치되었거나 설치되지 않았을 수 있습니다.

locate 유틸리티가 시스템에 설치되어 있는지 확인하려면 터미널을 열고 locate Enter Enter 누르 Enter . 패키지가 설치되면 시스템은 locate: no pattern to search for specified . 그렇지 않으면 locate command not found .

locate 가 설치되어 있지 않으면 배포판의 패키지 관리자를 사용하여 쉽게 설치할 수 있습니다.

우분투와 데비안에 설치하십시오

sudo apt update sudo apt install mlocate

CentOS 및 Fedora에 설치 locate

sudo yum install mlocate

직장을 locate 방법

locate 명령은 updatedb 명령으로 생성 된 데이터베이스 파일을 통해 주어진 패턴을 검색합니다. 찾은 결과는 한 줄에 하나씩 화면에 표시됩니다.

mlocate 패키지를 설치하는 동안 24 시간마다 updatedb 명령을 실행하는 cron 작업이 작성됩니다. 이를 통해 데이터베이스가 정기적으로 업데이트됩니다. cron 작업에 대한 자세한 정보는 /etc/cron.daily/mlocate 파일을 확인하십시오.

sudo 권한을 가진 루트 또는 사용자로 updatedb 명령을 실행하여 데이터베이스를 수동으로 업데이트 할 수 있습니다.

sudo updatedb

파일 및 디렉토리 수와 시스템 속도에 따라 업데이트 프로세스에 다소 시간이 걸립니다.

데이터베이스 업데이트 후 생성 된 파일은 찾기 결과에 표시되지 않습니다.

파일 시스템을 검색하는보다 강력한 find 명령과 비교하여, locate 는 훨씬 빠르게 작동하지만 많은 기능이없고 파일 이름으로 만 검색 할 수 있습니다.

locate 명령을 사용하는 방법

locate 명령의 구문은 다음과 같습니다.

locate PATTERN…

가장 기본적인 형태로, 옵션없이 사용하면 locate 명령은 검색 패턴과 일치하고 사용자에게 읽기 권한이있는 모든 파일 및 디렉토리의 절대 경로를 인쇄합니다.

예를 들어 .bashrc 라는 파일을 검색하려면 다음을 입력하십시오.

locate.bashrc

출력은 이름에 문자열 .bashrc 를 포함하는 모든 파일의 이름을 포함합니다.

/etc/bash.bashrc /etc/skel/.bashrc /home/linuxize/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc

/root/.bashrc 파일은 /root 디렉토리에 대한 액세스 권한이없는 일반 사용자로 명령을 실행했기 때문에 표시되지 않습니다.

결과 목록이 길면 가독성을 높이기 위해 출력을 less 명령으로 파이프 할 수 있습니다.

locate.bashrc | less

locate 명령은 또한 와일드 카드 문자 * 와 같이 글 로빙 문자가 포함 된 패턴을 허용합니다. 패턴에 globbing 문자가 포함되지 않은 경우 명령은 *PATTERN* 검색하므로 이전 예제에서 검색 패턴을 이름으로 포함하는 모든 파일이 표시되었습니다.

와일드 카드는 0 개 이상의 문자를 나타내는 데 사용되는 기호입니다. 예를 들어 시스템에서 모든 .md 파일을 검색하려면 다음을 사용하십시오.

locate *.md

검색 결과를 제한하려면 -n 옵션을 사용하고 표시하려는 결과 수를 사용하십시오. 예를 들어 다음 명령은 모든 .py 파일을 검색하고 10 개의 결과 만 표시합니다.

locate -n 10 *.py

기본적으로 locate 대소 문자 구분 검색을 수행합니다. -i ( --ignore-case ) 옵션 tel은 대소 문자를 무시하고 대소 문자를 구분하지 않는 검색을 실행합니다.

locate -i readme.md

/home/linuxize/p1/readme.md /home/linuxize/p2/README.md /home/linuxize/p3/ReadMe.md

일치하는 모든 항목의 수를 표시하려면 -c ( --count ) 옵션을 사용하십시오. 다음 명령은 이름에 .bashrc 를 포함하는 모든 파일의 수를 반환합니다.

locate -c.bashrc

6

기본적으로, locate 는 찾은 파일이 여전히 파일 시스템에 있는지 여부를 확인하지 않습니다. 최신 데이터베이스 업데이트 후 파일을 삭제 한 경우 파일이 검색 패턴과 일치하면 검색 결과에 포함됩니다.

locate 실행시 존재하는 파일 이름 만 표시하려면 -e ( --existing ) 옵션을 사용하십시오. 예를 들어 다음은 기존 .json 파일 만 반환합니다.

locate -e *.json

locate --regex -i "(.mp4|\.avi)"

결론

locate 명령은 파일 시스템에서 이름이 주어진 패턴과 일치하는 파일 및 디렉토리를 검색합니다. 명령 구문은 기억하기 쉽고 결과는 거의 즉시 표시됩니다.

locate 명령 유형 man locate 의 사용 가능한 모든 옵션에 대한 자세한 정보는 터미널에서 man locate 십시오.

터미널 찾기