Linuxのファイル検索でのLocate、Find、Grep、Whereis、およびどのコマンドの使用

1.ファイル検索ロケート

Linux Locateコマンドは、条件を満たすドキュメントを見つけるために使用されます。このコマンドは、ドキュメントとディレクトリの名前が保存されているデータベースの場所に移動し、テンプレートスタイルの条件を満たすドキュメントまたはディレクトリを見つけます。通常、指定するファイルの名前を入力するだけです。Locateはファイル名のみを検索できます

Locateコマンドの機能はfind -nameと同じですが、find検索より高速です。findコマンドは特定のディレクトリファイルを検索するのに対し、locateはデータベースを検索します/var/lib/mlocate/mlocate.db。このデータベースはすべてのローカルファイル情報を格納します。データベースはLinuxによって自動的に作成され、毎日自動的に更新および保守されます。関連する構成情報は、/etx/updatedb.conf,タイミングタスク情報にあり/etc/cron.daily/mlocateます。

ただし、新しく作成したファイルの場合、このコマンドを使用して検索すると、作成したファイルは検索されません。locateコマンドで新しく作成したファイルを検索する場合は、updatedbコマンドを使用しmlocateデータベースを更新しlocateコマンドを使用して検索できます。それ以外の場合は、ファイルを検索するために翌日まで待つ必要があります。デフォルトでは、バックグラウンドデータベースは1日に1回更新されます。

コマンド形式:

locate 参数 文件名

コマンドパラメータ:

  • -eは検索範囲から除外されます。
  • -1 1の場合。次に、セーフモードを開始します。セーフモードでは、ユーザーはアクセス許可で表示できないファイルは表示されません。Locateは実際のファイルシステムのファイル権限データを取得する必要があるため、これは最初は遅くなります。
  • -fは特定のファイルシステムを除外します。たとえば、データベースのprocファイルシステムにファイルを配置する必要はありません。
  • -qクワイエットモード。エラーメッセージは表示されません。
  • -n最大n個の出力を表示します。
  • -r正規表現を使用して条件を検索します。
  • -oは、データベースの名前を指定します。
  • dデータベースのパスを指定します
  • -h補助情報を表示します
  • -Vは、プログラムのバージョン情報を表示します

例えば:

指定されたファイル名を検索します。ファイル名を検索して、
ここに画像の説明を挿入
pwdに関連するすべてのファイルを
ここに画像の説明を挿入
検索します。5の数字のみを表示し、shで始まるetcディレクトリ内のすべてのファイルを検索
ここに画像の説明を挿入
大文字と小文字を無視します

locate -i 文件名

データベースを更新する

updatedb

2.ファイル名検索検索コマンド

構文フォーマット:

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {
    
    } \;

共通パラメーター:

  • -name filename#filenameという名前のファイルを検索
  • -perm#実行権限で検索
  • -user username#ファイルの所有者で検索
  • -group groupname#グループで検索
  • -mtime -n + n#ファイル変更時間でファイルを検索、-nはn日以内、+ nはn日前を意味
  • -atime -n + n#ファイルアクセス時間でファイルを検索、-nはn日以内、+ nはn日前を意味
  • -ctime -n + n#ファイルの作成時刻に従ってファイルを検索します。-nはn日以内を意味し、+ nはn日前を意味します
  • -nogroup#有効なグループがないファイル、つまりファイルのグループが/ etc / groupsに存在しないファイルを確認します
  • -nouser#有効な所有者のないファイルを確認します。つまり、ファイルの所有者は/ etc / passwdに存在しません。
  • -type b / d / c / p / l / f#ブロックデバイス、ディレクトリ、キャラクターデバイス、パイプ、シンボリックリンク、通常のファイルをチェックします
  • -size n [c]#nブロック[またはnバイト]の長さのファイルをチェックします
  • -mount#ファイルをチェックするときにファイルシステムのマウントポイントをクロスしません
  • -follow#シンボリックリンクファイルが見つかった場合は、リンクが指すファイルをたどる
  • -prune#ディレクトリを無視する

例えば:

特定のファイルの検索
一般に、findコマンドを使用してファイル名を検索する場合、ワイルドカード一致を使用できます(ワイルドカードは完全一致です)。

  • 任意のコンテンツに一致することを意味します。
  • ?任意の文字に一致することを意味します。
  • []は、括弧内の任意の文字に一致することを意味します。
find / -name 文件名

cuで始まるファイルを検索する

find ./ -name "cu*"

ファイルの検索では大文字と小文字が区別されません

find /root -iname 文件名

検索ディレクトリのファイルタイプはディレクトリです(fはファイル、dはディレクトリ、lはソフトリンクを意味します)。

find /home -type d

/ etcディレクトリで5分以内に属性が変更されたファイルとディレクトリを検索します

find /etc -cmin -5

512kより大きいファイルをチェックする

find   /home   -size   +512k     

512kより小さいファイルを確認する

