【Linux】findコマンドチートリスト - j-komatsu/myCheatSheet GitHub Wiki

findコマンドチートリスト

目的

findコマンドを利用して、効率的にファイルやディレクトリを検索し、さらに検索結果を操作する。


インデックス

  1. ファイル名で検索
  2. 特定の拡張子を持つファイルを検索
  3. ディレクトリのみを検索
  4. ファイルサイズで検索
  5. 更新日時で検索
  6. アクセス日時で検索
  7. 特定ユーザーが所有するファイルを検索
  8. 複数の条件を組み合わせて検索
  9. 検索結果を削除
  10. 検索結果を別コマンドで処理

1. ファイル名で検索

  • 目的: 指定した名前のファイルを検索する。
  • 構文:
    find /path -name 'filename'
    
  • 使用例: /homeディレクトリからmyfile.txtを検索。

2. 特定の拡張子を持つファイルを検索

  • 目的: 特定の拡張子を持つファイルを検索する。
  • 構文:
    find /path -name '*.txt'
    
  • 使用例: .txtファイルをすべて検索。

3. ディレクトリのみを検索

  • 目的: ディレクトリだけを検索する。
  • 構文:
    find /path -type d
    
  • 使用例: /var/log以下のすべてのディレクトリを検索。

4. ファイルサイズで検索

  • 目的: 特定のサイズ以上または以下のファイルを検索する。
  • 構文:
    find /path -size +10M
    
  • 使用例: 10MB以上のファイルを検索。

5. 更新日時で検索

  • 目的: 更新日時が特定期間内のファイルを検索する。
  • 構文:
    find /path -mtime -7
    
  • 使用例: 過去7日以内に更新されたファイルを検索。

6. アクセス日時で検索

  • 目的: 特定期間内にアクセスされたファイルを検索する。
  • 構文:
    find /path -atime -1
    
  • 使用例: 過去24時間以内にアクセスされたファイルを検索。

7. 特定ユーザーが所有するファイルを検索

  • 目的: 特定のユーザーが所有するファイルを検索する。
  • 構文:
    find /path -user username
    
  • 使用例: johnが所有するファイルを検索。

8. 複数の条件を組み合わせて検索

  • 目的: ANDまたはOR条件を組み合わせて検索する。
  • 構文:
    find /path \( -name '*.log' -o -name '*.txt' \)
    
  • 使用例: .logまたは.txtファイルを検索。

9. 検索結果を削除

  • 目的: 検索結果を削除する。
  • 構文:
    find /path -name '*.tmp' -exec rm {} \;
    
  • 使用例: .tmpファイルをすべて削除。

10. 検索結果を別コマンドで処理

  • 目的: 検索したファイルを別のコマンドで処理する。
  • 構文:
    find /path -name '*.log' -exec gzip {} \;
    
  • 使用例: 検索した.logファイルを圧縮。