Linuxシステムでディレクトリとその中のファイルを一覧表示する方法は多々ありますが、特定の「深さ」までのディレクトリとファイルだけを表示するにはどうすればよいでしょうか。この記事では、Linuxでディレクトリの深さを指定して一覧表示する方法について詳しく解説します。具体的なコード例とその解説、応用例を含めて説明します。
基本的なコマンド: `find` と `tree`
Linuxにはディレクトリやファイルを探すための `find` コマンドや、ディレクトリ構造を視覚的に表示する `tree` コマンドがあります。しかし、これらのコマンドだけでは特定の深さまでしか表示できません。
`find` コマンド
基本的な `find` コマンドの使用法は以下の通りです。
find [検索対象のパス] [オプション]
このコマンドを使うと、指定したパス以下のすべてのディレクトリとファイルがリストされます。ただし、特定の深さまでしか表示したくない場合は、`-maxdepth` オプションを使用します。
find ./sample_directory -maxdepth 2
`tree` コマンド
`tree` コマンドは、ディレクトリとファイルの構造を木形式で表示します。
tree [オプション] [ディレクトリ]
ディレクトリの深さを指定する方法
find コマンドで深さを指定
`find` コマンドの `-maxdepth` オプションを使用すると、ディレクトリの深さを指定できます。例えば、カレントディレクトリから深さ2までのディレクトリとファイルを表示するには以下のようにします。
find . -maxdepth 2 # カレントディレクトリから深さ2まで表示
tree コマンドで深さを指定
`tree` コマンドでも `-L` オプションで深さを指定することができます。
tree -L 2 # 深さ2までのディレクトリとファイルを表示
応用例
特定のファイル形式だけを表示
`find` コマンドを使って特定のファイル形式だけを表示することもできます。
find . -maxdepth 2 -name "*.txt" # 深さ2で.txtファイルのみを検索
サイズが大きいファイルを探す
`find` コマンドの `-size` オプションを使って、特定のサイズ以上のファイルを検索することができます。
find . -maxdepth 2 -size +1M # 深さ2で1MB以上のファイルを検索
特定の日付以降に変更されたファイルを探す
`-newer` オプションを使って、特定の日付以降に変更されたファイルを検索できます。
find . -maxdepth 2 -newer timestamp_file # 深さ2でtimestamp_fileより新しいファイルを検索
treeコマンドで表示された結果をファイルに保存
`tree` コマンドの結果をファイルに保存するには、リダイレクトを使用します。
tree -L 2 > tree_output.txt # 深さ2までの結果をtree_output.txtに保存
まとめ
Linuxでディレクトリの深さを指定して一覧表示するには、`find` コマンドの `-maxdepth` オプションや `tree` コマンドの `-L` オプションを使用します。これらのオプションを駆使することで、必要な情報だけを効率よく抽出することができます。
コメント