Linux ファイルとファイル コンテンツ検索コマンドの概要

Linux 環境では、ファイルやその内容を検索したいことがよくありますが、多くの検索コマンドがあります。これらのコマンドにはどのような違いがあり、どのように選択して使用すればよいのでしょうか?

以下は、いくつかの一般的なファイル検索およびコンテンツ検索コマンドをまとめたものです。後で使用するために保存しておいてください。

ファイル検索

ここで

コマンド パスと、コマンドに関連するヘルプ マニュアル ファイルのパスを表示します。パラメータに応じて、コマンド、ソース ファイル、man ファイルのみを照会できます。

共通パラメータ

  • -b : 実行可能ファイルを検索
  • -m : man パスの下にあるヘルプ ファイルを検索します。
  • -s : ソース コード ファイルを検索
whereis pwd #查找pwd命令的相关文件
whereis -m pwd #查找pwd命令的帮助文件
复制代码

見つける

Linux の組み込みインデックス データベース /var/lib/mlocate/mlocate.db からファイルを検索します.クエリ速度は非常に高速ですが、新しく作成されたファイルがインデックス データベースに追加されるまでに時間がかかる場合があります.実行できます.インデックスの更新を強制する updatedb コマンド。通常、このコマンドは多数の一致を返しますが、これは-rオプションを使用した正規表現によって正確に一致させることができます。

Centos にはデフォルトでこのコマンドがありません。インストールする必要がありますyum install mlocate。その後、updatedb を実行してファイル ライブラリを初期化します。

フォーマット:locate [选项] 文件名

共通パラメータ

  • -i: 大文字と小文字を区別しない
  • -l: 数行のみを出力します。たとえば、出力 5 行は -l 5 です。
  • -r : 正規表現を続けることができる表示モード
  • -c: ファイル名を出力せず、見つかったファイルの数のみをカウントします。

一般的な使用例

locate pwd # 查找pwd命令相关的所有文件
locate /etc/sh # 查找etc目录下以sh开头的文件
locate -c /etc/sh #查找etc目录下以sh开头的文件数
locate -l 4 passwd # 是输出前4行

复制代码

探す

find の機能は非常に強力です. ファイル システムから検索します. デフォルトでは, ルート ディレクトリから検索します. 速度は非常に遅いです. 通常, 指定したディレクトリ内の適切なファイルを検索します.

フォーマット:find + 查找的路径 + 参数 + 限定条件

共通パラメータ:

  • -name: 名前で検索
  • -type: ファイル タイプ ルックアップをインストールします (「f」はファイルを示し、「d」はフォルダーを示します)。
  • -size: サイズで探す
  • -perm: 権限に基づく検索
  • -mtime: 変更時間に基づく検索
  • -atime: アクセス時間に基づいて検索

一般的な使用例

find ./ -name test.sh # 查看当前目录下名为test.sh的文件
find ./ -name '*.sh' # 查找当前目录下后缀为sh的文件。
find /etc -type f # 查找etc目录下的所有文件
find /etc -type d # 查找etc目录下的所有文件夹
find /home -size 10M #  查找home目录下等于10M的文件
find /home -size +10M # 查找home目录下大于10M的文件
find /home  # 查找home目录下小于10M的文件
find /home -size +5M -size -10M # 查找home目录下大于5M小于10M的文件
find /home -perm 777 # 查找home目录下权限为777的文件或目录
find / -mtime -3 #查找3天内修改过的文件
find / -atime -3 #查找3天内访问过的文件
复制代码

要約すると、これら 3 つのコマンドはすべてファイルを検索するためのものであり、検索whereislocateにシステムの組み込みデータベースに基づいているため、効率が非常に高く、一方、find はハードディスクをトラバースして実際のファイルを検索するため、リソースの消費が少なくなります。は比較的大きく、速度は遅いです。一般的なファイルを見つけるには、最初にwhereisと を使用しますlocate。どちらも見つからない場合、またはさらに条件を使用して検索する必要がある場合は、find を使用します。

コンテンツ検索

grep

grep は Linux システムの強力なテキスト検索ツールで、テキスト ファイルまたはパイプライン データ ストリームから一致する行またはデータをフィルター処理できます。文字列または正規表現のマッチングを使用できます。

フォーマット:grep + 参数 + 模式匹配 + 查找的文件

共通パラメータ

  • -v: 一致しないテキストを表示します (一致する行をチェックします)
  • -i: 大文字と小文字を区別しない
  • -n: 一致する行と行番号を表示します
  • -c: 一致する行数を表示します
  • -o: 一致するコンテンツのみを出力します
  • -w: フィルタリングされた文字列と完全に一致

一般的な使用例

grep "cpu" cpuinfo # 输出文件中包含cpu的行
grep -v "cpu" cpuinfo # 输出文件中不包含cpu的行
grep -n "cpu" cpuinfo # 输出文件中包含cpu的行及行号
grep -c "cpu" cpuinfo # 输出文件中匹配cpu字符串的数量
grep -o "cpu" cpuinfo # 只输出匹配的内容cpu
grep -w "cpu" cpuinfo # 只匹配cpu这个单词的行
复制代码

ヴィム

特定の文字列の位置を見つけたい場合は、vi/vim コマンドの検索機能を使用することもできます。

以下の方法:

1. コマンド モードで「/string」と入力します (「/cpu」など)。

2. 「n」を入力して次のものを検索し、「N」を入力して前のものを検索します。

 

おすすめ

転載: blog.csdn.net/NHB456789/article/details/130365371