コマンドラインを使用してLinuxでファイルを検索する方法

前書き

 探す コマンドは、Linuxシステム管理コレクションで最も有用なツールの1つです。これは、Linux管理者が簡単な条件メカニズムに基づいてオブジェクトを再帰的にフィルタリングできるようにする強力なコマンドです。使用する 探す コマンドラインから簡単にファイルを見つけることができます 拡張, 名前, または 特定の表現.


コマンドは特定のアクションを適用し、アクションに一致するすべてのファイルの結果を表示します。ファイルはに基づいて見つけることができます 権限, 日付, サイズ, タイプ, 所有権, そして もっと.

このガイドでは、Linuxシステムでファイルを見つける方法を説明します。準備はいい?始めましょう!

Findコマンドの構文について

Findコマンドの使用方法を示す前に、その基本的な構文を理解する必要があります。すべて 探す ユーティリティ式は次の形式で記述されます。

$ find [options] [path …] [expression]

ここに;

  • オプション デバッグオプション、シンボリックリンク(シンボリックリンク)、および最適化方法の処理を指示する.
  •  のディレクトリを指定します 見つける コマンドはファイルを取得します.
  • 最終的に, 表情, 演算子で区切られたオプション、アクション、および検索パターンが含まれています.

これらの属性を備えたFindコマンドの例は次のようになります。

$ find -L / home / projects / -name "* .js" -exec chmod 644 {};

上記のコマンドで -L  それは オプション 許可するように書かれた コマンドを見つける シンボリックリンクをたどる。この属性により、Findはディレクトリツリー全体を精査します / home / projects /. の / home / projects / それは  コマンドで、それは指示します 探す で終わるファイルを検索するには 表情 .js。また、findコマンドは、言及されたファイルの権限を644に変更するように指示されます。.

タイプによるファイルの検索

タイプでファイルを検索する場合は、パラメータを使用します -タイプ 続いてファイルタイプの説明.

ファイルタイプの指定に使用される最も一般的な記述子には、次のものがあります。

  • b: ブロックデバイス
  • c: キャラクターデバイス
  • f:a 通常ファイル
  • l: シンボリックリンク
  • p: 名前付きパイプ(FIFO)
  • s: ソケット

たとえば、特定の場所にあるディレクトリを検索するには、次のコマンドを実行します。

$見つける。 -type d

または、Linuxシステムのすべてのキャラクターデバイスを見つけるには、次のコマンドを実行します。

$ find / -type c

すべてのファイルの権限を644に、すべてのディレクトリの権限を755に変更するには、次のコマンドを実行します。

$ find / var / www / my_project -type f -exec chmod 0644 {};
$ find / var / www / my_project -type d -exec chmod 0755 {};

名前によるファイルの検索

これは最も人気のあるLinuxの1つ 検索コマンド. このコマンドでは、 -名前 オプションと特定のファイル名。たとえば、タイトルのファイルを見つけるには document.pdf 場所で / home / hostadvice, あなたは単にコマンドを実行します:

$ sudo find / home / hostadvice -type f -name document.pdf

オプション -名前 に変更することができます -いなめ 大文字と小文字を区別しない検索を行う場合。たとえば、上記のコマンドは次のように実行できます。

$ sudo find / home / hostadvice -type f -iname document.pdf

これにより、DOCUMENT.pdf、Document.pdfなどの名前に一致するドキュメントが検索されます

拡張子によるファイルの検索

これは、名前でファイルを検索するのと似ていますが、名前が式で置き換えられるだけです。すべてを見つける .log.gz ディレクトリ内のファイル / var / log / nginx, コマンドを実行します。

$ find / var / log / nginx -type f -name ‘* .log.gz’

一方、式に一致しないファイルを検索する場合 * .log.gz, 追加する -ない 直前のパラメータ -名前 オプション.

$ find / var / log / nginx -type f -not -name ‘* .log.gz’

注意:ワイルドカード文字を使用する場合は、バックスラッシュを使用してアスタリスク記号をエスケープするか、式を引用する必要があります。これにより、Linuxシェルがワイルドカード文字を解釈できなくなります。.

サイズでファイルを見つける

サイズでファイルを見つけるのは簡単です。パラメータを渡すだけです。 -サイズ, サイズ形式と一緒に。最も人気のあるサイズのサフィックスには次のものがあります。

  • b: 512バイトのブロック(デフォルト)
  • c: バイト
  • G: ギガバイト
  • M: メガバイト
  • k: キロバイト
  • w: 全角単語

たとえば、「/ tmp」ディレクトリで1024バイトのファイルを見つけるには、次のコマンドを実行します。

$ find / tmp -type f -size 1024c

