Linux bash でファイルを検索するにはどうすればよいですか?

Linux Bash Defairuwo Jian Suosurunihadousurebayoidesuka



ファイル システムは、ファイルとフォルダー内のすべてのデータをさまざまな形式で保持するため、どのオペレーティング システムでも主要なものです。いくつかのコマンドを使用してターミナルシェル経由でこれらのファイルを検索するのはどうですか? bash の検索について何も知らない場合は、この記事が大いに役立ちます。 bah ファイル検索を行うための簡単なコマンドについて説明します。始めましょう。現在、Ubuntu 20.04 のホーム作業ディレクトリに bash ファイルが保存されているとします。 Ubuntu のターミナル シェルで「ls」命令を使用して、現在の作業ディレクトリのすべての内容を一覧表示します。同じ名前のファイルが別の場所にある可能性があります。

方法 01: 場所を特定する

システムから名前でファイルを見つけるための最も基本的な命令「場所」から始めましょう。 「locate」命令の「-c」オプションは、システム内の特定のファイルの合計カウント数を取得するように特別に設計されています。ファイル名「new.sh」とともに命令内で使用する際の最初のオプション「-c」を見てみましょう。この名前の合計 5 つのファイルが返されます。









これは、ユーザーの選択に従って端末画面に特定のファイルのレコード数を表示する「locate」命令の「-n」オプションです。指定した数のファイル レコードを表示するには、このコマンドで数を指定する必要があります。ホーム ディレクトリで、「n」オプションと値 1 を指定してこの命令を実行し、ファイル「new.sh」の検索結果の単一レコードを表示しました。このファイルのファイル パスの単一のレコードを返します。このパスは、ホーム ディレクトリまたはルート フォルダー (つまり、/home/Linux/new.sh) に最も近いパスになります。







オプション「-n」の更新された総数「3」でこの命令を使用して、ファイル「new.sh」の検索結果を表示すると、シェル画面に合計 3 つのレコードが返されます。ファイルがゴミ箱フォルダー内にもあることを示しています。



値 5 の「-n」オプションを指定して「locate」コマンドを実行すると、ファイル「new.sh」の 5 つの検索レコードが得られます。ディレクトリには「new.sh.swp」という名前の別のファイルがあります。また、Ubuntuのファイルシステムの「var」ディレクトリにも同名のファイルがあります。

「locate」命令の「-b」オプションを使用すると、ディレクトリから正確な名前のファイルを検索できます。したがって、示されているように、単一の逆コンマでファイル名を指定して使用する必要があります。同じ名前のファイルが 3 つの場所にしか配置されていないため、合計 3 つのレコードが得られます。

Linux の「検索」命令を使用して、現在のデータベースに関する情報を取得することもできます。 「-S」オプションを一緒に使用する必要があります。データベースへのパス、システム上のディレクトリとファイルの総数、ファイル名の総バイト数、およびバイト数が返されます。表示されているように記録を保存するため。

方法 2: 見つける

Linux システムには、特定のファイルを検索するために使用できる「検索」命令があります。また、さまざまな結果を表示するための多くのオプションも用意されています。最初のオプションは「-name」オプションで、二重引用符で囲まれた名前のファイルを検索します。このオプションをディレクトリへのパスと一緒に使用して、ファイルを検索できます。パスを使用したくない場合は、「.」のままにしておきます。以下で行ったように。同じ名前のファイルを持つ合計 3 つのレコードが表示されました。

明示的なパスを使用して、その中のファイルを調べることもできます。ここでは、「デスクトップ」フォルダーへのパスを指定しました。ファイル名「new.sh」と完全に一致する単一のレコードが得られます。

ファイルの拡張子「.sh」のファイル シンボリック リンクを検索するとします。コマンドで「-L」オプションとパスおよび「-name」オプションを使用する必要があります。名前指定の「*」は、拡張子が「.sh」の bash ファイルを「すべて」検索するために使用されます。画面に合計 4 つのレコードが返されます。

「-L」オプションを指定した「find」命令で「/etc」パスを使用すると、bash ファイルの多くのレコードが返されます。誰でも使用できるものもあれば、許可されていないものもあります。

同様に、「find」命令を「-L」オプションとともに使用して、システムからすべての「txt」ファイルを検索しました。ディスプレイに多くのレコードが返されます。

「find」命令でファイルタイプ、つまりファイルまたはディレクトリを指定するために使用する別のオプション「-type」がここにあります。このオプションを使用して、bash ファイルのタイプ「ファイル」を検索し、1 つの結果 (つまり、デスクトップ フォルダー内の new.sh) を得ました。

パスを追加しない場合、以下のようにディレクトリを検索します。

ファイル名を指定せずに「-type」オプションを「f」とともに使用すると、すべての隠しファイルも返されます。

「-type」オプションに「l」を使用すると、シンボリック リンクが返されます。

「find」命令の「-type」オプションに「d」を使用すると、すべてのディレクトリが返されます。

「-size」オプションを使用して、システムから特定のサイズのファイルを検索することもできます。

結論:

このチュートリアルでは、シェル ターミナルを使用して任意のファイルを検索するための 2 つのシンプルかつ洗練された方法を示しました。 「locate」および「find」命令を、ユーザーの使いやすさと学習のために多くのオプション (「-c」、「-n」、「-b」、「-type」、「-name」、「 -L」など。これが bash の新規ユーザーにとって無限の支援となることを願っています。