ブービ—ブブー...コンピュータ処理中...コンピュータ処理中...シーケンス42を開始します...
やれやれ、クレイジーなロボットたちがまた仕事に精を出しているようです!このページを乗っ取ってあなたの使用言語に翻訳しました。ロボットたちの金属のハートにあるのは本当に善意だけなんです。助けになりたいんです!ページ下のボタンから、ロボットの様子を見てみましょう。 英語版に進む

Linux 上のファイルを検索する方法

作業は非常にプロセスは、巨大なディレクトリ木を手動で検索して、非常に困難 Linux オペレーティング システムで、特定のファイルのどこに覚えられるようにできます。そのため、持って検索を行う Linux ですか。幸いなことは、Linux ディストリビューション、全体でファイルを検索する非常に簡単に操作のツールを提供します。

問題が ベーシック - 1|中 ~ 2 |高度な - 3
時間が必要です。 15 分
関連する製品 Linux ベースの VPS または専用サーバー
SSH を有効になっているホスティング Linux ベース共有

Linux にファイルを検索する方法

検索] は、コンピューターのどこでもファイルを検索するための主要なツールです。 最も基本的な検索を実行、次の構文を使用しています。

find [path] [flags]

pathそしてflagsどちらも任意ですが、デフォルトで検索は再帰的に戻り、現在のディレクトリとサブディレクトリ内のすべてのファイルのパス。

./.bashrc
./.ssh
./.ssh/authorized_keys
./.monit.state
./.aptitude
./.aptitude/cache
./.aptitude/config
./.profile
./.psql_history
./.gem
...

名による検索

特定の名前を使用してファイルを探します、-name検索に続いてフラグです。 例えば:

find -name foo
./misc/foo

すべてのファイルを検索するには、正確な社名 foo で現在のディレクトリにします。 この場合、私の他のディレクトリに 1 つのファイルが見つかりませんでした。 使用して、-inameフラグは、代わりに、大文字と小文字を使用します。

find -iname FoO
./misc/foo

アスタリスク (*) を使用して、ワイルドカードを利用して検索できます。

find -name foo*
./misc/foobar.txt
./misc/foobar.sh
./misc/foo
./misc/foobar

場所を検索

現在のディレクトリ外検索して、多くの場合は必須です、検索コマンドを後すぐにパス オプションを使用して簡単に行うことができます。

たとえば、システム全体でファイルを探します、使用します。/ pathオプション:

find / -name foo*
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar
/usr/lib/node_modules/npm/node_modules/semver/foot.js
/usr/share/automake-1.14/am/footer.am
/usr/share/doc/xml-core/examples/foo.postrm
...

この場合、/その他のルート ディレクトリ内にあるそれらのファイルを見つけ、必要に応じてダウン検索パスを絞ることができます。

find ~/misc -name foo*
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar

使用することも複数pathsで 2 つ以上の特定の場所で検索するコマンド。 ここでは、ルート/その他と/usr/share/doc ディレクトリの両方に検索します。

find ~/misc /usr/share/doc -name foo*
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar
/usr/share/doc/xml-core/examples/foo.postrm
/usr/share/doc/xml-core/examples/foo.xmlcatalogs
/usr/share/doc/xml-core/examples/foo.postinst
/usr/share/doc/xml-core/examples/foo.prerm
/usr/share/doc/m4/examples/foo

タイプでの検索

お客様の検索を絞り込む他の一般的なフラグします。-type、すべてのファイルに関連付けられている Unix ベースの識別子に基づいてファイルを検索できます。

たとえば、使用することができます、-type d条件に一致するディレクトリのみを検索する警告します。

find / -type d -name foo*
/root/misc/foobar

次の識別子の完全なリスト、-typeフラグを確認できます。マニュアル、いくつかの最も一般的なは。

  • -type dディレクトリについて
  • -type fファイル
  • -type lリンクを

時間による検索

時間が作成または変更されたファイルを探してログまたは特定のディレクトリに変更を分析するため、非常に便利なツールがすることができます。

