linux之tree命令

树状图列出目录的内容,tree命令 以树状图列出目录的内容。

命令语法

tree [选项][参数]

命令选项

  • -a 显示所有文件和目录。
  • -A 使用 ASNI 绘图字符显示树状图而非以 ASCII 字符组合。
  • -C 在文件和目录清单加上色彩,便于区分各种类型。
  • -d 显示目录名称而非内容。
  • -D 列出文件或目录的更改时间。
  • -f 在每个文件或目录之前,显示完整的相对路径名称。
  • -F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上 "*","/","=","@","|" 号。
  • -g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
  • -i 不以阶梯状列出文件或目录名称。
  • -L level 限制目录显示层级。
  • -l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
  • -n 不在文件和目录清单加上色彩。
  • -N 直接列出文件和目录名称,包括控制字符。
  • -p 列出权限标示。
  • -P <范本样式> 只显示符合范本样式的文件或目录名称。
  • -q 用 "?" 号取代控制字符,列出文件和目录名称。
  • -s 列出文件或目录大小。
  • -t 用文件和目录的更改时间排序。
  • -u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
  • -x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。

目录:执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。

> tree .
.
├── @
├── A123.png
├── AB2.png
├── ABC123.png
├── ABC1.png
├── a.log
├── bin
│   └── rumenz
│       ├── 1.txt
│       ├── 3.txt
│       ├── 5.txt
│       └── 5.txt~
├── b.log
├── doc
│   └── outfile.txt
├── InfiniteLoop$1.class
├── InfiniteLoop.class
├── InfiniteLoop.java
├── lib
│   └── oldrumenz.txt
├── lib64 -> lib/
├── nohup.out
├── one
│   ├── 1
│   ├── 123.pem
│   ├── 123.sh
│   ├── 1.txt
│   ├── 2.txt
│   ├── etc.tar.gz
│   └── rumenz.tar.gz
├── one.txt
├── qaz.txt
├── rumenz
│   └── lib
│       ├── info
│       └── test
├── rumenz.txt
├── Rumenz.txt
├── sbin
│   ├── out.txt
│   └── rumenz.txt
└── test.sh

11 directories, 31 files

列出目录/rumenz/ 第一级文件名

> tree /rumenz/ -L 1
/rumenz/
├── etc
├── ssh
├── tmp
└── var

忽略当前目录文件夹node_modules

> tree -I node_modules

列出当前目录文件夹node_modules的目录结构

> tree -P node_modules

显示目录node_modules两层的目录树结构

> tree -P node_modules -L 2

当前目录结果存到a.txt文件中

> tree -L 2 >/tmp/a.txt

忽略多个文件夹

> tree -I 'node_modules|icon|font' -L 2

非树状结构列出目录/rumenz/下的所有文件

> tree -if /rumenz/
/rumenz
/rumenz/a1
/rumenz/a2
/rumenz/etc
/rumenz/etc/b1
/rumenz/etc/b2
/rumenz/ssh

只显示目录

> tree -d .

用颜色区分文件类型

> tree -C .

按 HTML 格式将结果输出

> tree -H  [-T <指定HTML内容的标题>]

原文链接:https://rumenz.com/rumenbiji/...
微信公众号:入门小站

你可能感兴趣的