あなたが探しているものを発見する方法は、あなたが思っていたよりも深くなる可能性があります、またはそれは角を曲がったところにあるかもしれません。それはすべて、あなたがどのように見えるか、どこに見えるか、そしてあなたが何を探しているかに依存します。発生する問題のトラブルシューティングを行う場合、見た目よりも簡単な場合があります。私のお気に入りのツールの1つは、find
です。 指図。 find
コマンドは、ディレクトリツリーをウォークスルーし、各パスがリストされているディレクトリに降順で移動し、リストされている各ファイルに追加された式を評価するためのユーティリティです。このコマンドを使用すると、かなり多くのことを達成できます。この記事では、find
を支援するために、さまざまな方法とワンライナーについて説明します。 大きなファイル、find
複数のファイル、さらには特定のファイルタイプを見つけることもできます。
Linuxで複数のファイルを検索する
find
コマンドはさまざまな方法で使用されます。システム管理者としてやりたくないことの1つは、必要以上に一生懸命働くことです。同じコマンドを実行して1つのファイルを何度も検索する代わりに、find
を使用できます。 同時に複数のファイルを検索するコマンド。
$ find /home -type f -name file.txt -exec {} \;
このワンライナーは分解することができます。文章として読むのが一番いいと思います:
-
/home
を検索する ディレクトリ - ファイルの検索(
-type f
)またはディレクトリ(-type d
) - ファイル名はfile.txt(
-name file.txt
) - 前の出力から別のコマンドを実行する
Linuxで大きなファイルを探す
find
を使用することもできます Linuxで大きなファイルを検出します。大きなファイルを見つけることは、長期的には私にとって役立つことが証明されています。 find
バックアップやISOファイルなどの大きなファイルをすばやく見つけるのに役立ちます。
$ find / -type f -size +500000k -exec ls -lh {} \;
このワンライナーは分解することができます:
-
/
を検索する ディレクトリ - ファイルの検索(
type -f
) -
500000k
より大きいファイルを検索しています - コマンドの実行
ls -lh
前の出力で見つかったファイルについて
Linuxで特定のファイルタイプを検索する
もう1つの良い方法は、find
を使用してファイル拡張子を見つけることです。 指図。特定のキーワードだけで特定のファイルを見つける方法を示しているので、これは役に立ちます。この場合、以下の例では、特定の拡張子のみを含むファイルを探しています。
# find / -type f \( -name "*.sh" -o -name "*.txt" )
これを分析するには:
-
/
で検索 ディレクトリ - ファイルの検索(
-type f
)またはディレクトリ(-type d
) - ワイルドカードであり、拡張子が
.sh
で終わるファイル名を検索する または.txt
特定のキーワードに一致するファイル内のコンテンツを探しました。これらのコマンドは、目的の結果を達成するために微調整および変更できます。
Linuxで変更されたファイルを検索する
最後の例は、find
の方法を示しています 過去50日間に変更されたファイル。これは、セキュリティ上の理由で最近変更されたファイルを見つける必要がある場合、またはネットワーク上に他のファイルにアクセスする不要なユーザーがいる場合に役立ちます。
# find / -type f -ctime +50 -exec rm -f {} \;
上記のコマンドは次のことを示しています:
-
/
で検索 ディレクトリ - ファイルの検索(
-type f
)またはディレクトリ(-type d
) -
50
より古いファイルを検索する 日 - コマンド
rm -f
の実行 前の出力で見つかったファイルについて
これは、これらの悪意のあるファイルを一度にすべて削除するのに役立ちます。選択したファイルが削除したいファイルであることを確認する必要があります。確認する1つの方法は、exec
なしでコマンドを実行することです。 セクションを表示して、出力に表示されるファイルを確認します。多数のファイルがある場合は、出力をファイルにリダイレクトします。
# find / -type f -ctime +50 > files.txt
/etc
を削除するワンライナーを実行する前に、コンテンツを確認および検証できます。 フォルダ。理想的ではありません。
まとめ
find
コマンドにはさまざまな用途と可用性があり、管理者は必要なコンテンツを見つけることができます(しゃれは意図されていません)。このコマンドを使用すると、可能性は文字通り無限に広がります。トラブルシューティングに関しては、検索と調査に柔軟性を持たせることで、これまで気づかなかった可能性のあるものを探すことができます。その結果、探していた答えが見つかるかもしれません(しゃれを意図したものです)。
[無料のオンラインコース:Red HatEnterpriseLinuxの技術概要。 ]