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 명령은 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를 사용하는 것이 더 나을 것입니다. 사용해 보고 유용한지 알려주세요.