オタブロ > IT知識 > インフラ > 【findコマンド】findコマンドの基本的な使い方

【findコマンド】findコマンドの基本的な使い方

IT知識

findコマンドはファイルやディレクトリの検索をかけたいときに役立ちます。

そのほかにもパーミッションや最終更新の日数で検索をかけたり使い方は様々です。

本記事では、主なfindコマンドの使い方について例を交えて紹介します。

スポンサーリンク

ファイル名で検索する

ファイル名の検索をかけたいときは以下の様になります。

$ find 検索先 -name ファイル名

testディレクトリにtest.txtを用意しました。

$ ls
test/

$ ls test
test.txt

検索式に「-name」を指定して拡張子が「.txt」のファイルで検索をかけると以下のような結果になります。

$ find test -name "*.txt"
test/test.txt

権限で検索する

権限で検索をかけたいときは以下の様になります。

$ find 検索先 -perm パーミッション

「test.txt」のパーミッションを644に変更します

$ chmod 644 test/test.txt

パーミッション644で検索すると644に変更した「test.txt」がヒットします

$ find test -perm 644
test/test.txt

種類で検索する

種類で検索をかけたいときは以下の様になります。

$ find 検索先 -type 種類

種類の箇所には

ファイルを探したいときは「f」

ディレクトリを探したいときは「d」

シンボリックリンクを探したいときは「l」を指定します。

$ find test -type f
test/test.txt

種類の箇所を「f」で検索をかけたのでファイルの「test.txt」がヒットします。

最終更新の日数で検索

最終更新の日数で検索をかけたいときは以下の様になります。

$ find 検索先 -mtime 日数

日数の箇所に0を指定すれば今日、-1であれば1日以内、-10であれば10日以内に更新のあったファイルが対象となります。

$ find test -type f -mtime 0
test/test.txt

ヒットした対象に対してコマンド実行

ヒットした対象に対してコマンド実行したいときは以下の様になります。

$ find 検索先 検索方法 -exec コマンド {} \;

以下のコマンドでは種類がファイルで今日更新があったものを削除しています。

$ find test -type f -mtime 0 -exec rm {} \;

タイトルとURLをコピーしました