Debian10でファイルとディレクトリを簡単に見つけるための2つのコマンド

基本的に、Linuxのすべてはファイルです。 ただし、ファイルを編集する前に、システム内でファイルを見つけることができる必要があります。

Linuxファイル検索について

この記事では、ターミナルを使用してファイルを検索するための便利な例を使用して、2つのコマンドについて簡単に説明します。 2つのコマンドは 検索コマンド そしてその 位置特定コマンド。 2つのコマンドの違いは、findがリアルタイムで検索を実行し、locateが検索にインデックス付きデータベースを使用することです。 つまり、locateコマンドの方が一般的に高速ですが、検索するファイルがインデックスデータベースにあり、このデータベースは通常夜間に作成されるため、locateコマンドで最新のファイルが検出されることはありません。 私は自分の環境でDebian10を使用しています。 ただし、コマンドは他のLinuxディストリビューションでも同じである必要があります。

ファイル名ではなくコンテンツでファイルを検索する場合は、代わりにgrepコマンドを参照してください。

findコマンドを使用したファイルとディレクトリの検索

現在のディレクトリでファイルを検索します

findコマンドを使用してファイルを検索する場合は、ターミナルで次のいずれかを実行します。

を検索

仮定する、

test.txtを探す

これにより、作業中の現在のディレクトリ内のファイルが検索されます。

別のディレクトリでファイルを検索

ここで、特定のディレクトリにファイルを配置する場合。 完全なコマンドは次のようになります。

<ディレクトリ/ファイル名のパス>を検索します

ドキュメントで「test.txt」という名前のファイルを検索するとします。完全なコマンドは次のようになります。

Documents /test.txtを検索

ファイル拡張子でファイルを検索

現在のディレクトリまたは特定のディレクトリにあるすべてのテキストファイルを検索する場合、それぞれのコマンドは次のようになります。

find * .txt find <ディレクトリのパス/ *。txt>

Documents / Karimのパスにあるすべてのテキストファイルを検索するとします。完全なコマンドは、次のようになります。

Documents / Karim/*。txtを検索

名前でファイルを検索

または、ファイルを名前で検索する場合は、-nameスイッチを使用できます。

検索<パス> -name <検索するファイルの名前>

Documents / Karimでtest1.txtという名前のファイルを検索するとします。 完全なコマンドは次のようになります。

Documents / Karim -nametest1.txtを検索します

作業中の現在のディレクトリで特定のファイルを検索する場合。 置く 。 に示されているパスで example。

探す 。 -名前test1.txt

ファイルを検索するときに大文字と小文字を区別しない

ファイルを検索して大文字と小文字を区別しない場合は、-inameスイッチを使用します。 完全なコマンドは次のようになります。

探す 。 -iname test.txt

シンボリックリンクなどのファイルタイプでファイルを検索する

特定のファイルタイプを検索するには、-typeオプションを使用します。 完全なコマンドは次のようになります。

-type を検索します

c ファイルのタイプを示し、それらは次のとおりです。

b ブロック(バッファリング)スペシャル

c 文字(バッファなし)スペシャル

d ディレクトリ

p 名前付きパイプ

f 通常のファイル

l シンボリックリンク

D ドア(Solaris)

Documents / Karimで通常のファイルを検索するとし、次のコマンドを実行します。

ドキュメント/カリムタイプfを検索

現在のディレクトリで通常のファイルを検索する場合。 完全なコマンドは次のようになります。

探す 。 -タイプf

複数の拡張子を持つファイルを検索する場合は、コンマで区切られたc文字を使用します。

現在のディレクトリにあるすべての通常の空のファイルを検索するとします。

探す 。 -タイプf-空

現在のディレクトリ内のすべての空のディレクトリを検索する場合は、次のようにfindコマンドで-dおよび-emptyオプションを使用します。

探す 。 -type d -empty

サイズでファイルを検索

特定のサイズのファイルを検索する場合は、-sizeパラメーターを使用できます。 次のサフィックスを正確なサイズで使用できます。

c:バイト

k:キロバイト

M:メガバイト

G:ギガバイト

b:512バイトブロック

現在のディレクトリで正確に50バイトのすべてのファイルを検索するとします。 次のコマンドを実行する必要があります。

探す 。 -サイズ50c

現在のディレクトリで、それぞれ50バイトを超えるファイルまたは50バイト未満のファイルをすべて検索する場合は、次のいずれかのコマンドを実行する必要があります。

探す 。 -サイズ+ 50c検索。 -サイズ-50c

所有者(ユーザー)によるファイルの検索

特定のユーザーが所有するファイルを検索する場合は、-userオプションを使用できます。 コマンドの構文は次のようになります。

-user を検索します

karimが所有する現在のディレクトリでファイルを検索するとします。 コマンドは次のようになります。

探す 。 -ユーザーカリム

Locateコマンドを使用したファイルの検索

2つ目は、システム内のファイルとディレクトリを検索するために使用できる検索コマンドです。

まず、Debian10マシンにlocateユーティリティをインストールする必要があります。 rootでログインし、ターミナルで次のコマンドを実行します。 確認を求められたら、キーボードからYを押します。

apt-get installlocate

操作が完了するのを待ちます。

Locateはより高速なコマンドであり、ファイルシステムのデータベースに依存しています。 1日に1回更新されますが、手動で更新する場合は、root権限を使用してターミナルで次のコマンドを実行します。

更新されたb

現在のディレクトリで簡単な検索コマンドを使用してファイルを検索するには、ターミナルで次のコマンドを実行します。

<ファイル名>を探す

私のファイル名がtest.txtだとします。 完全なコマンドは次のようになります。

test.txtを探します

-iオプションを使用して、ファイル名の大文字と小文字を無視できます。

-i <ファイル名>を検索します

また

-itest.txtを検索します

Locateコマンドとfindコマンドはどちらも、ファイルの検索に役立ちます。 どのコマンドを主に使用するかはあなた次第です。 これらは、pipe、wc、sort、grepなどを使用して他のコマンドで拡張できます。