MS-DOSにはディレクトリ構成を一覧で表示する「tree」というコマンドがあったので、Ubuntuでも使えるだろうと試しに tree と打ってみたところ、そんなコマンドは無いですよという下記のメッセージが表示されました。
以下は出てきたメッセージ。
| 1 2 3 | $ tree Command 'tree' not found, but can be installed with: sudo apt install tree | 
インストールすれば使えるとも書いてあるので、インストールしてみたいと思います。
Ubuntu に tree コマンドをインストールする
tree コマンドとは
まずは軽くおさらい。
tree コマンドを使うと、ディレクトリ内のサブディレクトリやファイルをツリー表示で出力することができます。
コマンドは tree と打つだけです。
| 1 | tree | 
以下はWindows11 のコマンドプロンプトで、Documentsディレクトリにて試してみた結果です。
また、tree パス のようにパスを指定することもできます。
| 1 2 3 4 | tree 表示させたいパス #(例) tree Documents | 
ちなみにDOSプロンプトの場合、以下のようにすれば、ディレクトリ構成をテキストファイルに書き出すことも可能です。
| 1 | tree > files.txt | 
Ubuntuへのインストール
では、Ubuntu でも tree コマンドを使用したく、インストールしたいと思います。
インストールするコマンドは以下だけ。
sudo コマンドを使っているので、パスワードの入力が必要です。
| 1 | sudo apt install tree | 
以下はインストール時の様子のキャプ。
ヘルプは以下のように 「–help」 オプションを追記すれば見ることが可能です。
めっちゃ多くてビビりました。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | $ tree --help usage: tree [-acdfghilnpqrstuvxACDFJQNSUX] [-H baseHREF] [-T title ]         [-L level [-R]] [-P pattern] [-I pattern] [-o filename] [--version]         [--help] [--inodes] [--device] [--noreport] [--nolinks] [--dirsfirst]         [--charset charset] [--filelimit[=]#] [--si] [--timefmt[=]<f>]         [--sort[=]<name>] [--matchdirs] [--ignore-case] [--fromfile] [--]         [<directory list>]   ------- Listing options -------   -a            All files are listed.   -d            List directories only.   -l            Follow symbolic links like directories.   -f            Print the full path prefix for each file.   -x            Stay on current filesystem only.   -L level      Descend only level directories deep.   -R            Rerun tree when max dir level reached.   -P pattern    List only those files that match the pattern given.   -I pattern    Do not list files that match the given pattern.   --ignore-case Ignore case when pattern matching.   --matchdirs   Include directory names in -P pattern matching.   --noreport    Turn off file/directory count at end of tree listing.   --charset X   Use charset X for terminal/HTML and indentation line output.   --filelimit # Do not descend dirs with more than # files in them.   --timefmt <f> Print and format time according to the format <f>.   -o filename   Output to file instead of stdout.   ------- File options -------   -q            Print non-printable characters as '?'.   -N            Print non-printable characters as is.   -Q            Quote filenames with double quotes.   -p            Print the protections for each file.   -u            Displays file owner or UID number.   -g            Displays file group owner or GID number.   -s            Print the size in bytes of each file.   -h            Print the size in a more human readable way.   --si          Like -h, but use in SI units (powers of 1000).   -D            Print the date of last modification or (-c) status change.   -F            Appends '/', '=', '*', '@', '|' or '>' as per ls -F.   --inodes      Print inode number of each file.   --device      Print device ID number to which each file belongs.   ------- Sorting options -------   -v            Sort files alphanumerically by version.   -t            Sort files by last modification time.   -c            Sort files by last status change time.   -U            Leave files unsorted.   -r            Reverse the order of the sort.   --dirsfirst   List directories before files (-U disables).   --sort X      Select sort: name,version,size,mtime,ctime.   ------- Graphics options -------   -i            Don't print indentation lines.   -A            Print ANSI lines graphic indentation lines.   -S            Print with CP437 (console) graphics indentation lines.   -n            Turn colorization off always (-C overrides).   -C            Turn colorization on always.   ------- XML/HTML/JSON options -------   -X            Prints out an XML representation of the tree.   -J            Prints out an JSON representation of the tree.   -H baseHREF   Prints out HTML format with baseHREF as top directory.   -T string     Replace the default HTML title and H1 header with string.   --nolinks     Turn off hyperlinks in HTML output.   ------- Input options -------   --fromfile    Reads paths from files (.=stdin)   ------- Miscellaneous options -------   --version     Print version and exit.   --help        Print usage and this help message and exit.   --            Options processing terminator. | 
実際に使ってみる
では実際に使ってみます。
オプションに、2階層まで表示するようなオプションを付与しています。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | $ cd source $ tree ./django-challenge tree -L 2 ./django-challenge ├── backend │   ├── Dockerfile │   ├── db.sqlite3 │   ├── djangochallenge │   ├── manage.py │   └── requirements.txt ├── docker-compose.yml └── frontend     ├── Dockerfile     ├── README.md     ├── babel.config.js     ├── dist     ├── index.html     ├── jsconfig.json     ├── node_modules     ├── package-lock.json     ├── package.json     ├── public     ├── src     └── vite.config.js | 
アンインストール
不要になった場合は、以下のコマンドにてアンインストールすることが可能です。
| 1 | sudo apt remove tree | 
以上です。
関連するポスト

【Windows】DOS窓(コマンドプロンプト)を使ってフォルダ内のファイル一覧をテキストファイルに出力する方法
サブジェクトの通り、DOS窓(コマンドプロンプト)の「dir」コマンドを使って、ファイル一覧をテキストファイルに出力する方法です。

 
         
         
         
         
         
         
         
         
         
         
         
         
         
         
  
  
  
  



