目次
これは find コマンドの基本的な使い方です。次の例は、MyCProgram.c を検索名として使用して、現在のディレクトリとそのサブディレクトリ内のファイルを検索する方法を示しています。
これは find コマンドの基本的な使用法です。次の例は、検索名として MyCProgram.c を使用し、大文字と小文字を区別せずに、現在のディレクトリとそのサブディレクトリでファイルを検索する方法を示しています。
ルート ディレクトリとそのサブディレクトリで passwd ファイルを見つけます。
4. find コマンドで見つかったファイルに対してコマンドを実行します
5. 逆に、
6. i ノード番号を使用してファイルを検索する
7. ファイルのアクセス許可に基づいてファイルを検索する
8. ホームディレクトリとサブディレクトリ内のすべての空のファイル (0 バイトのファイル) を検索します
9. 最大 5 つのファイルを検索します
14. よく使用される検索操作にエイリアスを付けます
15. find コマンドを使用して、大きなパッケージ化されたファイルを削除します。
ホームページ 運用・保守 Linuxの運用と保守 Linux はよく使用される 15 のコマンドを見つけます

Linux はよく使用される 15 のコマンドを見つけます

Aug 10, 2017 am 11:10 AM
linux 注文

[はじめに] ディレクトリ構造内でファイルを検索する基本的な操作に加えて、find コマンドを使用していくつかの実用的な操作を実行し、コマンド ラインの作業を容易にすることもできます。この記事では、初心者にもベテランにも役立つ Linux の find コマンドを 15 個紹介します。まず、ホーム ディレクトリにファイルを作成します。ディレクトリ構造内のファイルの検索などの基本的な操作に加えて、find コマンドを使用していくつかの実用的な操作を実行することもでき、コマンド ラインの操作を容易にします。

この記事では、初心者とベテランの両方に非常に役立つ15のLinux findコマンドを紹介します。

まず、ホーム ディレクトリに次の空のファイルを作成し、以下の find コマンドの例をテストします。

01
#vim create_sample_files.sh
02
MybashProgram.sh をタッチします
03
mycprogram.cをタッチ
04
MyCProgram.cをタッチ
05
タッチプログラム.c
06
07
mkdirバックアップ
08
CDバックアップ
09
10
MybashProgram.sh をタッチします
11
mycprogram.cをタッチ
12
MyCProgram.cをタッチ
13
タッチプログラム.c
14
15
# chmod +x create_sample_files.sh
16
17
# ./create_sample_files.sh
18
19
#ls -R
20
.:
21
MybashProgram.sh MyCProgram.c をバックアップ
22
create_sample_files.sh mycprogram.c Program.c
23
24
./バックアップ:
251. ファイル名でファイルを検索
MybashProgram.sh mycprogram.c MyCProgram.c Program.c

これは find コマンドの基本的な使い方です。次の例は、MyCProgram.c を検索名として使用して、現在のディレクトリとそのサブディレクトリ内のファイルを検索する方法を示しています。

1
# find -name "MyCProgram.c"
2
./backup/MyCProgram.c
32. 大文字と小文字を区別せずにファイル名でファイルを検索します
./MyCProgram.c

これは find コマンドの基本的な使用法です。次の例は、検索名として MyCProgram.c を使用し、大文字と小文字を区別せずに、現在のディレクトリとそのサブディレクトリでファイルを検索する方法を示しています。

1
# find -iname "MyCProgram.c"
2
./mycprogram.c
3
./backup/mycprogram.c
4
./backup/MyCProgram.c
53. min Depth と max Depth を使用して、指定したディレクトリの検索の深さを制限します。
./MyCProgram.c

ルート ディレクトリとそのサブディレクトリで passwd ファイルを見つけます。

1
# find / -name passwd
2
./usr/share/doc/nss_ldap-253/pam.d/passwd
3 ./usr/bin/passwd
4 ./etc/pam.d/passwd
5 ./etc/passwd

ルート ディレクトリと 1 つのレベルの深さの 1 つのサブディレクトリで passwd を探します (例: ルート - レベル 1、および 1 つのサブディレクトリ - レベル 2)

1# find -max Depth 2 -name passwd
2 ./etc/passwd

ルート ディレクトリとその 2 レベルまでのサブディレクトリで passwd ファイルを探します (例: ルート - レベル 1、2 つのサブディレクトリ - レベル 2 と 3)

1# find / -max Depth 3 -name passwd
2 ./usr/bin/passwd
3 ./etc/pam.d/passwd
4 ./etc/passwd

第 2 レベルのサブディレクトリと第 4 レベルのサブディレクトリの間で passwd ファイルを探します。

