Linuxユーザーとして、ディレクトリリストの最初の選択肢は古き良きlsコマンドです。ただし、lsコマンドには、説明中のトピックであるtreeコマンドで提供される機能がいくつかありません。このコマンドは、フォルダー、サブフォルダー、およびファイルをツリー形式で印刷します。さまざまなオプション/フラグを使用してリストをカスタマイズすることにより、コマンドをさらに便利にすることができます。
この記事では、treeコマンドの使用法を例を挙げて説明します。
この記事に記載されているコマンドと手順をUbuntu18.04LTSシステムで実行しました。
ツリーコマンドのインストール方法
ツリーコマンドラインユーティリティのインストールは、apt-getコマンドを使用すると非常に簡単です。システムダッシュまたはCtrl+Alt + tショートカットを使用して、Ubuntuコマンドラインであるターミナルを開きます。
次に、sudoとして次のコマンドを入力します。
$ sudo apt-get install tree
Ubuntuでソフトウェアを追加、削除、構成できるのは、許可されたユーザーのみであることに注意してください。
ツリーがインストールされたら、次のコマンドを使用してバージョン番号を確認し、インストールが成功したかどうかを確認できます。
$ tree --version
オンラインリポジトリにあるソフトウェアの最新バージョンを入手できるように、各インストールの前に次のコマンドを実行することをお勧めします。
$ sudo apt-get update
Treeコマンドの使用方法
ここでは、ツリーコマンドの例をいくつか紹介します。これにより、ツリーコマンドを使用できるだけでなく、マスターするための一歩を踏み出すことができます。
基本ツリー出力
これは、treeコマンドを使用する最も基本的な方法です:
$ tree
出力には、現在のディレクトリのツリー構造が表示され、すべてのフォルダ、サブフォルダ、およびファイルが表示されます。
特定のディレクトリの内容を表示する
現在のディレクトリではなく特定のディレクトリのファイルとサブフォルダを一覧表示するには、次のコマンド構文を使用してディレクトリ名またはパスを指定できます。
$ tree -a [DirectoryName / Path]
例:
次のコマンドは、Picturesディレクトリ内のすべてのファイルとサブフォルダ(存在する場合)を一覧表示します。
$ tree -a Pictures
ツリーを使用して他のファイルと一緒に隠しファイルを表示する
treeコマンドは、Ubuntuの隠しファイルと隠しフォルダーのリストを表示しません。ただし、それらを一覧表示するには、次のように「a」フラグを使用できます。
$ tree -a
「。」で始まるツリー内のファイルとフォルダは非表示になっています。上記の出力では、そのようなエントリの1つを強調表示して、どのように見えるかを説明しています。
ツリーを介してディレクトリリストのみを表示する
基になるファイルではなくディレクトリリストのみを表示する場合は、次のようにtreeコマンドでdフラグを使用できます。
$ tree -d
ツリーを使用してファイルとフォルダのフルパスプレフィックスを表示する
f fagを使用すると、ツリーフラグをカスタマイズして、すべてのファイルとフォルダのリストのプレフィックスとして完全なパスを表示できます。
$ tree -f
これは、何がどこにあるのかを知りたい場合に特に役立ちます。
ツリーを使用してファイルとフォルダのサイズを表示する
sフラグを使用すると、treeコマンドでディレクトリ内のすべてのファイルとフォルダのサイズをバイト単位で出力することができます。
$ tree -s
これは、システム上で大量のスペースを使用しているアイテムを特定し、不要なアイテムを取り除くのに役立ちます。
ツリーを使用してファイルとフォルダの読み取り/書き込み権限を表示する
ツリーコマンドのpフラグを使用すると、リストされたファイルとフォルダーの読み取り、書き込み、および削除のアクセス許可を表示できます。
$ tree -p
したがって、ファイルとフォルダに対して操作を実行する前に、特定のアイテムに対する権限を最初に把握して編集することができます。
ツリーを介して特定のレベル/深さまでフォルダの内容を一覧表示します
ディレクトリのすべての内容を一覧表示する代わりに、特定のレベルまたは深さまでツリーを表示するようにtreeコマンドを構成できます。たとえば、treeコマンドのレベル1には、サブフォルダーではなく、指定されたフォルダーのリストのみが表示されます。構文の使用方法は次のとおりです。
$ツリー-L[n]
例:
次のコマンドは、現在のディレクトリのサブディレクトリ(-dフラグを使用)のみを表示し、さらに展開されたツリーは表示しません。
$ tree -d -L 1
特定のパターンを含むツリーコマンドの印刷ファイルリストを作成する
treeコマンドを使用して、特定のワイルドカードパターンを含むファイルのみを一覧表示できます。パターンを指定する構文は次のとおりです。
$ tree -P [[pattern] *] / [* [pattern]] / [[* pattern *]]
例:
この例では、treeコマンドを使用して、キーワード「touch」で始まるファイルを一覧表示しています。
$ tree -P touch*
Treeコマンドで一部の選択的なファイル名を出力しないようにします
treeコマンドを使用して、特定のワイルドカードパターンを含むファイル以外のすべてを一覧表示することもできます。
構文:
$ tree -I * [keywords]
例:
次のコマンドは、「snap」キーワードを含むものを除くすべてのファイルとフォルダを一覧表示します。
$ tree -d -I *snap
PrintTreeコマンドの出力をファイルに出力
ツリーコマンドの結果をファイルに出力する場合は、次の構文を使用できます。
$ tree-o[ファイル名]
例:
次のコマンドは、Picturesフォルダーのすべてのファイルとフォルダーのリストをmyfile.htmlという名前のHTMLファイルに出力します
$ tree ./Pictures -o myfile.html
ツリーヘルプ
treeコマンドは、これまでに説明した使用法よりもはるかに役立ちます。次のようにtreeコマンドのヘルプを表示することで、コマンドをさらに詳しく調べることができます。
$ tree --help
説明したフラグを使用し、これらのフラグの組み合わせを使用することで、ツリーコマンドをさらにマスターできます!