📁📂 概要 📂📁

 コマンド dirstrata1 により、引数に指定された各ディレクトリの、それぞれの直下のファイル数、直下のディレクトリの下のファイル数、さらに下のファイル数.. が分かる。
 
📁📂 使用例 📂📁

 下記のでは、zsh で ディレクトリファイル `*(/)` を引数に与え、それぞれの様子が出力の1行ごとに出力されている。

<img width="828" alt="image" src="https://user-images.githubusercontent.com/6661651/230566453-5ade628e-01e7-4e1e-b414-1da25b43d993.png">

App-chars2code というディレクトリの直下には、14個のファイルが存在し、その下(2階層下)には6ファイル、さらにその下(3改装下)には6ファイル、、ということがが分かる。
5階層下までファイルが存在し、6階層目まで見ることは出来るが0個である。(さらに深くを見るには、-m NUM のようなオプションでNUMを6より大きな数に指定することで可能である。)
この例のApp-chars2codeのディレクトリの他に、いろいろなディクレトリをすぐに比較して見ることが出来る。どのディレクトリが「深いか」「浅いか」一目瞭然である。
また3桁の数があるような場所を見れば、そこに相当する場所に多数のファイルが存在していることも分かる。

この上記の例の場合は、開発中の複数のライブラリを格納するディリクトリを見ているので、どのライブラリがどういうツールを使って、どの程度の開発状況なのかを、容易に推測できるメリットが、このコマンドを実行した人にはあった。

出力結果は、TSV形式(タブ文字区切り形式)の表である。その表において、値が0であるか、何も存在していないかの違いは、それに相当する階層のひとつ上にひとつでもディレクトリが存在するかどうかに依存する。
-m NUM で見る深さの最大限を変えることが出来る。 NUMの値を小さくすることで、動作を高速化出来る(50万個以上ファイルがあると1秒かかるであろう)。それより深い場所にファイルが存在する場合は、通常の数値以外の値を出力するようにしてある(現状は「無限大(∞)」を表すinfを出力する)。

📁📂 コマンドに渡せるオプション 📂📁

- `-m NUM`  何階層下までを見るか。未指定だと6が指定されたものと見なされる。

- `-.`  ドットファイル(ピリオドで始まるファイル名であり、いわゆる隠しファイルである)も見ていくことを指定する。


📁📂 関連するコマンド 📂📁

- dirdim : 指定された複数(または1個)のディレクトリに対して直下だけ(つまり1階層だけ)下に、非ディレトリのファイルと、ディレクトリのファイルが、何個ずつあるか、一覧にする。最大の深さも分かるオプションもある。
- dirstrata : 指定された1個のディレクトリの階層構造について、三角行列を用いた表示で、把握を容易にする。(この dirstrata1 の 名前の元である。1はsimpleの意味をこめた。)
- diroctopus : 配下に複雑なディレクトリ構造を持つディレクトリに対して、どうようなファイルパスが配下にあるか代表的なものを順次取り出す。最初は最も奥深くのファイル、その次はそれとはまたパスをできるだけ「共有」しないパスを持つファイル、その次は順次再帰的に既に表示した全てのパスからどれとも最もパスを共有しないもの、と探していく。コマンドの find . -type d よりも表示がわかりやすいであろう。

上記は、それぞれ App::dirdim 、 App::dirstrata 、 App::diroctopus で提供されてる(インストールすれば使える)。
