もっと詳しく

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

Linuxファイル検索について

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

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

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

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

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

find <filname>

仮定する、

find test.txt

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

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

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

find <path of directory/filename>

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

find Documents/test.txt

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

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

find *.txt
find <path of directory/*.txt>

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

find Documents/Karim/*.txt

名前でファイルを検索

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

find <path> -name <name of file you want to search>

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

find Documents/Karim -name test1.txt

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

find . -name test1.txt

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

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

find . -iname test.txt

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

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

find <path> -type <c>
  • c ファイルのタイプを示し、それらは次のとおりです。
  • b ブロック(バッファリング)スペシャル
  • c 文字(バッファなし)スペシャル
  • d ディレクトリ
  • p 名前付きパイプ
  • f 通常のファイル
  • l シンボリックリンク
  • D ドア(Solaris)

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

find Documents/Karim -type f

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

find . -type f

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

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

find . -type f -empty

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

find . -type d -empty

サイズでファイルを検索

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

  • c:バイト
  • k:キロバイト
  • M:メガバイト
  • G:ギガバイト
  • b:512バイトブロック

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

find . -size 50c

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

find . -size +50c
find . -size -50c

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

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

find <path> -user <username>

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

find . -user vitux

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

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

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

apt-get install locate

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

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

updatedb

現在のディレクトリでlocateコマンドを使用してファイルを検索するには、端末で次の手順を実行します。

locate <filename>

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

locate test.txt

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

locate -i <filename>

また

locate -i test.txt

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

The post Debian 11でファイルとディレクトリを簡単に見つけるための2つのコマンド– VITUX appeared first on Gamingsym Japan.