LoginSignup
1
1

More than 5 years have passed since last update.

unix系でディレクトリ階層状態を知りたい

Posted at

最近ざっくりと調べるのに良く使うのは tree コマンド
図式化してくれてみやすいです。

オプション:サイズ(h)ディレクトリのみ(d)シンボリックリンク(l)で指定
$ tree -hdl
.
└── [4.2K]  node_modules
    ├── [ 238]  abab
    │   └── [ 136]  lib
    ├── [ 476]  acorn
    │   ├── [ 204]  bin
    │   ├── [ 204]  dist
    │   └── [ 714]  src
    │       ├── [ 102]  bin
    │       ├── [ 306]  loose
    │       └── [ 102]  walk
 :
 :

オプションはいろいろあるので、man treeで調べると面白いかも。
よく使いそうなのは

オプション 機能
--help ヘルプ
-a 隠しファイルやフォルダも全て表示
-d ディレクトリのみ表示
-l シンボリックリンクを表示
-f 相対パスを表示
-h ファイルサイズを表示
-u オーナーを表示
-g グループを表示

でも、treeが使えないときもある。
そうなると使うのは find このコマンドは使い慣れると便利です。

オプション:ディレクトリ(d)とシンボリックリンク(l)指定したlsリスト
find . \( -type d -or -type l \) -ls

コマンドls -laで出すような詳細な情報を得られます。

ちなみに、シンボリックリンクのリストがほしければ

find . -type l -ls

環境移植するようなとき、シンボリックリンクの一覧がほしいとか、
新しい環境にシンボリックリンクを一気にかけるようなシェルがほしいとかそんなとき、
findawkを使ってみよう。

find . -type d -ls | awk '{print "ln -s ",$13,$11}'
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1