3 つのカテゴリーの時間に基づく検索コマンドがあります: アクセス、変更、修正します。 3 つのすべての時間カテゴリも 2 種類がありますサブドメインは、検索 timespan を決定する: 分を日で検索するときは、数分間で検索します。

フラグの期間ベースの数値 (n) は、マイナス、プラス、または中立にすることができます。

  • nn を正確に一致する時間を検索します。
  • +nn 以上の期間を検索します。
  • -nn 未満の期間を検索してください。

たとえばを使用して、-atimeフラグ、ファイルの最後をまたはに書き込まれる日時に基づいてファイルを検索できるようになります。 検索するには、1 日前にアクセスしたすべての foo 名前のファイルが入力します。

find / -atime -1 -name foo*
/root/misc/foobar.txt
/root/misc/foobar.sh
/root/misc/foo
/root/misc/foobar

最後に使用 45 分以内にアクセスのファイルをすべて foo という名前を見つけるため、-amin代わりに警告します。

find / -amin -45 -name foo*
/root/misc/foo

使用することも、-cminそして-ctime最後に (一般的に移動するとき、ファイルがシステム内の新しい場所に) ファイルの i ノード データが変更されたファイルを同様にフラグです。

Foobar.txt ファイルを移動後は今すぐ last10 分以内に変更されたすべての foo というファイルの検索結果。

mv /root/misc/foobar.txt /root/other/foobar.txt
find / -cmin -10 -name foo*
/root/other/foobar.txt

最後にフラグ-mminそして-mtimeに基づいてファイルを検索することを可能にします前回のファイルの内容が変更されました.

猫を使用して > コマンド foobar.txt ファイルに新しいテキストを追加して、今は最後の 5 分以内に変更されたファイルを検索するときに掲載されています。

cat > ~/other/foobar.txt
This is a new line.
ctrl+c
find / -mmin -5 -name foo*
/root/other/foobar.txt

ファイルの内容を検索

ファイル内の実際のテキスト コンテンツに基づいてファイルを検索したい場合は、検索] を使用して他の unix コマンドを組み合わせることも、-exec警告のうえ停止します。

組み合わせることで、-exec非常に強力なで正規表現ツール、すべて foo というファイルとしてまでも特定のテキストを含むが見つかります。

find / -type f -name foo* -exec grep -i "My favorite foods are" /dev/null {} +
/root/misc/foobar.sh:My favorite foods are:
/root/misc/foo:My favorite foods are:
/root/other/foobar.txt:My favorite foods are:

全体のコマンドようですが、非常に困難本当に 2 つの基本単位では、のみ。

find / -type f -name foo*

までにここでは、ここを検索するすべてのファイル、読み取りの foo で始まる名前の対応検索コマンドの基本機能です。

-exec grep -i "My favorite foods are" /dev/null {} +

後半のコマンドを使用して、新しい-exec警告のうえ、検索結果で実行する unix コマンドの直後にします。 この場合、重要なコンポーネントは次のとおりです。

grep -i "My favorite foods are"

ファイルの内容が検索されます (大文字と小文字ために、-iフラグ) テキストの「私のお気に入りの料理います」

同じコマンドを実行中ですが「apple」を検索する代わりに apple お好きな料理の 1 つとして登録されている 2 つのファイルがある弊社をご覧ください。

find / -type f -name foo* -exec grep -i "apple" /dev/null {} +
/root/misc/foobar.sh:apple
/root/other/foobar.txt:apple

これを使用するだけで簡単な概要中-exec正規表現警告のうえ、検索で検索、非常に高いレベルの汎用性と検索機能を提供します。

今すぐ規定にアクセスし、これらのファイルを検索しましょう!


この記事は役に立ちましたか。
フィードバックへのご協力ありがとうございました。 お客様サービススタッフとお話しになりたい場合は、上記のサポート用電話番号またはチャット機能をご利用ください。
お役にたてて光栄です! 何か他にできることはありませんか。
それはすみません。 わかりにくい点や、解決策で問題が解決できなかった理由等を教えてください。