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 インストール チュートリアル

推薦する

WeChatアプレット開発によりホームページポップアップボックスアクティビティガイダンス機能が実現

目次1. 需要2. データベース設計3.Javaバックグラウンド構成の実装4. WeChatアプレッ...

MongoDB データベースの状態を監視する Zabbix3.4 メソッド

Mongodb には db.serverStatus() コマンドがあり、これを使用して Mongo...

Vueは双方向データバインディングを実装します

この記事の例では、双方向データバインディングを実装するためのVueの具体的なコードを参考までに共有し...

HTML スライドフローティングボールメニュー効果の実装

CSS スタイル html,本文{ 幅: 100%; 高さ: 100%; マージン: 0;パディング...

Linux CentOS MySQL データベースのインストールと設定のチュートリアル

MySQLデータベースのインストールに関するメモ、みんなで共有a) MySQL ソースインストールパ...

h1、h2、h3タグを適切に使用する

Web ページを作成する過程では、<h1>、<h2>、<h3> ...

Nginx のアクセス制御とパラメータ調整方法

Nginx グローバル変数Nginx には、$variable 名を通じて使用できるグローバル変数が...

MySQL Community Server 5.7.16 のグリーン バージョンをインストールしてリモート ログインを実装する方法

1. MySQL Community Server 5.7.16をダウンロードしてインストールします...

Navicat がデータベース データ構造をインポートする際に発生するエラー datetime(0) の SQL レポートの問題を解決します。

エラー発生: MySQL 5.7 から SQL にデータベースをエクスポートし、それを MySQL ...

MySQLのGROUP BYステートメントを最適化する方法

MySQL で、id、a、b の 3 つのフィールドを持つ新しいテーブルを作成します。次のように、同...

phpstudy から Linux への MySQL の移行に関するチュートリアル

プロジェクトの目的元のWindows環境でphpstudyを使用して構築されたMySQL 5.5.5...

MySQL データベースの 1045 エラーの解決方法

ローカル データベースがサーバー データベースに接続されているときに発生する 1045 の問題を解決...

MySQL データベースの型変換のための CAST 関数と CONVERT 関数の説明

MySQL のCAST()およびCONVERT()関数を使用すると、ある型の値を取得し、別の型の値を...

Tableとdivの簡単な紹介と使い方

ウェブフロントエンド1学生証名前性別年01張三男20 02李思女性21総人数60フォームのコンポーネ...