\ ポイント最大11倍! /

【Linux】find コマンドでファイルやディレクトリを探し出そう!

  • Linux でファイルの検索がしたい!

このような方に向けて書きました。

Linux でファイル検索をしたいときは、findコマンドを使うのが効率的です。

本記事ではファイルを素早く見つけるための基本的な方法をお伝えします。

find コマンドでファイルやディレクトリを探し出そう!

findコマンドの使い方を基礎から解説します。

カレントディレクトリより下を検索する方法

現在のディレクトリよりも下の階層を対象に、特定のファイル名で検索をかけることができます。

コマンドは以下の通りです。

find . -name "filename.txt"

-nameは指定したパターンに一致するファイルやディレクトリを検索するコマンドです。

特定のディレクトリを対象に検索する方法

特定のディレクトリを対象に検索する場合、.の代わりにディレクトリを指定します。

find /home/user -name "filename.txt"

上記のコマンドは、/home/userディレクトリのみを対象にfilename.txtを探したい場合のものです。

.は現在のディレクトリを表します。

完全一致と部分一致

*(アスタリスク)をつけると、部分一致検索ができます。

# "file" で始まるファイルを検索
find /home/user -name "file*"

# "name" で終わるファイルを検索
find /home/user -name "*name"

# "file" を含むファイルを検索
find /home/user -name "*file*"

アスタリスクがワイルドカードの役割を果たすので、上記のようにすることで目的のファイルを効率的に見つけることができます。

大文字・小文字を区別せずに検索する

大文字・小文字を区別せずに検索するには-inameオプションをつけます。

find /home/user -iname "filename.txt"

これでfilename.txtはもちろん、Filename.TXTなども検索に引っかかるようになります。

特定の種類のファイルのみを検索対象にする

-typeオプションをつけると、特定のファイルタイプのみを検索対象にできます。

find . -type [ファイルタイプ]

上記のファイルタイプには、以下のようなものが入ります。

ファイルタイプ内容
f通常のファイル
dディレクトリ
lシンボリックリンク
cキャラクターデバイスファイル
bブロックデバイスファイル
p名前つきパイプ(FIFO)
sソケット
-typeに指定可能な形式

ファイルの最終更新日時を基準に検索

-mtimeオプションをつけると、最終更新日で検索がかけられます。

find . -mtime [日数]

[日数]には、以下のようなものを入れることができます。

-mtime n最終更新がn日前のファイルを検索
-mtime +n最終更新がn日より前のファイルを検索
-mtime -n最終更新がn日以内のファイルを検索
-mtimeに指定可能な形式

範囲指定することも可能です。

例えば最終更新が5日以内で、かつ2日より前のファイルを検索する場合は以下です。

find /home/user -mtime -5 -mtime +2

この記事が気に入ったら
フォローしてね!

シェア・記事の保存はこちら!

この記事を書いた人

karo@プログラマのアバター karo@プログラマ プログラマ

「書くことで人の役にたつ」をモットーに活動中。
本職はプログラマで、Pythonが得意。
基本情報技術者試験合格。

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)