명령 줄을 사용하여 Linux에서 파일 및 폴더를 찾는 방법

0
319

00_different_commands_for_finding_items

대부분의 사람들은 그래픽 파일 관리자를 사용하여 Linux에서 파일을 찾습니다 (예 : Gnome의 Nautilus, KDE의 Dolphin 및 Xfce의 Thunar). 그러나 사용하는 데스크탑 관리자에 상관없이 Linux에서 파일을 찾기 위해 명령 행을 사용하는 몇 가지 방법이 있습니다.

01_search_in_nautilus

찾기 명령 사용

“find”명령을 사용하면 대략적인 파일 이름을 알고있는 파일을 검색 할 수 있습니다. 가장 간단한 명령 형식은 현재 디렉토리에서 파일을 검색하고 제공된 검색 기준과 일치하는 서브 디렉토리를 통해 재귀 적으로 검색합니다. 이름, 소유자, 그룹, 유형, 권한, 날짜 및 기타 기준으로 파일을 검색 할 수 있습니다.

프롬프트에 다음 명령을 입력하면 현재 디렉토리에있는 모든 파일이 나열됩니다.

find .

“find”뒤의 점은 현재 디렉토리를 나타냅니다.

02_find_dot_command

특정 패턴과 일치하는 파일을 찾으려면 -name 논의. 파일 이름 메타 문자를 사용할 수 있습니다 (예 : * )이지만 이스케이프 문자 ( )를 각각 앞에 두거나 따옴표로 묶습니다.

예를 들어, Documents 디렉토리에서 “pro”로 시작하는 모든 파일을 찾으려면 cd Documents/ 명령을 사용하여 Documents 디렉토리로 변경 한 후 다음 명령을 입력하십시오.

find . -name pro*

“pro”로 시작하는 현재 디렉토리의 모든 파일이 나열됩니다.

참고 : find 명령은 기본적으로 대소 문자를 구분합니다. 대소 문자를 구분하지 않고 단어 나 구를 검색하려면 -iname find 명령과 함께 사용하십시오. 대소 문자를 구분하지 않는 버전입니다. -name 명령.

03_find_using_name_argument

만약 find 기준과 일치하는 파일을 찾지 못하면 출력이 생성되지 않습니다.

find 명령에는 검색을 구체화하는 데 사용할 수있는 많은 옵션이 있습니다. find 명령에 대한 자세한 정보를 보려면 다음을 실행하십시오. man find 터미널 창에서 Enter를 누르십시오.

Locate 명령 사용

find 명령은 이전에 빌드 된 데이터베이스를 사용하기 때문에 find 명령보다 빠르지 만 find 명령은 모든 실제 디렉토리 및 파일을 통해 실제 시스템에서 검색합니다. locate 명령은 지정된 문자 그룹을 포함하는 모든 경로 이름 목록을 리턴합니다.

데이터베이스는 cron에서 정기적으로 업데이트되지만 언제든지 직접 업데이트하여 최신 결과를 얻을 수 있습니다. 이렇게하려면 프롬프트에서 다음 명령을 입력하십시오.

sudo updatedb

프롬프트가 표시되면 비밀번호를 입력하십시오.

04_updating_locate_database

locate 명령의 기본 형식은 루트에서 시작하여 검색 기준의 일부 또는 전부를 포함하는 파일 시스템의 모든 파일을 찾습니다.

locate mydata

예를 들어, 위 명령은 “mydata”를 포함하는 두 개의 파일과 “data”를 포함하는 하나의 파일을 찾았습니다.

05_using_basic_locate_command

검색 기준이 정확히 포함 된 모든 파일 또는 디렉토리를 찾으려면 -b 다음과 같이 locate 명령을 사용하십시오.

locate -b ‘mydata’

위 명령의 백 슬래시는 글 로빙 문자로, 비 특정 파일 이름의 와일드 카드 문자를 특정 파일 이름 세트로 확장하는 방법을 제공합니다. 와일드 카드는 표현식이 평가 될 때 하나 이상의 문자로 대체 될 수있는 기호입니다. 가장 일반적인 와일드 카드 기호는 물음표 ( ? ), 단일 문자 및 별표 ( * )는 연속 된 문자열을 나타냅니다. 위의 예에서 백 슬래시는 “mydata”를 “* mydata *”로 암시 적으로 대체 할 수 없으므로 “mydata”가 포함 된 결과 만 나타납니다.

06_locate_with_b_option

mlocate 명령은 locate의 새로운 구현입니다. 전체 파일 시스템을 색인화하지만 검색 결과에는 현재 사용자가 액세스 할 수있는 파일 만 포함됩니다. 이동 데이터베이스를 업데이트하면 데이터베이스에 타임 스탬프 정보가 유지됩니다. 이렇게하면 내용을 다시 읽지 않고 디렉토리의 내용이 변경되었는지를 mlocate가 알 수 있으며 하드 드라이브에서 데이터베이스를 더 빠르고 덜 업데이트 할 수 있습니다.

