Linux には、使用しているディストロにかかわらず、ファイルを検索するための GUI ツールが多数付属しています。 最近の多くのファイル マネージャーは、ファイル リストで直接ファイル検索をサポートしています。 しかし、SSH セッション中や X サーバーが起動しない場合など、コンソールを使用する必要がある状況も多くあります。 ここでは、ターミナルを使用してファイルをすばやく検索する方法を紹介します。
GUI を使用できる場合は、ファイルの検索は問題ありません。 私のお気に入りの XFCE デスクトップ環境では、Thunar ファイル マネージャーにより、ファイル リストにファイル名を直接入力してファイルを検索できます。
また、検索インデックスを持つ人気の検索ツール Catfish があり、本当にすばやくファイルを見つけることができます。
私自身がターミナルで作業するときに使う方法を共有したいと思います。
最初の方法は、どのディストロにも、たとえ busybox で作られた組み込みシステムにも存在する find ユーティリティを使うことです。
- お気に入りのターミナル アプリケーションを開いてください。 XFCE4 端末が個人的には好みです。
- Type the following command:
find /path/to/folder/ -iname *file_name_portion*
The arguments above are as follows:
/path/to/folder/ – 検索を開始するフォルダーを指定します。 指定しない場合、検索は現在のディレクトリで開始されます。
私が使用しているスイッチ:
-iname – 名前に指定部分を含み、テキストの大文字と小文字を無視してファイルおよびフォルダを検索します。例:
Opera ブラウザについて書いた記事を見つけるために使用するコマンドは次のとおりです:
find ~/Documents/winaero/ -iname *opera*.txt
- ファイルのみまたはフォルダのみを見つける必要がある場合は、ファイルの場合は -type f、ディレクトリの場合は -type d オプションを追加してください。
- 最近更新されたファイルやディレクトリを見つけるには、find コマンドの次のオプションを使用できます:
-min n – n 分前に変更されたファイルを見つけます。 find が最後にアクセスされたのが何時間前かを計算するとき、端数は無視されるので、-mtime +1 に一致するには、ファイルは少なくとも 2 日前に変更されていなければなりません。 - 検索クエリによって見つかったファイルに対してコマンドを実行することも可能です。 次の例を参照してください:
find ~/Documents/winaero/ -iname opera45.txt -type f -exec vim {} \;
ここでは、-exec オプションを使用して、検索結果のすべてのファイルに対して vim テキスト エディタを実行しています。 の部分は、findコマンドで見つかったファイルを表します。 末尾の「♪」は、-execオプションのコマンドの終了を指定します。
locateコマンド
locate検索ツールは特殊なファイルデータベースを使ってファイルを瞬時に見つけます。 このコマンドのインデックスは、updatedbコマンドで作成、更新できる。 検索結果は即座に表示されるが、検索インデックスを維持し、最新の状態に保つ必要がある。そうしないと、locateコマンドは削除されたファイルや別のディレクトリに移動したファイルを見つけることができる。
一般的な場合、構文は次のとおりである。
locate -i file_name
-i オプションは「テキストの大文字/小文字を無視する」という意味です。
Bonus tip: 私がよく使う別の方法は Midnight Commander (mc) というコンソール ファイル管理アプリケーションです。 find や locate とは異なり、mc は私が試したすべての Linux ディストリビューションにデフォルトで含まれていません。
Mc でファイルを検索する
Midnight Commander を使って特定のテキストを含むファイルを検索するには、アプリを起動し、キーボードで次のシーケンスを押します:
Alt + Shift + ?
これにより、検索ダイアログが開きます。
これらのファイルをパネル化オプションを使用して左または右のパネルに配置し、コピー/移動/削除/表示/好きなようにすることができます。 このサイトが面白く、役に立つコンテンツやソフトウェアを提供し続けられるように、以下のオプションをご利用ください: