fd - コマンドを検索するためのシンプルで高速な方法


ほとんどのLinuxユーザーはfindコマンドとそれを使用できる多くのケースに精通しています。今日は fd と呼ばれるfindコマンドの代替案を見直します。

fd は、検索と比較して高速で実行することを目的とした、シンプルで高速かつユーザーフレンドリーなツールです。それは検索を完全に置き換えることを意味するのではなく、やや速く実行する使いやすい選択肢をあなたに与えることです。

fd の注目すべき機能のいくつか:

  1. Easy to use syntax – fd *pattern* instead of find -iname *pattern*.
  2. Colorful output similar to the one of ls command.
  3. Fast performance. Developer’s benchmarks are available here.
  4. Smart search with case-insensitive by default and switches to case sensitive if patter containers an uppercase symbol.
  5. Does not look in hidden files and directories by default.
  6. Does not look into .gitignore by default.
  7. Unicode awareness.

Linuxにfdをインストールする方法

異なるLinuxディストリビューションに fd をインストールする方法を見ていきます。

Ubuntu および Debian ベースのディストリビューションの場合は、リリースページから最新のfdバージョンをダウンロードし、次のコマンドを使用してインストールする必要があります。

$ 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

他のLinuxディストリビューションでは、表示されているようにパッケージマネージャを使ってデフォルトのリポジトリからfdをインストールできます。

# dnf install fd-find  [On Fedora]
# pacman -S fd         [On Arch Linux]
# emerge -av fd        [On Gentoo]
# zypper in fd         [On OpenSuse]

Linuxでfdを使う方法

findコマンドと同様に、 fd には多くのユースケースがありますが、利用可能なオプションの確認から始めましょう:

# fd -h
OR
# fd --help

いくつか例を見てみましょう。引数なしで fd を実行できます。出力はls -Rコマンドとよく似ています。

# fd

次の fd の例では、/var/www/html/にあるデフォルトのWordPressインストールを使用して、さまざまなファイルやフォルダを検索します。

以下の例では、コマンドの出力を短くするために最初の10個の結果のみを取りました。

# fd | head

すべてのjpgファイルを見つけたいとしましょう。ファイル拡張子でフィルタリングするために“ -e” フラグを使うことができます。

# fd -e jpg

“ -e” フラグは、次のようなパターンと組み合わせて使用できます。

# fd -e php index

上記のコマンドは拡張子が php のファイルを検索し、その中に " index "という文字列を含みます。

一部の結果を除外したい場合は、次のように“ -E” フラグを使用できます。

# fd -e php index -E wp-content

このコマンドは、 " index "という文字列を含む、拡張子がphpのファイルをすべて検索し、 " wp-content "ディレクトリから結果を除外します。

検索ディレクトリを指定したい場合は、単にそれを引数として指定する必要があります。

# fd <pattery> <directory>

検索と同じように、 -x または --exec 引数を使用して、検索結果と並行してコマンドを実行できます。

画像ファイルの権限を変更するために chmod を使用する例を次に示します。

# fd -e jpg -x chmod 644 {}

上記では、拡張子が jpg のファイルがすべて検索され、 chmod 644&lt; file-to-file&gt; が実行されます。

角かっこの便利な説明と使用方法は次のとおりです。

  • {} – A placeholder which will be changed with the path of the search result (wp-content/uploads/01.jpg).
  • {.} – similar to {}, but without using the file extension (wp-content/uploads/01).
  • {/}: A placeholder that will be replaced by the basename of the search result (01.jpg).
  • {//}: Parent directory of the discovered path (wp-content/uploads).
  • {/.}: Only the basename, without the extension (01).

これは fdコマンドの簡単なレビューで、一部のユーザーはより使いやすく、より早く感じることができます。この記事で前述したように、 fd 検索を完全に置き換えるものではなく、単純な使い方、簡単な検索、そして優れたパフォーマンスを提供するものです。 Fd は、それほど多くのスペースを取らないので、あなたの兵器庫に入れるのに適したツールです。