Linux에서 fd 명령을 사용하는 방법

Linux에서 fd는 find 명령의 더 쉬운 대안입니다. 단순화된 구문을 사용하고 합리적인 기본값을 사용하며 상식적인 동작이 내장되어 있습니다. 그 속도를 따라가 봅시다.

fd 대 찾기: 차이점은 무엇입니까?

fd 명령은 대체하기 위한 것이 아닙니다. 기존의 찾기 명령은 영원히 리눅스에 있었어. 대신 fd는 find의 일반적인 사용 대부분을 보다 직접적인 방식으로 만족시키려고 시도하며, find보다 8~9배 더 빠릅니다. 프로젝트의 벤치마크 중 일부를 볼 수 있습니다. GitHub 리포지토리 페이지.

fd는 일부 ls 모드의 출력과 유사한 색상이 지정된 출력을 갖습니다. 재귀적이지만 기본적으로 숨겨진 디렉토리를 검색하지 않습니다. 그것은 알고있다 Git에 대해 또한 “.gitignore” 파일의 모든 패턴을 자동으로 무시합니다.

fd는 기본적으로 대소문자를 구분하지 않습니다. 그러나 검색 패턴에 대문자가 포함된 경우 fd는 대소문자를 구분하는 모드로 작동합니다. 물론 기본값을 무시할 수 있지만 대부분의 경우 사용자에게 유리하게 작동합니다.

fd 설치

Ubuntu 19.04(Disco Dingo)부터 공식적으로 유지 관리되는 패키지를 apt-get으로 호출하여 fd를 직접 설치할 수 있습니다. 이전 버전의 Ubuntu를 실행 중인 경우 다음을 확인하십시오. Git 허브 페이지의 설치 지침.

다음을 입력합니다.

sudo apt-get install fd-find

Ubuntu에서 명령은 다른 기존 유틸리티와의 이름 충돌을 피하기 위한 fdfind입니다. fd가 되도록 하려면 별칭을 설정할 수 있습니다.

alias fd=fdfind

재부팅 후에도 계속 사용할 수 있도록 별칭을 유지하려면 “.bashrc” 또는 “.bash_aliases” 파일에 넣습니다.

Fedora에 fd를 설치하려면 다음 명령을 입력하십시오.

sudo dfn install fd-find

Manjaro에서 다음을 입력합니다.

sudo pacman -Syu fd

fd 대 fdfind

혼동을 피하기 위해 Ubuntu 테스트 PC에 기본 이름인 fdfind를 사용하여 명령을 그대로 두었습니다. fd와 fdfind는 다음 예에서 볼 수 있듯이 완전히 동일한 명령입니다(fdfind에 버전을 표시하도록 요청하면 자체적으로 “fd”라고 함).

fdfind --version

명령을 “fed”라고 부르지만 예제에서는 Ubuntu “fdfind”를 사용합니다. 다른 Linux 배포판에서는 “fdfind” 대신 “fd”를 입력하여 몇 번의 키 입력을 저장할 수 있습니다.

  Linux에서 Vimix GTK 테마를 설치하는 방법

fd를 사용한 단순 검색

명령줄 옵션 없이 fd를 사용하면 기본적으로 하위 디렉터리에 파일을 나열한다는 점을 제외하고는 ls와 약간 비슷하게 작동합니다.

다음을 입력합니다.

fdfind

출력은 파일 유형 및 디렉토리에 따라 다른 색상으로 나타납니다.

특정 유형의 파일을 보려면 -e(확장자) 옵션을 사용하십시오. 확장자 앞에 마침표(.)를 붙일 필요도 없고 대소문자를 구분하지도 않습니다.

예를 들어 다음을 입력할 수 있습니다.

fdfind -e png

이제 나열된 파일은 PNG 이미지 파일뿐입니다.

단일 파일을 찾으려면 다음과 같이 명령줄에 파일 이름을 입력합니다.

fdfind index.page

파일이 발견되어 하위 디렉토리에 있습니다. f에게 재귀적으로 검색하도록 지시할 필요가 없었습니다.

특정 디렉토리에서 검색을 시작하려면 명령줄에 파일 경로를 포함하십시오. 다음 명령은 “/etc” 디렉토리에서 검색을 시작하고 파일 이름에 “passwd”가 포함된 파일을 찾습니다.

fdfind passwd /etc

여기에서 파일 이름에 “coord”가 포함된 모든 C 소스 코드 파일을 검색합니다.

fdfind -e c coord

두 개의 일치하는 파일이 발견되었습니다.

fd와 힘내

Git은 매우 인기가 있습니다. 소스 코드 버전 관리 시스템. 컴퓨터에서 Git을 사용하는 경우 “.gitignore” 파일을 사용하여 Git이 어떤 파일과 관련되어야 하고 어떤 파일을 무시할 수 있는지 알려줍니다. 기본적으로 fd는 “.gitignore” 파일의 설정을 따릅니다.