1 # find -min Depth 3 -max Depth 5 -name passwd
2 ./usr/bin/passwd
3 ./etc/pam.d/passwd

4. find コマンドで見つかったファイルに対してコマンドを実行します

次の例は、「MyCProgram.c」という名前の大文字と小文字を区別しないすべてのファイルの MD5 検証合計を計算する find コマンドを示しています。 {} は現在のファイル名に置き換えられます。

1 find -iname "MyCProgram.c" -exec md5sum {} ;
2 d41d8cd98f00b204e9800998ecf8427e ./mycprogram.c
3 d41d8cd98f00b204e9800998ecf8427e ./backup/mycprogram.c
4 d41d8cd98f00b204e9800998ecf8427e ./backup/MyCProgram.c
5 d41d8cd98f00b204e9800998ecf8427e ./MyCProgram.c

5. 逆に、

と一致すると、名前が MyCProgram.c ではないすべてのファイルまたはディレクトリが表示されます。 max Depth が 1 なので、現在のディレクトリ内のファイルとディレクトリのみが表示されます。

1 find -max Depth 1 -not -iname "MyCProgram.c"
2 .
3 ./MybashProgram.sh
4 ./create_sample_files.sh
5 ./バックアップ
6 ./プログラム.c

6. i ノード番号を使用してファイルを検索する

すべてのファイルには一意の i ノード番号があり、それによってファイルを区別できます。類似した名前の 2 つのファイルを作成します。たとえば、1 つは末尾にスペースがあり、もう 1 つは末尾にスペースがありません。

1 「テストファイル名」をタッチ
2
3 #「テストファイル名」をタッチ
4 [注: 最後にスペースがあります]
5
6 # ls -1 テスト*
7 テストファイル名
8 テストファイル名

ls の出力からは、どのファイルの末尾にスペースがあるかを区別することはできません。オプション -i を使用すると、ファイルの i ノード番号が表示されるため、2 つのファイルを区別できます。

1 ls -i1 テスト*
2 16187429 テストファイル名
3 16187430 テストファイル名

以下に示すように、findコマンドでinode番号を指定できます。ここで、find コマンドは、inode 番号を使用してファイルの名前を変更します。

1 find -inum 16187430 -exec mv {} 新しいテストファイル名 ;
2
3 # ls -i1 *テスト*
4 16187430 新しいテストファイル名
5 16187429 テストファイル名


このテクニックは、上記のような不適切な名前のファイルに対して何かを実行したい場合に使用できます。たとえば、file?.txt という名前のファイルの名前には特殊文字が含まれています。 「rm file?.txt」を実行すると、以下の3つのファイルがすべて削除されます。そのため、以下の手順に従って「file?.txt」ファイルを削除してください。

1 ls
2 file1.txt file2.txt ファイル?.txt

各ファイルの i ノード番号を見つけます。

1 ls-i1
2 804178 file1.txt
3 804179 file2.txt
4 804180 ファイル?.txt

以下に示すように: i ノード番号を使用して、特殊記号を含むファイル名を削除します。

1 find -inum 804180 -exec rm {} ;
2
3 #ls
4 ファイル1.txt ファイル2.txt
5 [注: 「file?.txt」という名前のファイルは現在削除されています]

7. ファイルのアクセス許可に基づいてファイルを検索する

次の操作が適切です:

  • 指定されたアクセス許可を持つファイルを検索する

  • 他のアクセス許可ビットを無視して、指定されたアクセス許可に一致するかどうかを確認する

  • によるとto 指定された 8 進数/記号式の権限検索

この例では、ディレクトリに次のファイルが含まれていると仮定します。これらのファイルには異なる権限があることに注意してください。

1 ls -l
2 合計 0
3 -rwxrwxrwx 1 ルート ルート 0 2009-02-19 20:31 all_for_all
4 -rw-r--r-- 1 root root 0 2009-02-19 20:30Everyone_read
5 ---------- 1 root root 0 2009-02-19 20:31 no_for_all
6 -rw------ 1 root root 0 2009-02-19 20:29ordinary_file
7 -rw-r----- 1 root root 0 2009-02-19 20:27 Others_can_only_read
8 ----r----- 1 root root 0 2009-02-19 20:27 Others_can_only_read

グループ読み取り権限を持つファイルを見つけます。次のコマンドを使用して、ファイルに対する他の権限を無視して、同じグループ内のユーザーに読み取り権限を持つファイルを現在のディレクトリで検索します。

1 検索 . -perm -g=r -type f -exec ls -l {} ;
2 -rw-r--r-- 1 root root 0 2009-02-19 20:30 ./everybody_read
3 -rwxrwxrwx 1 ルート ルート 0 2009-02-19 20:31 ./all_for_all
4 ----r----- 1 root root 0 2009-02-19 20:27 ./others_can_only_read
5 -rw-r----- 1 root root 0 2009-02-19 20:27 ./others_can_only_read

