ファイル探しがもっと速く・簡単に!「fd」完全入門ガイド

タグ GitHubオープンソースsharkdpfd

このソフトで何ができる?

fdは、パソコンの中からファイルやフォルダを素早く探し出すためのツールです。Linuxやmacとデフォルトで使えるfindコマンドよりも、シンプルな書き方で直感的に使えるように設計されています。検索速度が非常に速く、色分け表示もあるため、見た目にもわかりやすい結果が得られます。

どんな人におすすめ?

  • 「あのファイル、どこに保存したっけ?」が口癖の人:プロジェクトフォルダの深い階層にあるファイルも一発で見つかります。
  • コマンドラインを使い始めた初心者:従来のfindコマンドは覚えるのが大変ですが、fdはシンプルな書き方で同じことができます。
  • 開発者・エンジニア.gitignoreで除外されているファイルを自動的にスキップするなど、開発現場で役立つ機能が揃っています。
  • 大量のファイルを扱う人:写真や資料が大量にあるフォルダでも、並列処理で高速検索できます。

インストール方法

fdはRust製のツールです。Rustのパッケージ管理ツールcargoを使ってインストールできます。

Rustがまだ入っていない場合は、まず以下でインストールします:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

fdのインストール:

cargo install fd-find

パッケージ名はfd-findですが、インストール後はコマンド名fdとして使います。

その他の方法(macOS・Ubuntuなど):

# macOS(Homebrew)
brew install fd

# Ubuntu / Debian
sudo apt install fd-find

Ubuntuでインストールした場合、コマンド名がfdfindになる場合があります。その場合は以下でfdとして使えるようにできます:

alias fd=fdfind

基本的な使い方

ファイルを名前で探す

一番シンプルな使い方です。探したいファイル名の一部を入力するだけです:

fd netfl
Software/python/imdb-ratings/netflix-details.py

findコマンドと比べてみると、その簡単さがわかります:

# findの場合(長い!)
find . -iname '*netfl*'

# fdなら(短い!)
fd netfl

特定のフォルダの中だけを探す

2番目の引数に検索先のフォルダを指定できます:

fd passwd /etc
/etc/default/passwd
/etc/pam.d/passwd
/etc/passwd

正規表現で絞り込む

「xで始まってrcで終わるファイル」のような複雑な条件も指定できます:

fd '^x.*rc$' /etc
X11/xinit/xinitrc
X11/xinit/xserverrc

引数なしで現在のフォルダ全体を表示

引数なしで実行すると、現在のフォルダ以下のすべてのファイルとフォルダを一覧表示します:

fd
testenv
testenv/mod.rs
tests

ls -Rコマンドの代わりとして、フォルダ構造を素早く把握したいときにも便利です。

拡張子で絞り込む

特定の種類のファイルだけを探したいときは-eオプションが使えます:

fd -e py
scripts/backup.py
tools/convert.py
src/main.py

ファイルのみ・フォルダのみを探す

# ファイルだけ
fd -t f config

# フォルダだけ
fd -t d images

活用アイデア

1. 古いログファイルをまとめて削除する

fdは見つけたファイルに対してコマンドを実行する機能を持っています。たとえば、.logファイルをすべて削除したいときは:

fd -e log -x rm {}

{}は見つかったファイルのパスに置き換えられます。削除の前に一度fd -e logだけで確認するのが安全です。

2. 特定の期間に変更されたファイルを探す

最近7日以内に変更されたPythonファイルだけを探すことも可能です:

fd -e py --changed-within 7d

バックアップや最近の作業ファイルを探すときに重宝します。

3. 隠しファイルも含めて探す

fdはデフォルトで.から始まる隠しファイルを無視しますが、-Hオプションで表示できます:

fd -H .env

設定ファイルや.gitignoreなども含めて探したいときに使います。

4. 結果をほかのコマンドに渡す

fdの出力をxargsや他のコマンドと組み合わせることで、より強力な操作ができます:

# 見つかったMarkdownファイルの行数を数える
fd -e md | xargs wc -l

5. 大文字・小文字を気にせず探す

fdはデフォルトでスマートケース検索です。小文字で入力すれば大文字・小文字を区別せず探してくれます:

fd readme
README.md
readme.txt
Readme.rst

まとめ

fdは「ファイルを探す」という日常的な作業を、より速く・より簡単にしてくれるツールです。従来のfindコマンドのような複雑な書き方を覚える必要がなく、シンプルな引数だけで直感的に使えます。

特にうれしいのは、.gitignoreの内容を自動で考慮してくれる点と、並列処理による圧倒的な検索速度です。初めてコマンドラインツールを使う方から、毎日ターミナルを使うエンジニアまで、幅広い方に使いやすい設計になっています。

まずはfd ファイル名の一行から始めてみてください。きっと「こんなに簡単でいいの?」と思うはずです。