Computer >> 컴퓨터 >  >> 체계 >> Linux

fd를 사용하여 Linux 및 macOS에서 파일을 빠르게 찾는 방법

fd를 사용하여 Linux 및 macOS에서 파일을 빠르게 찾는 방법

fd는 find 명령의 더 간단한 대안입니다. 잘린 구문과 축약된 명령 구조를 사용하여 입력한 명령을 짧고 요점으로 유지합니다. 그러나 f를 입력하기 쉽게 만드는 장황함이 부족하여 이해하기가 더 어렵습니다. fd는 또한 기본 찾기 명령보다 더 빠르게 패턴 일치를 실행합니다. Linux 및 macOS에서 fd를 사용하는 방법을 알아보세요.

Linux에 fd 설치

fd는 기본적으로 많은 시스템에서 제공되지 않습니다. 선호하는 패키지 관리자를 사용하여 애플리케이션을 다운로드하고 설치해야 합니다. 그런 다음 터미널 내에서 실행할 수 있습니다.

우분투

Ubuntu Disco Dingo 19.04에서 제공되지만 그렇지 않은 경우 다운로드하여 설치해야 합니다. Ubuntu 및 기타 Debian 기반 Linux 배포판의 경우 다음 명령을 실행하여 프로그램을 다운로드하고 설치하는 것이 좋습니다.

wget https://github.com/sharkdp/fd/releases/download/v7.3.0/fd-musl_7.3.0_amd64.deb
sudo dpkg -i fd-musl_7.3.0_amd64.deb

32비트 버전이나 다른 빌드가 필요한 경우 fd의 GitHub 릴리스 페이지에서 다운로드하세요.

데비안

Debian Buster 이상에서는 공식 Debian 관리 저장소에서 fd를 설치할 수 있습니다.

sudo apt-get install fd-find

페도라

Fedora 28부터는 공식 패키지 버전에서 fd를 설치할 수 있습니다.

dnf install fd-find

아치 리눅스

마찬가지로 Arch 사용자는 공식 저장소에서 f를 가져올 수 있습니다.

pacman -S fd

젠투 리눅스

젠투 사용자는 다음 명령을 사용하여 fd ebuild를 다운로드할 수 있습니다:

emerge -av fd

macOS

macOS를 실행하는 경우 Homebrew를 설치한 다음 아래 명령을 사용하여 fd를 설치하세요.

brew install fd

Linux에서 fd 사용

fd를 사용하여 Linux 및 macOS에서 파일을 빠르게 찾는 방법

fd 명령은 fd pattern의 기본 구조를 가집니다. find . -iname 'pattern' .

파일 이름으로 파일을 검색하려면 다음 명령을 사용하십시오.

fd filename

이것은 하위 디렉토리를 포함하여 사전 설정된 작업 디렉토리 내에서 검색합니다. 특정 디렉토리 내에서 검색하려면 검색어 뒤에 지정하십시오:

fd filename /path/to/search

결과에 대한 명령 실행

find와 마찬가지로 fd는 발견된 파일을 실행을 위해 다른 명령에 전달하는 기능을 가지고 있습니다. 여기서 find 는 find . -iname pattern -exec command , fd는 -x를 사용합니다. 플래그:

fd -e zip -x unzip

이 명령은 디렉토리의 모든 zip 파일을 unzip 명령으로 보냅니다. 실행 명령의 "구문" 내에서 다음 기호를 사용하여 특정 방식으로 정보를 전달할 수 있습니다.

  • {} :자리 표시자는 검색 결과의 경로로 대체됩니다(files/images/portrait.jpg ).
  • {/} :UNIX 애호가가 기본 이름으로 알고 있는 결과의 파일 이름으로만 대체되는 자리 표시자(portrait.jpg ).
  • {//} :찾은 항목(files/images)의 상위 디렉토리로 자리 표시자가 대체됨 ).
  • {.} :확장자가 없는 파일 이름의 경로로 자리 표시자가 대체됨(files/images/portrait) ).
  • {/.} :확장자 없이 찾은 항목의 기본 이름으로 자리 표시자가 대체됨(portrait) ).

위에서 인용한 두 개의 자리 표시자 기호를 사용하여 다음 예를 고려하십시오.

fd -e flac -x ffmpeg -i {} -c:a libopus {.}.opus

기타 유용한 fd 플래그

  • -e :구분점 없이 파일 확장자만 검색합니다.
  • -E pattern :다음 패턴과 일치하는 결과를 제외합니다.
  • --changed-newer-than date|duration :파일 수정 이후 시간을 기준으로 결과를 필터링합니다. 수정 날짜가 지정된 날짜보다 늦은 파일만 표시됩니다. 시간은 현재 순간부터 거꾸로 계산하는 지속 시간을 지정할 수 있습니다(10h , 1d , 35min ) 또는 특정 시간("YYYY-MM-DD HH:MM:SS")으로 설정할 수 있습니다. ).
  • -날짜|기간보다 오래된 변경 :–change-newer와 유사하지만 지정된 날짜 또는 기간 이전에 편집된 파일이 표시되며 이후에는 표시되지 않습니다.
  • -t :지정된 유형의 파일만 표시합니다(파일의 경우 -tf, 디렉토리의 경우 -td, 실행 파일의 경우 -tx, 심볼릭 링크의 경우 -tl, 빈 파일의 경우 -te).
  • -p :파일 이름뿐만 아니라 전체 경로 이름 내에서 검색합니다.
  • -s :대소문자를 구분합니다. 기본적으로 fd는 검색 패턴에 대문자를 입력하지 않는 한 대소문자를 무시합니다.
  • -H :결과 내 숨겨진 파일 및 디렉토리를 표시합니다.
  • -L :링크를 따라 심볼릭 링크된 디렉토리로 이동합니다.

fd는 find 명령의 좋은 대안입니다. "찾기" 명령을 사용하기 어렵다면 fd를 사용하는 것이 더 나을 것입니다. 사용해 보고 유용한지 알려주세요.