[学习笔记][Linux命令] Tree命令查看目录树结构

1、安装命令工具

    sudo apt-get -y install tree

2、查看关于tree命令的帮助信息

ubuntu:~$ 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] [--] [<directory list>]
  ------- Listing options -------
  -a 列出所有文件。
  -d 仅列出目录。
  -l 遵循目录等符号链接。
  -f 打印每个文件的完整路径前缀。
  -x 仅保留在当前文件系统上。
  -L 级下降深层级目录。
  -R 达到最高等级时重新运行树。
  -P 模式仅列出与给定模式相匹配的文件。
  -I 模式不要列出与给定模式匹配的文件。
  --ignore-case 模式匹配时忽略大小写。
  --matchdirs在-P 模式匹配中包含目录名称。
  --noreport 关闭树列表末尾的文件/目录计数。
  --charset X 使用字符集X作为终端/ HTML和缩进行输出。
  --filelimit# 不要下载超过#个文件的dirs。
  --timefmt <f> 根据格式<f>打印和格式化时间。
  -o 文件名输出到文件而不是标准输出。

  ---------------文件选项---------------
  -q 将不可打印的字符打印为'?'。
  -N 按原样打印不可打印的字符。
  -Q 用双引号引用文件名。
  -p 打印每个文件的保护。
  -u 显示文件所有者或UID号码。
  -g 显示文件组所有者或GID号码。
  -s 打印每个文件的字节大小。
  -h 以更易读的方式打印尺寸。
  --si像-h,但在国际单位制中使用(幂数为1000)。
  -D 打印上次修改日期或(-c)状态更改。
  -F 附加'/','=','*','@','|'或'>'按照ls -F。
  --inodes 打印每个文件的inode编号。
  - 设备打印每个文件所属的设备ID号。

  ---------------排序选项---------------
  -v 按文本字母数字排序文件。
  -t 按上次修改时间对文件进行排序。
  -c 按上次状态更改时间对文件进行排序。
  -U 保留文件未排序。
  -r 反转排序的顺序。
  --dirsfirst 列出文件之前的目录(-U禁用)。
  - 排序X选择排序:名称,版本,大小,mtime,ctime。

  ---------------图形选项---------------
  -i 不要打印缩进线。
  -A 打印ANSI线图形缩进线。
  -S 使用CP437(控制台)图形缩进线打印。
  -n 始终关闭着色(-C覆盖)。
  -C 总是打开彩色。

  --------------- XML / HTML / JSON选项---------------
  -X 打印树的XML表示。
  -J 打印出树的JSON表示。
  -H baseHREF以baseHREF作为顶层目录打印HTML格式。
  -T 字符串用字符串替换默认的HTML标题和H1标题。
  --nolinks 关闭HTML输出中的超链接。

  ---------------其他选项---------------
  --version 打印版本并退出.
  --help 打印使用情况和此帮助信息并退出。
  --  选项处理终止符

3、使用方法(常用)

(1)显示当前目录的树形结构:tree

$ ls
android  impl org   //当前目录有三个文件夹

$ tree      //将显示当前目录所有文件以及子目录文件
.
├── android
│   ├── accessibilityservice
│   │   ├── AccessibilityServiceInfo.aidl
│ .......
│   │   └── package.html
│   ├── accounts
...

(2)只查看当前第N级的目录和文件

$ tree -L 1      //只查看当前第1级的目录和文件
.
├── android
├── com
├── impl
├── jarjar-rules.txt
├── org
└── overview.html

$ tree -L 2     //只查看当前第2级的目录和文件
.
├── android
│   ├── accessibilityservice
│   ├── accounts
...

(3)只显示某个目录的文件  tree  [目录1]  [目录...]

$ tree impl org
impl
└── ng
    ├── event
    │   ├── CableEventImpl.java
    │   ...
    └── interact
        └── KeyMap.java
org
└── ca
    ├── appmanager
    │   └── application
    │       └── AppID.java
    ├── event
    │   ├── CableEvent.java
    │   ├── ...
    │   └── UserEvent.java
    └── interact
        └── UserInput.java

(4)把目录结构信息保存到文本中

$ tree -L 2 > /home/tree.txt

(5)显示文件全路径

$ tree -f
$ tree -f >tree.txt

(6)只显示文件目录和*.c的c文件

$ tree -P *.c

(7)只显示两层目录和*.c的c文件

$ tree -L  2   -P *.c

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值