Linux:: ファイル検索コマンド [2]: find コマンド (キーポイント): ファイル ツリー内のファイル (指定されたパス/ディレクトリ) を検索し、対応する処理 (場合によってはディスクにアクセス) を実行するために使用されます [ナレッジ システムで継続的に更新されます] 】

はじめに: この記事は Linux の基本操作の章の内容です。
私が使用している環境は Tencent Cloud Server: CentOS 7.6 64bit をベースとしています。


学習セット:


ディレクトリインデックス:
1. 基本的な構文形式と機能
2. ファイル検索の基本的な使い方
- - 2.1 テストケースの作成
- - 2.2 "-name": ファイル名によるファイルの検索 【ポイント】
- - 2.3 指定したファイルを検索する現在のディレクトリ/ディレクトリ
- - 2.4 指定されたディレクトリ内の指定されたファイル/ディレクトリを検索します
。 3. 検索の手順
4. おすすめの関連記事またはシリーズ


1. 基本的な構文形式と機能

基本構文: パス名を検索 [オプション]


機能: ファイル ツリー内のファイルを検索し、それに応じて処理するために使用されます (場合によってはディスクにアクセスします)。


更新された追加: find コマンドとgrep コマンドはインタビューで頻繁に言及され、類似点と相違点に答える必要があります。


2. ファイル検索の基本的な使い方

2.1 テストケースの作成

/* 指令测试准备 */
[Mortal@VM-12-16-centos test_findsome]$ mkdir -p a/aa
[Mortal@VM-12-16-centos test_findsome]$ mkdir -p a/bb
[Mortal@VM-12-16-centos test_findsome]$ mkdir -p a/cc
[Mortal@VM-12-16-centos test_findsome]$ mkdir -p b/aa
[Mortal@VM-12-16-centos test_findsome]$ touch a/aa/t1.txt
[Mortal@VM-12-16-centos test_findsome]$ touch a/aa/t2.txt
[Mortal@VM-12-16-centos test_findsome]$ touch a/cc/t2.txt
[Mortal@VM-12-16-centos test_findsome]$ touch b/aa/t2.txt
[Mortal@VM-12-16-centos test_findsome]$ tree .
.
|-- a
|   |-- aa
|   |   |-- t1.txt
|   |   `-- t2.txt
|   |-- bb
|   `-- cc
|       `-- t2.txt
`-- b
    `-- aa
        `-- t2.txt

6 directories, 4 files

2.2 "-name": ファイル名によるファイルの検索 【ポイント】

使用法:パス名 -name ファイル名を検索

  • [つまり: find はパス名を指定し、ファイル名を指定します]

注: 最初のクエリでは速度が遅くなる可能性がありますが、後続のクエリの速度は向上します。[最初の横断検索と理解でき、その過程でディスクにアクセスする可能性があります]

2.3 現在のディレクトリで指定されたファイル/ディレクトリを検索します

現在のディレクトリで指定されたファイル/ディレクトリを検索します

/* 查找当前目录下指定文件 */
[Mortal@VM-12-16-centos test_findsome]$ find . -name t2.txt
./b/aa/t2.txt
./a/cc/t2.txt
./a/aa/t2.txt

/* 查找当前目录下指定目录 */
[Mortal@VM-12-16-centos test_findsome]$ find . -name aa
./b/aa
./a/aa

2.4 指定されたディレクトリで指定されたファイル/ディレクトリを検索する

指定されたディレクトリ内で指定されたファイル/ディレクトリを検索します

[Mortal@VM-12-16-centos test_findsome]$ find ./a -name t2.txt
./a/cc/t2.txt
./a/aa/t2.txt

[Mortal@VM-12-16-centos test_findsome]$ find ./a -name t1.txt
./a/aa/t1.txt

/* 指定查找当前用户目录下的指定文件/目录 */
[Mortal@VM-12-16-centos test_findsome]$ ls ~
StudyingOrder_Linux  test1  test2  test3  test_cp  test_findsome  test_mkdir  test_mv  test_txtfile
[Mortal@VM-12-16-centos test_findsome]$ find ~ -name test_findsome
/home/Mortal/test_findsome

3. 検索に関する説明

  • Linux の find コマンドは、ディレクトリ構造内のファイルを検索し、指定された操作を実行します。
  • Linux の find コマンドは、かなりの数の検索条件を提供しており、非常に強力です。find には強力な機能があるため、多くのオプションもあり、そのほとんどは時間をかけて理解する価値があります。(現在のナレッジシステムはシンプルでファイルシステムなどの知識を含まないため、この記事の内容は継続学習中の find の使用法について継続的に更新されます。現時点では、単純な検索の理解のみです。 )

以下の手順は一時的な会議のためのものです。

  • システムにネットワーク ファイル システム (NFS) が含まれている場合でも、対応するアクセス許可を持っている限り、find コマンドはファイル システムでも有効です。
  • 非常にリソースを消費する find コマンドを実行する場合、大規模なファイル システム (ここでは 30G バイトを超えるファイル システムを指します) の移動に時間がかかる可能性があるため、多くの人はバックグラウンドで実行する傾向があります。


4. おすすめの関連記事またはシリーズ

1. Linux学習ディレクトリコレクション;


2. Linux :: [基本コマンド:: 検索/クエリコマンド: (1)]:: どのコマンド: システムファイル指定(コマンド) 検索コマンド | クエリコマンドのエイリアス 3. Linux:: コンテンツフィルタコマンド [3]
:grepコマンド 【詳しい説明】:指定したファイル内の検索情報をフィルタリングして、指定した文字列を含む内容を(あいまいに)検索します!


おすすめ

転載: blog.csdn.net/weixin_53202576/article/details/131153981