find   /home   -size   -512k    

ルートディレクトリで100Mより大きいファイルを検索(+ nはより大きい、-nはより小さい、nは等しい)

1データブロック== 512バイト0.5KB、つまり1KBは2データブロックに等しい100MB == 102400KB204800データブロック

find / -size +204800

ハードリンクが2より大きいファイルまたはディレクトリを確認する

find   /home   -links   +2     

700の権限を持つファイルまたはディレクトリを確認する

find   /home   -perm   0700  

システムで過去10分間にアクセスされたファイルを検索する

find    /   -amin    -10   

システムで過去48時間にアクセスされたファイルを検索する

find    /   -atime   -2      

システムで空のファイルまたはフォルダーを検索する

find    /   -empty           

システムで過去5分間に変更されたファイルを検索する

find    /   -mmin   -5  

システムで過去24時間に変更されたファイルを検索する

find    /   -mtime   -1   

3.grepコマンド

Linuxシステムのgrepコマンドは強力なテキスト検索ツールであり、正規表現を使用してテキストを検索し、一致する行を出力できます。grepの完全な名前はGlobal Regular Expression Printです。これは、グローバル正規表現バージョンを意味し、その使用権限はすべてのユーザーに対してのものです。

フォーマット:
grep [选项] [文件]
共通パラメーター:
  • -n:一致する行と行番号を表示します。
  • -iは大文字と小文字を区別しないことを意味します。
  • -vは、指定された文字列を除外することを意味します。
  • -bは、実行可能ファイル(バイナリ)をテキストファイル(テキスト)として検索することを意味します。
  • -cは、見つかった行数のみを表示することを意味します。
  • -vは逆選択のみを意味し、「キーワード」のない行のみをリストします。
  • --Color = auto:見つかったキーワードに色を追加できます。
  • -A n:一致した文字列が存在する行と次のn行を表示します
  • -B n:一致した文字列の行とその最初のn行を表示します。
  • -C n:一致した文字列の行とその前後のn行を表示します。

一致する行と行番号を
ここに画像の説明を挿入
表示し、見つかった行数のみを表示し、dで始まるtestを含むすべての行を
ここに画像の説明を挿入
表示します

 grep 'test' d*

現在のディレクトリで、fileという接尾辞が付いたファイルの中から、テスト文字列を含むファイルを見つけます。

grep 'test' *file 

適格なファイルを再帰的に見つける

たとえば、指定したディレクトリ/ etc / acpiとそのサブディレクトリ(サブディレクトリがある場合)内のすべてのファイルで文字列 "update"を含むファイルを検索し、文字列が配置されている行の内容を出力します。

grep -r update /etc/acpi 

一致した文字列が存在する行と次のn行を
ここに画像の説明を挿入
表示します一致した文字列が存在する行と最初のn行を表示します
ここに画像の説明を挿入

4.whichコマンド

whichコマンドとwhereisコマンドはどちらも、Linuxオペレーティングシステムで実行可能ファイルのパスを見つけるコマンドです。
ここに画像の説明を挿入
どのコマンドの原則:PATH変数で指定されたパスでシステムコマンドの場所を検索し、最初の検索結果を返します。つまり、whichコマンドを使用すると、特定のシステムコマンドが存在するかどうか、およびコマンドが実行されている場所を確認できます。

によって検索される実行可能ファイルは、PATHに追加されていない実行可能ファイルではなく、PATHの下の実行可能ファイルである必要があります。実行可能ファイルであってもシステム検索パスに追加されていなくても、 。

5. whereisコマンド

Linux whereisコマンドは、ファイルを検索するために使用されます。

このコマンドは、特定のディレクトリで修飾ファイルを検索し、バイナリ(コマンド)、ソースファイル、およびmanファイルを検索するために使用できます。これとの違いは、このコマンドはPATHの代わりにファイルインデックスデータベースを介して検索できるため、検索領域はそれよりも広く、通常、locateコマンドはファイルの検索に使用されます。

共通パラメーター:
  • -bバイナリファイルのみを検索します。
  • -B <ディレクトリ>設定されたディレクトリでバイナリファイルのみを検索します。
  • -fファイル名の前にパス名を表示しません。
  • -mドキュメントのみを検索します。
  • -M <ディレクトリ>設定されたディレクトリでのみ記述ファイルを見つけます。
  • -sは、元のコードファイルのみを検索します。
  • -S <ディレクトリ>設定されたディレクトリで元のコードファイルのみを検索します。
  • -u指定されたタイプを含まないファイルを検索します。
例えば:

コマンド「whereis」を使用して、コマンド「bash」の場所を表示し、次のコマンドを入力します。
ここに画像の説明を挿入
注:上記の出力情報は、プログラム名bashパスおよびbashのmanページパスです。

bashコマンドのバイナリプログラムを
ここに画像の説明を挿入
表示するbashコマンドのヘルプファイルを表示する
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_38819889/article/details/107837950