이 디렉토리에는 Git 저장소와 “.gitignore” 파일이 있습니다. 다음을 입력합니다.

ls -adl .git*

fd에게 파일 이름에 “coord”가 포함된 파일을 나열하도록 요청합시다. 그런 다음 검색을 반복하고 -I(무시하지 않음) 옵션을 사용합니다. 이것은 fd가 “.gitignore” 파일의 설정을 무시하고 일치하는 모든 파일을 보고하도록 지시합니다.

이 모든 작업을 수행하려면 다음을 입력합니다.

fdfind coord
fdfind coord -I

두 번째 결과 집합에 있는 두 개의 추가 파일은 개체 파일입니다. 이들은 파일 프로그램이 컴파일될 때 생성됩니다. 그런 다음 링커에서 프로그램의 최종 실행 버전을 만드는 데 사용합니다.

개체 파일은 일반적으로 소스 코드 버전 제어 프로그램에서 무시됩니다. 프로그램을 컴파일할 때마다 다시 생성되므로 복사본을 저장할 필요가 없습니다. “.gitignore” 파일에는 Git이 개체 파일을 무시하도록 지시하는 항목이 있으며, 기본적으로 fd도 개체 파일을 무시합니다.

  Adobe Creative Cloud란 무엇이며 가치가 있습니까?

-I(무시하지 않음) 옵션은 “.gitginore” 파일에 의해 안내되지 않고 fd가 찾은 모든 것을 반환하도록 합니다.

파일 형식 및 대소문자 구분

fd에게 디렉토리, 파일(실행 가능하고 비어 있는 파일 포함), 심볼릭 링크를 찾도록 요청할 수 있습니다. -t(유형) 옵션 다음에 아래 문자 중 하나를 사용하면 됩니다.

f: 파일.
d: 디렉토리.
l: 심볼릭 링크.
x: 실행 파일.
e: 빈 파일입니다.

다음은 images라는 디렉토리를 찾습니다.

fdfind -td images

일치하는 항목이 발견되었습니다. 현재 디렉토리보다 한 하위 디렉토리가 낮습니다.

대소문자 구분이 검색 패턴에서 어떻게 작동하는지 봅시다. 먼저 파일 이름에 “geo”가 포함된 파일을 검색한 다음 파일 이름에 “Geo”가 포함된 파일을 검색하기 위해 다음을 입력합니다.

fdfind -tf geo
fdfind -tf Geo

첫 번째 명령에서 소문자 검색 패턴을 사용하여 fd가 대소문자를 구분하지 않는 방식으로 작동하도록 했습니다. 이는 “지역”과 “지역”이 모두 유효한 일치 항목임을 의미합니다.

두 번째 명령에는 대문자가 포함되어 있어 fd가 대소문자를 구분하는 방식으로 작동합니다. 이는 “지역”만 유효한 일치 항목임을 의미합니다.

명령 실행

fd 명령을 사용하면 다른 명령을 실행하고 발견된 각 파일에서 실행할 수 있습니다.

우리가 알고 있다고 가정 해 봅시다. 압축 파일 소스 코드 디렉토리 트리 어딘가에 있습니다. ZIP 확장자를 가진 파일을 검색하는 다음 명령을 사용하여 찾을 수 있습니다.

fdfinf -e zip

-x(exec) 옵션을 사용하면 발견된 각 파일을 다른 명령에 전달하여 처리할 수 있습니다. 예를 들어 다음을 입력하여 호출할 수 있습니다. 압축 풀기 유틸리티 ZIP 파일의 압축을 풉니다(“{}”는 찾은 파일을 나타내는 자리 표시자입니다).

fdfind -e zip -x unzip {}

이것은 현재 작업 디렉토리에서 파일의 압축을 풉니다. ZIP 파일이 포함된 디렉토리에서 압축을 풀려면 다음 자리 표시자 중 하나를 사용할 수 있습니다.

{}: 찾은 파일의 전체 파일 경로 및 이름.
{/}: 찾은 파일의 파일 이름입니다.
{//}: 찾은 파일이 포함된 디렉터리입니다.
{/.}: 찾은 파일의 파일 이름(확장자 제외).

  Telegram에서 고정된 메시지를 다시 받는 방법

ZIP 파일이 포함된 디렉터리에서 찾아 압축을 풀려면 unzip -d(디렉터리) 옵션을 사용하고 상위 디렉터리 자리 표시자({//})를 전달할 수 있습니다.

fdfind -e zip -x unzip {} -d {//}

그런 다음 ZIP 파일을 찾고 상위 디렉토리에 압축을 풉니다.

당신의 이동 찾기?

가장 일반적인 용도를 간단하게 다루기 때문에 fd는 쉽게 “찾기” 명령이 될 수 있습니다. 더 고급 기능이 필요할 때마다 언제든지 그 노련한 베테랑에게 돌아갈 수 있습니다.