mlocate를 설치하면 / usr / bin / locate 바이너리 파일이 mlocate를 가리 키도록 변경됩니다. mlocate를 설치하려면 Linux 배포판에 포함되어 있지 않은 경우 프롬프트에 다음 명령을 입력하십시오.

sudo apt-get install mlocate

참고 :이 문서의 뒷부분에서 명령 실행 파일이있는 위치를 확인할 수있는 명령을 보여줍니다.

07_installing_mlocate

mlocate 명령은 표준 locate 명령과 동일한 데이터베이스 파일을 사용하지 않습니다. 따라서 프롬프트에 다음 명령을 입력하여 데이터베이스를 수동으로 작성할 수 있습니다.

sudo /etc/cron.daily/mlocate

mlocate 명령은 데이터베이스가 수동으로 작성되거나 스크립트가 cron에서 실행될 때까지 작동하지 않습니다.

08_creating_the_database

locate 또는 mlocate 명령에 대한 자세한 내용을 보려면 man locate 또는 man mlocate 터미널 창에서 Enter를 누르십시오. 두 명령 모두에 대해 동일한 도움말 화면이 표시됩니다.

which 명령 사용

“which”명령은 명령이 실행될 때 호출되는 실행 파일의 절대 경로를 반환합니다. 데스크탑, 패널 또는 데스크탑 관리자의 다른 위치에 프로그램 바로 가기를 작성하기위한 실행 파일의 위치를 ​​찾는 데 유용합니다. 예를 들어, 명령을 입력 which firefox 아래 이미지에 표시된 결과를 표시합니다.

09_using_which_command

기본적으로 which 명령은 첫 번째 일치하는 실행 파일 만 표시합니다. 일치하는 모든 실행 파일을 표시하려면 -a 명령과 함께 옵션 :

which -a firefox

다음 이미지와 같이 한 번에 여러 실행 파일을 검색 할 수 있습니다. 찾은 실행 파일의 경로 만 표시됩니다. 아래 예에서는 “ps”실행 파일 만 발견되었습니다.

10_using_which_command_multiple_programs

참고 : which 명령은 현재 사용자의 PATH 변수 만 검색합니다. 루트 사용자 만 일반 사용자로 사용할 수있는 실행 파일을 검색하면 결과가 표시되지 않습니다.

which 명령에 대한 자세한 내용을 보려면 터미널 창의 명령 프롬프트에서“man which”(따옴표없이)을 입력하고 Enter를 누르십시오.

Whereis 명령 사용

whereis 명령은 명령의 바이너리, 소스 및 매뉴얼 페이지 파일이있는 위치를 찾는 데 사용됩니다. 예를 들어 whereis firefox 프롬프트에서 다음 이미지와 같이 결과가 표시됩니다.

11_using_whereis_command

실행 파일의 경로 만 표시하고 소스 및 매뉴얼 페이지의 경로는 표시하지 않으려면 -b 선택권. 예를 들어 whereis -b firefox 표시 만 /usr/bin/firefox 결과로서. 이는 프로그램의 소스 및 맨 페이지를 검색하는 것보다 프로그램의 실행 파일을 더 자주 검색하기 때문에 편리합니다. 소스 파일 만 검색 할 수도 있습니다 ( -s ) 또는 맨 페이지 ( -m ).

whereis 명령에 대한 자세한 내용을 보려면 man whereis 터미널 창에서 Enter를 누르십시오.

Whereis 명령과 which 명령의 차이점 이해

whereis 명령은 명령에 대한 이진, 소스 및 매뉴얼 페이지의 위치를 ​​표시하는 반면 which 명령은 명령에 대한 이진의 위치 만 표시합니다.

whereis 명령은 이진, 소스 및 man 파일에 대한 특정 디렉토리 목록을 검색하는 반면, where 명령은 현재 사용자의 PATH 환경 변수에 나열된 디렉토리를 검색합니다. whereis 명령의 경우 특정 디렉토리 목록은 명령 매뉴얼 페이지의 FILES 섹션에서 찾을 수 있습니다.

기본적으로 결과가 표시되면 whereis 명령은 찾은 모든 것을 표시하고 which 명령은 찾은 첫 번째 실행 파일 만 표시합니다. 당신은 그것을 사용하여 변경할 수 있습니다 -a which 명령에 대해서는 앞에서 설명한 옵션입니다.

whereis 명령은 명령에 하드 코딩 된 경로 만 사용하므로 원하는 것을 항상 찾지 못할 수도 있습니다. whereis 명령에 대한 매뉴얼 페이지에 나열되지 않은 디렉토리에 설치되어 있다고 생각되는 프로그램을 검색하는 경우 which 명령을 -a 옵션은 시스템 전체에서 발생하는 모든 명령을 찾습니다.