35Linux検索コマンドの実用例


Linux Find Commandは、Unixライクなオペレーティングシステムで最も重要で頻繁に使用されるコマンドコマンドラインユーティリティの1つです。検索コマンドは、引数に一致するファイルに指定した条件に基づいて、ファイルとディレクトリのリストを検索および検索するために使用されます。

検索は、アクセス許可、ユーザー、グループ、ファイルタイプ、日付、サイズ、およびその他の可能な基準でファイルを検索できるなど、さまざまな条件で使用できます。

この記事を通じて、私たちは日々のLinuxfindコマンドの経験とその使用法を例の形で共有しています。

この記事では、Linuxで最もよく使用される35の検索コマンドの例を紹介します。このセクションは、findコマンドの基本的な使用法から高度な使用法までの5つの部分に分かれています。

  1. Part I: Basic Find Commands for Finding Files with Names
  2. Part II: Find Files Based on their Permissions
  3. Part III: Search Files Based On Owners and Groups
  4. Part IV: Find Files and Directories Based on Date and Time
  5. Part V: Find Files and Directories Based on Size
  6. Part VI: Find Multiple Filenames in Linux

現在の作業ディレクトリで、名前がtecmint.txtであるすべてのファイルを検索します。

# find . -name tecmint.txt

./tecmint.txt

/ homeディレクトリの下にあるtecmint.txtという名前のすべてのファイルを検索します。

# find /home -name tecmint.txt

/home/tecmint.txt

名前がtecmint.txtで、大文字と小文字の両方が含まれているすべてのファイルを/ homeディレクトリで検索します。

# find /home -iname tecmint.txt

./tecmint.txt
./Tecmint.txt

/ directoryで名前がTecmintであるすべてのディレクトリを検索します。

# find / -type d -name Tecmint

/Tecmint

現在の作業ディレクトリで、名前がtecmint.phpであるすべてのphpファイルを検索します。

# find . -type f -name tecmint.php

./tecmint.php

ディレクトリ内のすべてのphpファイルを検索します。

# find . -type f -name "*.php"

./tecmint.php
./login.php
./index.php

権限が777であるすべてのファイルを検索します。

# find . -type f -perm 0777 -print

許可なくすべてのファイルを検索する777。

# find / -type f ! -perm 777

パーミッションが644に設定されているすべてのSGIDビットファイルを検索します。

# find / -perm 2644

権限が551であるすべてのスティッキービットセットファイルを検索します。

# find / -perm 1551

すべてのSUIDセットファイルを検索します。

# find / -perm /u=s

すべてのSGIDセットファイルを検索します。

# find / -perm /g=s

すべての読み取り専用ファイルを検索します。

# find / -perm /u=r

すべての実行可能ファイルを検索します。

# find / -perm /a=x

777個のパーミッションファイルをすべて検索し、chmodコマンドを使用してパーミッションを644に設定します。

# find / -type f -perm 0777 -print -exec chmod 644 {} \;

777のパーミッションディレクトリをすべて検索し、chmodコマンドを使用してパーミッションを755に設定します。

# find / -type d -perm 777 -print -exec chmod 755 {} \;

tecmint.txtという単一のファイルを見つけて削除します。

# find . -type f -name "tecmint.txt" -exec rm -f {} \;

.mp3や.txtなどの複数のファイルを見つけて削除するには、を使用します。

# find . -type f -name "*.txt" -exec rm -f {} \;

OR

# find . -type f -name "*.mp3" -exec rm -f {} \;

特定のパスの下にあるすべての空のファイルを検索します。

# find /tmp -type f -empty

特定のパスの下にあるすべての空のディレクトリをファイリングします。

# find /tmp -type d -empty

すべての隠しファイルを見つけるには、以下のコマンドを使用します。

# find /tmp -type f -name ".*"

所有者ルートの/ルートディレクトリの下にあるtecmint.txtというすべてまたは単一のファイルを検索します。

# find / -user root -name tecmint.txt

/ homeディレクトリの下のユーザーTecmintに属するすべてのファイルを検索します。

# find /home -user tecmint

/ homeディレクトリの下のグループDeveloperに属するすべてのファイルを検索します。

# find /home -group developer

/ homeディレクトリの下にあるユーザーTecmintのすべての.txtファイルを検索します。

# find /home -user tecmint -iname "*.txt"

50日前に変更されたすべてのファイルを検索します。

# find / -mtime 50

50日前にアクセスされたすべてのファイルを検索します。

# find / -atime 50

50日以上100日未満で変更されたすべてのファイルを検索します。

# find / -mtime +50 –mtime -100

過去1時間に変更されたすべてのファイルを検索します。

# find / -cmin -60

過去1時間に変更されたすべてのファイルを検索します。

# find / -mmin -60

過去1時間にアクセスされたすべてのファイルを検索します。

# find / -amin -60

50MBのファイルをすべて検索するには、を使用します。

# find / -size 50M

50MBより大きく100MB未満のすべてのファイルを検索します。

# find / -size +50M -size -100M

すべての100MBファイルを検索し、1つのコマンドを使用してそれらを削除します。

# find / -type f -size +100M -exec rm -f {} \;

10MBを超えるすべての.mp3ファイルを検索し、1つのコマンドを使用してそれらを削除します。

# find / -type f -name *.mp3 -size +10M -exec rm {} \;

これで、この投稿はここで終了します。次の記事では、他のLinuxコマンドについて実際の例を使用して詳細に説明します。コメント欄を利用して、この記事に対するご意見をお聞かせください。