グループ ユーザーに対して読み取り専用権限を持つファイルを検索します。

1 検索 . -perm g=r -type f -exec ls -l {} ;
2 ----r----- 1 root root 0 2009-02-19 20:27 ./others_can_only_read

グループ ユーザーに対して読み取り専用権限を持つファイルを検索します (8 進数の権限フォームを使用)。

1 検索 . -perm 040 -type f -exec ls -l {} ;
2 ----r----- 1 root root 0 2009-02-19 20:27 ./others_can_only_read

8. ホームディレクトリとサブディレクトリ内のすべての空のファイル (0 バイトのファイル) を検索します

以下のコマンドの出力ファイルのほとんどは、他のプログラムによって作成されたロックされたファイルと場所ファイルです

1 ~ - 空を見つける

ホームディレクトリ内の空のファイルのみをリストします。

1 検索 . -max Depth 1 -空


現在のディレクトリ内の非表示ではない空のファイルのみがリストされます。

1 find . -max Depth 1 -empty -not -name ".*"

9. 最大 5 つのファイルを検索します

次のコマンドは、現在のディレクトリとサブディレクトリ内の最大 5 つのファイルをリストします。コマンドで処理する必要があるファイルの数に応じて、これには時間がかかります。

1 find . -type f -exec ls -s {} ;
10. 最小の 5 つのファイルを見つける方法

は、最大の 5 つのファイルを見つける方法と似ていますが、ソート順序が降順である点が異なります。

1find . -type f -exec ls -s {} ; 上記のコマンドでは、表示されているのは単なる空のファイル (0 バイトのファイル) である可能性が非常に高くなります。したがって、次のコマンドを使用すると、0 バイトのファイルの代わりに最小のファイルを一覧表示できます。

111. 指定されたファイルタイプのファイルを検索するには、-type を使用します
find . -not -empty -type f -exec ls -s {} ;
ソケットファイルのみを検索します

1 .-type を見つけるすべてのディレクトリを検索

1-タイプdすべての一般ファイルを検索
を見つける

1find .-type fすべての隠しファイルを見つける

1find . -type f -name ".*"すべての隠しディレクトリを検索

1find -type d -name ".*"12. 変更時間を他のファイルと比較してファイルを検索
指定されたファイルより後に変更されたファイルを表示します。以下の find コマンドは、normal_file の後に作成および変更されたすべてのファイルを表示します。

01ls -lrt
02合計 0
03-rw-r----- 1 root root 0 2009-02-19 20:27 Others_can_only_read
04----r----- 1 root root 0 2009-02-19 20:27 Others_can_only_read
05-rw------ 1 root root 0 2009-02-19 20:29ordinary_file
06-rw-r--r-- 1 root root 0 2009-02-19 20:30Everyone_read
07-rwxrwxrwx 1 ルート ルート 0 2009-02-19 20:31 all_for_all
08---------- 1 root root 0 2009-02-19 20:31 no_for_all
09
10# -新しい通常のファイルを検索
11.
12./everybody_read
13./オールフォーオール
14./すべて禁止13. ファイル サイズでファイルを検索します
ファイル サイズでファイルを検索するには、-size オプションを使用します。

指定したファイルより大きいファイルを検索します

1検索 ~ -サイズ +100M

指定したファイルより小さいファイルを検索

1 検索 ~ -サイズ -100M

指定されたサイズに一致するファイルを検索

1 検索 ~ -サイズ 100M

注: - は指定されたサイズより小さいことを意味し、+ は指定されたサイズより大きいことを意味します。指定されたサイズとまったく同じサイズを示す記号はありません。

14. よく使用される検索操作にエイリアスを付けます

便利なものを見つけたら、それにエイリアスを付けることができます。どこでも好きな場所で実行できます。

通常、a.out ファイルを削除するために使用されます。

1 エイリアス rmao="find . -iname a.out -exec rm {} ;"
2 #ルマオ

Cプログラムで生成されたコアファイルを削除します。

1 エイリアス rmc="find . -iname core -exec rm {} ;"
2 #rmc

15. find コマンドを使用して、大きなパッケージ化されたファイルを削除します。

次のコマンドは、100M を超える *.zip ファイルを削除します。

1 find / -type f -name *.zip -size +100M -exec rm -i {} ;"

Heavy Rain 100M のすべての *.tar ファイルを削除するには、エイリアス rm100m を使用します。同じ考え方を使用して、rm1g、rm2g、および rm5g というカテゴリ名を作成して、1G、2G、および 5G を超えるすべてのファイルを削除できます。

