fd는 find 명령어보다 훨씬 간단하게 사용할 수 있는 대안 도구입니다. 축약된 문법과 간결한 명령 구조를 채택하여 입력해야 하는 명령을 짧고 핵심적으로 유지해 줍니다. 다만, 장황하지 않은 덕분에 타이핑은 쉬워지지만 그만큼 의미를 파악하기는 다소 어려울 수 있습니다. 또한 fd는 기본 find 명령어보다 패턴 매칭 속도가 더 빠릅니다. 이 글에서는 리눅스와 macOS에서 fd를 설치하고 활용하는 방법을 알아보겠습니다.
리눅스에 fd 설치하기
fd는 많은 시스템에 기본적으로 포함되어 있지 않습니다. 선호하는 패키지 관리자로 프로그램을 다운로드하고 설치한 뒤, 터미널에서 바로 실행할 수 있습니다.
Ubuntu
Ubuntu Disco Dingo 19.04부터는 기본 저장소에 포함되어 있지만, 그 외 버전에서는 직접 다운로드하여 설치해야 합니다. Ubuntu 및 기타 Debian 계열 배포판에서는 아래 명령어로 설치할 수 있습니다.
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
Debian Buster 이상 버전에서는 공식 Debian 저장소를 통해 fd를 설치할 수 있습니다.
sudo apt-get install fd-find
Fedora
Fedora 28부터는 공식 패키지로 fd를 설치할 수 있습니다.
dnf install fd-find
Arch Linux
마찬가지로 Arch 사용자는 공식 저장소에서 fd를 설치할 수 있습니다.
pacman -S fd
Gentoo Linux
Gentoo 사용자는 아래 명령어로 fd ebuild를 설치합니다.
emerge -av fd
macOS
macOS 환경이라면 먼저 Homebrew를 설치한 후, 아래 명령어로 fd를 설치하세요.
brew install fd
리눅스에서 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 사용자들이 'basename'이라 부르는 값 (portrait.jpg){//}: 발견된 항목의 상위 디렉터리 경로로 대체 (files/images){.}: 확장자를 제외한 파일 경로로 대체 (files/images/portrait){/.}: 확장자를 제외한 basename으로 대체 (portrait)
위에서 소개한 플레이스홀더 두 가지를 활용한 예시를 살펴보겠습니다.
fd -e flac -x ffmpeg -i {} -c:a libopus {.}.opus
이 명령은 flac 파일을 찾아 ffmpeg로 변환하여 opus 형식으로 저장합니다.
기타 유용한 fd 옵션
-e: 파일 확장자만 검색합니다. 점(.) 없이 확장자를 지정합니다.-E pattern: 지정한 패턴과 일치하는 결과를 제외합니다.--changed-newer-than date|duration: 파일 수정 시간을 기준으로 결과를 필터링합니다. 지정한 날짜보다 나중에 수정된 파일만 표시됩니다. 현재 시점부터 거꾸로 계산하는 기간(10h,1d,35min) 또는 특정 시각("YYYY-MM-DD HH:MM:SS")으로 설정할 수 있습니다.--changed-older-than date|duration: 위 옵션과 반대로, 지정한 날짜나 기간 이전에 수정된 파일을 표시합니다.-t: 지정한 유형의 항목만 표시합니다 (-tf 일반 파일, -td 디렉터리, -tx 실행 파일, -tl 심볼릭 링크, -te 빈 파일).-p: 파일명뿐 아니라 전체 경로를 대상으로 검색합니다.-s: 대소문자를 구분하도록 강제합니다. 기본적으로 fd는 검색 패턴에 대문자가 포함된 경우에만 대소문자를 구분합니다.-H: 숨김 파일과 숨김 디렉터리를 결과에 포함합니다.-L: 심볼릭 링크된 디렉터리까지 따라 들어가 검색합니다.
fd는 find 명령어의 훌륭한 대안입니다. find 명령어가 사용하기 어렵다고 느껴졌다면 fd를 사용해 보세요. 직접 사용해 보고 여러분에게 유용한지 확인해 보시기 바랍니다.