treeコマンドでフォルダ構成をツリー表示しつつ所有者・パーミッションを表示
Contents
はじめに
Linuxにおける tree
コマンドは、フォルダ構成を視覚的に確認するために便利なコマンドです。
僕は特にドキュメントの作成時に tree
コマンドを利用しフォルダ構成を図示します。
特定のアプリケーションのセットアップドキュメントを作成する際に、
ツリー構造を表示しつつ想定するパーミッションを表示したい場合がありました。
tree
コマンドのオプションを付与することでかんたんに実現できました。
検証環境
$ uname -moi
x86_64 x86_64 GNU/Linux
$ bash -version | head -n 1
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
$ tree --version
tree v1.6.0 (c) 1996 - 2011 by Steve Baker, Thomas Moore, Francesc Rocher, Kyosuke Tokoro
かんたんなフォルダ構成を作成
tree
コマンドの動作を見るためにかんたんなフォルダ構成を用意します。
# 適当にディレクトリを作成
$ mkdir -p aaa bbb ccc/ddd
# 適当にファイルも配置
$ touch aaa/1.txt bbb/2.txt ccc/ddd/3.txt
結果、以下のようなファイルツリーが作成されました。
$ tree
.
|-- aaa
| `-- 1.txt
|-- bbb
| `-- 2.txt
`-- ccc
`-- ddd
`-- 3.txt
4 directories, 3 files
# `ls` コマンドで所有者、パーミッションを確認してみる
$ find . | xargs ls -ld
drwxrwxr-x 5 root root 160 Apr 7 13:39 .
drwxr-xr-x 3 root root 96 Apr 7 13:40 ./aaa
-rw-r--r-- 1 root root 0 Apr 7 13:40 ./aaa/1.txt
drwxr-xr-x 3 root root 96 Apr 7 13:40 ./bbb
-rw-r--r-- 1 root root 0 Apr 7 13:40 ./bbb/2.txt
drwxr-xr-x 3 root root 96 Apr 7 13:39 ./ccc
drwxr-xr-x 3 root root 96 Apr 7 13:40 ./ccc/ddd
-rw-r--r-- 1 root root 0 Apr 7 13:40 ./ccc/ddd/3.txt
tree
コマンドの -u
オプション
tree -u
コマンドを利用することで、構造とともに 所有者 を表示させることができます。
$ tree -u
.
|-- [root ] aaa
| `-- [root ] 1.txt
|-- [root ] bbb
| `-- [root ] 2.txt
`-- [root ] ccc
`-- [root ] ddd
`-- [root ] 3.txt
4 directories, 3 files
tree
コマンドの -p
オプション
tree -p
コマンドを利用することで、構造とともに パーミッション を表示させることができます。
$ tree -p
.
|-- [drwxr-xr-x] aaa
| `-- [-rw-r--r--] 1.txt
|-- [drwxr-xr-x] bbb
| `-- [-rw-r--r--] 2.txt
`-- [drwxr-xr-x] ccc
`-- [drwxr-xr-x] ddd
`-- [-rw-r--r--] 3.txt
-u
オプションと -p
オプションを同時に利用する
-u
オプションと -p
オプションは同時に利用することができます。
$ tree -up
.
|-- [drwxr-xr-x root ] aaa
| `-- [-rw-r--r-- root ] 1.txt
|-- [drwxr-xr-x root ] bbb
| `-- [-rw-r--r-- root ] 2.txt
`-- [drwxr-xr-x root ] ccc
`-- [drwxr-xr-x root ] ddd
`-- [-rw-r--r-- root ] 3.txt
ls -l
で確認できるような情報は tree
でも表示できる
他にも ls -l
で確認できるような情報を出力できます。
# サイズを表示
$ tree -s
.
|-- [ 96] aaa
| `-- [ 0] 1.txt
|-- [ 96] bbb
| `-- [ 0] 2.txt
`-- [ 96] ccc
`-- [ 96] ddd
`-- [ 0] 3.txt
4 directories, 3 files
# グループを表示
$ tree -g
.
|-- [root ] aaa
| `-- [root ] 1.txt
|-- [root ] bbb
| `-- [root ] 2.txt
`-- [root ] ccc
`-- [root ] ddd
`-- [root ] 3.txt
4 directories, 3 files
# 作成日を表示
$ tree -D
.
|-- [Apr 7 13:40] aaa
| `-- [Apr 7 13:40] 1.txt
|-- [Apr 7 13:40] bbb
| `-- [Apr 7 13:40] 2.txt
`-- [Apr 7 13:39] ccc
`-- [Apr 7 13:40] ddd
`-- [Apr 7 13:40] 3.txt
ひとこと
見やすいわけでもないので、表示するとしたらパーミッションぐらいかな?と思います。
今回利用したのもパーミッションでした。
ディスカッション
コメント一覧
まだ、コメントがありません