Linux で見つけるためのフレンドリーな代替手段 (fd コマンド)

Linux で見つけるためのフレンドリーな代替手段 (fd コマンド)

fd コマンドは、Linux ファイル システムを検索するためのシンプルで簡単な方法を提供します。

fd は、Unix/Linux の find コマンドに代わる、非常に高速な Rust ベースの代替コマンドです。 find の強力な機能のすべては提供されません。ただし、遭遇する可能性のある状況の 80% をカバーするのに十分な機能を提供します。よく計画された便利な構文、色付き出力、スマートな大文字小文字、正規表現、並列コマンド実行などの機能により、fd は非常に有能な後継となります。

インストール

fd GitHub ページにアクセスし、インストール セクションを参照してください。 macOS、Debian/Ubuntu Red Hat、Arch Linux にプログラムをインストールする方法について説明します。インストールが完了したら、help、簡潔なヘルプの場合は fd -h、より詳細なヘルプの場合は fd --help を実行して、使用可能なすべてのコマンドライン オプションの完全な概要を取得できます。

シンプル検索

fd は、ファイル システム内のファイルやフォルダーを簡単に見つけられるように設計されています。最も簡単な検索は、検索対象を 1 つの引数として指定して fd を使用することで実行できます。たとえば、ファイル名の一部に「services」という単語が含まれる Markdown ドキュメントを検索するとします。

$ fdサービス
ダウンロード/サービス.md

引数を 1 つだけ指定して呼び出された場合、fd は現在のディレクトリを再帰的に検索し、指定された引数に一致するファイルやディレクトリを探します。組み込みの find コマンドを使用した同等の検索は次のようになります。

$ find . -name 'サービス'
ダウンロード/サービス.md

ご覧のとおり、fd ははるかにシンプルで、入力する必要も少なくなります。より少ない入力でより多くのことを達成することは、私にとって常に正しいことです。

ファイルとフォルダ

-t パラメータの後に検索対象を表す文字を続けると、検索対象をファイルまたはディレクトリに制限できます。たとえば、現在のディレクトリ内でファイル名に services が含まれるすべてのファイルを検索するには、次のようにします。

$ fd -tf サービス
ダウンロード/サービス.md

そして、現在のディレクトリ内でファイル名に services が含まれるすべてのディレクトリを検索します。

$ fd -td サービス
アプリケーション/サービス
図書館/サービス

現在のフォルダー内の .md 拡張子を持つすべてのドキュメントを一覧表示するにはどうすればよいでしょうか?

$ fd .md
管理/管理.md
開発/elixir/elixir_install.md
読み物
サイドバー
linux.md

出力からわかるように、fd は現在のフォルダー内のファイルを検索して一覧表示できるだけでなく、サブフォルダー内のファイルも検索できます。とても簡単です。

-H スイッチを使用して隠しファイルを検索することもできます。

fd -H セッション。
.bash_セッション

ディレクトリを指定

特定のディレクトリを検索する場合は、ディレクトリ名を fd の 2 番目の引数として渡すことができます。

$ fd パスワード /etc
デフォルト
パスワード
/etc/passwd

この例では、fd に、etc ディレクトリで passwd という単語のすべてのインスタンスを検索するように指示します。

グローバル検索

ファイル名の一部はわかっているが、フォルダがわからない場合はどうすればよいでしょうか? Linux ネットワーク管理に関する本をダウンロードしたが、どこに保存されているかわからないとします。問題ない:

fd管理 /
/Users/pmullins/Documents/Books/Linux/Linux ネットワーク管理のマスター.epub

要約する

fd は find コマンドの優れた代替品であり、私と同じように皆さんにも便利だと感じていただけると思います。コマンドの詳細については、man ページを参照してください。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux の gettimeofday 関数を使用してプログラム セグメントの実行時間を取得する [推奨]
  • Linux での fdisk コマンドの使用法の詳細な説明
  • Linux におけるファイル記述子 fd とファイルポインタ FILE* 間の変換の分析例
  • Linux の新しい API signalfd、timerfd、eventfd の使用手順
  • Linux の timerfd_create を使用してタイマーを実装する例

<<:  React は antd のアップロード コンポーネントを使用してファイル フォーム送信機能を実装します (完全なコード)

>>:  写真とテキストによる MySQL 8.0.11 インストール チュートリアル

推薦する

Windows 上の MySQL 5.6 で my.ini 設定ファイルを見つける方法

忘れてしまった場合に後で戻って確認できるようにメモしておいてください。問題の説明:今日はちょっとした...

Nodejs でタイムドクローラーを実装する完全な例

目次事件の原因Node Scheduleを使用してスケジュールされたタスクを実装する1. node-...

Windows ホストと Docker コンテナに共有フォルダを設定してマウントする手順

Docker コンテナ内のプログラムは、ホスト ディレクトリ内のデータにアクセスして呼び出す必要があ...

Linux でシェル スクリプトを使用して jar パッケージ プロジェクトを展開するための完全な手順

1. JDKをインストールする コンピュータの動作桁を確認します。 uname -ar 2017 x...

HTML webpackプラグインの使用に関する簡単な分析

html-webpack-pluginプラグインを使用してページを開始すると、htmlページをメモリ...

nginx リバース プロキシの魔法のスラッシュについての簡単な説明

nginx リバース プロキシを設定する場合、location と proxy_pass のスラッシ...

Linux 環境で crontab コマンドを使用して、スケジュールされた定期的な実行タスクを設定します (PHP 実行コードを含む)

この記事では、Linux 環境で crontab コマンドを使用して、タスクの定期的な実行をスケジュ...

重複したMySQLレコードを現場でチェックし、処理する実践的な記録

目次序文分析するデータ合計繰り返し率どこにあるかと持っているかの違い要約する序文私はソフトウェアの導...

Quill エディタでカスタム HTML レコードを挿入する詳細な例

もう2020年です。飢えた人間は単純なテキストでは満足できなくなり、さまざまなスタイルの派手なテキス...

MySQLがbinlogファイルを手動で登録し、マスタースレーブ異常を引き起こす理由

1. 問題の原因友人の @水米田 から、POSITION に基づくマスタースレーブについて質問があり...

Vueはシンプルなスライダー検証を実装する

この記事の例では、Vueスライダー検証の実装を共有しています。コードは次のとおりです。 <テン...

TypeScript でオブジェクト キーの値の範囲を制限する方法

TypeScript を使用する場合、TypeScript が提供する型システムを使用してコードのあ...

要素動的ルーティングブレッドクラムの実装例

マスターするには: localStorage、コンポーネントのカプセル化えーと、GIF に変換したビ...

VueでJSXを使用する方法

JSXとは何かJSX は Javascript の構文拡張であり、JSX = Javascript ...

Nginx プロセス管理とリロードの原則の詳細な説明

プロセス構造図Nginx はマルチプロセス構造です。マルチプロセス構造は、次のような Nginx の...