【Linux】find -type|複数の型(type)を指定し検索する方法

Linuxを勉強したい人向け

findコマンドの-typeオプションを複数指定して検索したい人

Linuxのfindコマンドを便利に使いたい人
「findコマンドの-typeオプションを複数指定して検索したいのでやり方を教えてください。」

こんな疑問に答えます。

本記事の内容

  • 複数タイプを指定する構文
  • 指定可能なファイルタイプ
  • 複数タイプ指定する具体例

findで複数のtypeを指定する構文

findで複数のtypeを指定する構文

ファイルタイプを2つ指定する場合

find  《ディレクトリ》  \( -type 《タイプ1》 -o -type 《タイプ2》 \)

ファイルタイプを3つ指定する場合

find  《ディレクトリ》  \( -type 《タイプ1》 -o -type 《タイプ2》 -o 《タイプ3》 \)

-typeで指定可能なファイルタイプ

以下の3つを覚えておけばOKです。

 -type d : ディレクトリ
 -type f : ファイル
 -type l : シンボリックリンク

【具体例】findで複数のtypeを指定して検索する

findで複数のtypeを指定して検索する例

シンボリックリンクとディレクトリを指定してfindで検索する例を示します。

$ find . \( -type l -o -type d \) -ls

実行結果は以下の通りです。
[実行結果]

drwxr-xr-x 0 usr01 group01 32 1 2 21:55 .
drwxr-xr-x 2 usr01 group01 64 1 2 21:54 ./testDIR1
lrwxr-xr-x 1 usr01 group01 14 1 2 21:55 ./lnk2 -> /bin
drwxr-xr-x 2 usr01 group01 64 1 2 21:54 ./testDIR3
drwxr-xr-x 2 usr01 group01 64 1 2 21:54 ./testDIR2
lrwxr-xr-x 1 usr01 group01  8 1 2 21:55 ./lnk1 -> /usr/bin

findの-lsは、findの結果をls -lのように表示するオプションです。

おわりに

今回は以上です。バックスラッシュ(\)をカッコの前に付けてエスケープするのがポイントです。

おさらい

ファイルタイプを2つ指定する場合

find  《ディレクトリ》  \( -type 《タイプ1》 -o -type 《タイプ2》 \)

ファイルタイプを3つ指定する場合

find  《ディレクトリ》  \( -type 《タイプ1》 -o -type 《タイプ2》 -o 《タイプ3》 \)

Blog TOP  Linuxコマンドを勉強したい人向け|Linuxの使い方 記事まとめ

Linux&Linuxコマンドを勉強したい人向けの記事もくじ

用語解説・技術一般

  "UNIXとLINUX"の違いについて解説します
  CUIとGUIの違い・特徴について解説します

サーバリソースを確認するコマンドの使い方

  【Linux】CPU使用率を確認する3つの方法を解説します
  【Linux】topコマンドで,CPU消費の原因を特定する方法
  【Linux】ps実行時に-efオプションを付ける理由について
  【Linux】メモリ使用率を確認する|容量・空きの確認も
  【Linux】ディスク容量を確認する|ディスク容量監視も

ファイル操作に関するコマンドの使い方

  【Linux】ファイルの行数をカウントする方法を解説
  【Linux】文字コード変換ならiconvコマンド1択です
  【Linux】/dev/nullを、エンジニアが使う2つの目的
  【Linux】findのexecオプションの使い方とその注意点
  【Linux】findの結果から圧縮ファイルを作るコマンド
  【Linux】hostsの場所はどこ?→/etc/hostsにあります
  【Linux】touchコマンドで,時刻更新&空ファイル作成

Linux管理者用コマンドの使い方

  【Linux】再起動コマンド(shutdown)の使い方と注意点

よく使う便利なコマンドの使い方

  【Linux】改行なしでechoコマンドを使う時の -nオプション
  【Linux】sleepコマンドの使用例と注意点について解説する
  【Linux】rmコマンドでディレクトリを削除する方法を解説
  【Linux】ファイルを削除するコマンド2選【rm以外もあり】
  【Linux】awkの区切り文字を指定する,-Fオプションを解説
  【Linux】sedで文字列の置換をするeオプションを解説する
  【Linux】dateコマンドのフォーマットとその便利な使い方
  【Linux】大文字から小文字に変換する方法【小文字から大文字も】

シェルの便利機能

  【Linux】コマンド履歴を検索する【Ctrl+r】