1 エイリアス rm100m="find / -type f -name *.tar -size +100M -exec rm -i {} ;"
2 # alias rm1g="find / -type f -name *.tar -size +1G -exec rm -i {} ;"
3 # alias rm2g="find / -type f -name *.tar -size +2G -exec rm -i {} ;"
4 # alias rm5g="find / -type f -name *.tar -size +5G -exec rm -i {} ;"
5
6 #rm100m
7 #rm1g
8 #rm2g
9 #rm5g

コマンド例を探す(パート2)

以上がLinux はよく使用される 15 のコマンドを見つけますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Nginxが開始されるかどうかを確認する方法 Nginxが開始されるかどうかを確認する方法 Apr 14, 2025 pm 01:03 PM

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

Linuxでnginxを開始する方法 Linuxでnginxを開始する方法 Apr 14, 2025 pm 12:51 PM

Linuxでnginxを開始する手順:nginxがインストールされているかどうかを確認します。 systemctlを使用して、nginxを開始してnginxサービスを開始します。 SystemCTLを使用して、NGINXがシステムスタートアップでNGINXの自動起動を有効にすることができます。 SystemCTLステータスNGINXを使用して、スタートアップが成功していることを確認します。 Webブラウザのhttp:// localhostにアクセスして、デフォルトのウェルカムページを表示します。

nginxサーバーを開始する方法 nginxサーバーを開始する方法 Apr 14, 2025 pm 12:27 PM

NGINXサーバーを起動するには、異なるオペレーティングシステムに従って異なる手順が必要です。Linux/UNIXシステム:NGINXパッケージをインストールします(たとえば、APT-GetまたはYumを使用)。 SystemCtlを使用して、NGINXサービスを開始します(たとえば、Sudo SystemCtl Start NGinx)。 Windowsシステム:Windowsバイナリファイルをダウンロードしてインストールします。 nginx.exe実行可能ファイルを使用してnginxを開始します(たとえば、nginx.exe -c conf \ nginx.conf)。どのオペレーティングシステムを使用しても、サーバーIPにアクセスできます

nginx403エラーを解く方法 nginx403エラーを解く方法 Apr 14, 2025 pm 12:54 PM

サーバーには、要求されたリソースにアクセスする許可がなく、NGINX 403エラーが発生します。ソリューションには以下が含まれます。ファイル許可を確認します。 .htaccess構成を確認してください。 nginx構成を確認してください。 SELINUXアクセス許可を構成します。ファイアウォールルールを確認してください。ブラウザの問題、サーバーの障害、その他の可能なエラーなど、他の原因をトラブルシューティングします。

nginx403を解く方法 nginx403を解く方法 Apr 14, 2025 am 10:33 AM

Nginx 403禁止エラーを修正する方法は?ファイルまたはディレクトリの許可を確認します。 2。HTACCESSファイルを確認します。 3. nginx構成ファイルを確認します。 4。nginxを再起動します。他の考えられる原因には、ファイアウォールルール、Selinux設定、またはアプリケーションの問題が含まれます。

nginx304エラーを解く方法 nginx304エラーを解く方法 Apr 14, 2025 pm 12:45 PM

質問への回答:304変更されていないエラーは、ブラウザがクライアントリクエストの最新リソースバージョンをキャッシュしたことを示しています。解決策:1。ブラウザのキャッシュをクリアします。 2.ブラウザキャッシュを無効にします。 3.クライアントキャッシュを許可するようにnginxを構成します。 4.ファイル許可を確認します。 5.ファイルハッシュを確認します。 6. CDNまたは逆プロキシキャッシュを無効にします。 7。nginxを再起動します。

Nginxが起動されているかどうかを確認する方法は? Nginxが起動されているかどうかを確認する方法は? Apr 14, 2025 pm 12:48 PM

Linuxでは、次のコマンドを使用して、nginxが起動されるかどうかを確認します。SystemCTLステータスNGINXコマンド出力に基づいて、「アクティブ:アクティブ(実行)」が表示された場合、NGINXが開始されます。 「アクティブ:非アクティブ(dead)」が表示されると、nginxが停止します。

nginxエラーログをクリーニングする方法 nginxエラーログをクリーニングする方法 Apr 14, 2025 pm 12:21 PM

エラーログは、/var/log/nginx(Linux)または/usr/local/var/log/nginx(macos)にあります。コマンドラインを使用して手順をクリーンアップします。1。元のログをバックアップします。 2。新しいログとして空のファイルを作成します。 3。nginxサービスを再起動します。自動クリーニングは、LogroTateや構成などのサードパーティツールでも使用できます。

See all articles