上記のコマンドは、1024バイト未満または1024バイトを超えるすべてのファイルに一致します。 1024バイトを超えるファイルを検索するには、 + ファイルサイズの直前。一方、1024バイト未満のファイルを検索するには、 マイナス ファイルサイズの前に署名します。たとえば、現在の作業ディレクトリで1M未満のファイルを見つけるには、次のコマンドを実行します。

$見つける。 -type f -size -1M

sizeコマンドを使用すると、範囲内のファイルを見つけることができます。たとえば、2〜3 MBのファイルを見つけるには、次のコマンドを実行します。

$見つける。 -type f -size + 2M -size3M

変更日によるファイルの検索

さらに、findコマンドを使用すると、最後のアクセス、変更、または変更時刻に基づいてファイルを検索できます。前のケースと同様に、マイナス記号とプラス記号を使用して、より小さいかより大きいかを示すことができます.

たとえば、 devcot設定ファイル その最後の5日間で、特定のファイル名を思い出せません。ディレクトリ内のすべてのファイルを検索できます /etc/dovecot/conf.d/ この間に変更されました。以下のコマンドを使用して、.confで終わるファイルを検索します。

$検索/etc/dovecot/conf.d -name "* .conf" -mtime 5

さらに良いことに、あなたは -デイスタート 変更された日に基づいてファイルをフィルタリングするオプション。ディレクトリ内のすべてのファイルを見つけるには / home, 1か月以上前に変更された場合、次のコマンドを実行します。

 $ find / home -mtime + 30-daystart

権限によるファイルの検索

許可によりファイルを検索するには、パラメーターを使用します -パーマ. たとえば、ディレクトリ内で775の権限を持つファイルを検索するには / var / www / html.

$ find / var / www / html -perm 644

上記のコマンドの数値モードの前には、 スラッシュ または マイナス シンボル。スラッシュが前に付いている場合、1つのグループ、ユーザー、またはその他のカテゴリーは、少なくともそのファイルが一致するように規定されているビットを所有している必要があります。例えば:

$見つける。 -パーマ/ 444

このコマンドは、グループ、ユーザー、またはその他のカテゴリの読み取り権限を備えたファイルの結果を提供します。マイナス記号を使用して数値の接頭辞を付ける場合、どのファイルでも一致するように規定ビットを指定する必要があります.

たとえば、次のコマンドは、対応する所有者の読み取りおよび書き込み権限を持つファイルを検索しますが、他のユーザーとグループには読み取り権限のみがあります。

$見つける。 -パーマ-664

所有者によるファイルの検索

ここでは、 -グループ そして -ユーザー グループまたはユーザーがそれぞれ所有するファイルを検索します。たとえば、次のユーザーが所有するディレクトリとファイルを検索するには hostadvice, 以下のコマンドを実行します。

$ find / -user hostadvice

または、が所有するファイルを検索するには www-data これらのファイルの所有権を変更して nginx, 次のコマンドを実行します。

$ find / -user www-data -type f -exec chown nginx {};

ファイルの検索と削除

ファイルの削除は、パラメーターを追加するのと同じくらい簡単で、ファイル一致式のサフィックスと同じです。結果がゴミ箱にしたいファイルのものであることを確認することは常に賢明です。たとえば、次で終わるファイルを削除するには .臨時 ディレクトリ内 / var / log /, 以下のコマンドを実行します。

$ find / var / log / -name `* .temp` -delete

結論

それでおしまい!多くの基準に基づいて、一般的に使用されるLinuxのfindコマンドを強調表示しました。コマンドを使用して、Linuxシステム内のファイルを検索できるようになりました.

これらの上位3つのLinuxホスティングサービスを確認する

FastComet

開始価格:
$ 2.95


信頼性
9.7


価格
9.5


使いやすい
9.7


サポート
9.7


特徴
9.6

レビューを読む

FastCometにアクセス

Hostinger

開始価格:
$ 0.99


信頼性
9.3


価格
9.3


使いやすい
9.4


サポート
9.4


特徴
9.2

レビューを読む

Hostingerにアクセス

ChemiCloud

開始価格:
$ 2.76


信頼性
10


価格
9.9


使いやすい
9.9


サポート
10


特徴
9.9

レビューを読む

ChemiCloudにアクセス

関連するハウツー記事

  • Linuxシステムでコマンドラインを使用してファイルとフォルダを作成する方法
    初心者
  • WindowsクライアントからCentOS 7 VPSにSSHを設定する方法
    中間
  • Ubuntu 18.04 VPSで実行されているApacheのキープアライブ設定を構成する方法
    中間
  • Apache Webサーバーを使用してUbuntu 18.04でWordPressマルチサイトを設定する方法
    中間
  • Ubuntu 18.04 VPSまたは専用サーバーにZen Cartをインストールして構成する方法
    中間
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me