windows CMD生成文件夹树状图(tree)命令(以图形显示驱动器或路径的文件夹结构)(linux tree命令、tree指令)(tree /f /a)(文件结构、目录结构、文件树、目录树)

windows tree命令用法

如:
在这里插入图片描述

  • 步骤:
    在当前路径运行CMD:
    在这里插入图片描述
    输入tree:
    在这里插入图片描述
    当然也可以用绝对路径, 以tree \起头:
    太多了就不贴上来了。

也可以用相对路径:

tree .\test_pipreqs

省略.\也可以:

 tree test_pipreqs

在这里插入图片描述
可以看到,上面只显示文件夹未能显示文件。我们继续看下面:

tree [path] [/f] [/a]
#/f 显示每个文件中文件的名称
#/a 使用ASCII字符,而不使用扩展字符

tree /f

在这里插入图片描述

tree /a

(用tree /f /a加上/a后,显示效果明显好不少)
在这里插入图片描述

D:\4_Cotton_preprocess\test_pipreqs>tree /f >tree.txt

D:\4_Cotton_preprocess\test_pipreqs>

在这里插入图片描述
能够将文件夹树状图生成到当前文件夹的tree.txt文件中:
在这里插入图片描述
在这里插入图片描述

# 查看其他参数
tree /?

在这里插入图片描述

参考文章1:Windows中CMD命令之Tree生成目录

参考文章2:treer:命令行生成目录结构的实用小工具

linux tree命令用法

1. 基本用法

tree [directory]

如果没有指定目录,tree 会显示当前目录的树状结构。

在这里插入图片描述

2. 限制目录深度(-L)

使用 -L 选项可以限制递归的深度。

tree -L level [directory]

这里的 level 表示目录的深度级别。

在这里插入图片描述

3. 只列出目录(-d)

tree -d

使用 -d 选项,tree 将仅列出目录而不包括文件。

在这里插入图片描述

4. 包含隐藏文件(-a)

tree -a

默认情况下,tree 不显示以点(.)开头的隐藏文件或目录。使用 -a 选项可以包含这些文件。

在这里插入图片描述

5. 使用模式匹配(-P)

tree -P pattern

通过 -P 选项,可以指定一个模式来匹配文件名,仅显示匹配该模式的文件。

在这里插入图片描述

注意如果没有匹配的文件,也默认会把目录打印出来:

在这里插入图片描述

6. 排除特定文件(-I)

tree -I pattern

使用 -I 选项,可以排除匹配给定模式的文件或目录。

在使用tree命令时,参数 -I 后面跟的是需要排除的目录或文件模式。如果提供一个路径,如-I nginx/mp42m3u8,试图排除名为nginx/mp42m3u8的路径,这是不允许的,应该只提供目录或文件名。

因此,如果想排除mp42m3u8目录,你应该这样使用:

tree -I 'mp42m3u8'

如果想排除多个目录,可以用管道符|连接它们:

tree -I 'dir1|dir2|dir3'

注意,当使用-I选项时,匹配的模式是大小写敏感的,并且会匹配到任何位置的路径部分。例如,-I foo将会匹配并排除./foo, ./bar/foo/baz, ./foobar等等。

还要注意的是,如果你在shell脚本或终端中使用特殊字符(如星号*或问号?),可能需要将模式放在引号内,以防止shell进行模式扩展。

在这里插入图片描述

在这里插入图片描述

7. 输出到文件(>

tree > output.txt

可以将 tree 的输出重定向到文件中保存。

(略)

8. 显示文件大小(-s)(-h人性化显示)

tree -s

在文件旁边显示每个文件的大小。

在这里插入图片描述

也可以加个-h人性化显示:

在这里插入图片描述

9. 显示完整的路径(-f)

tree -f

显示从根目录开始的每个文件的完整路径。

在这里插入图片描述

10. 颜色输出(-C)

tree -C

默认情况下,在大多数终端环境中,tree 会有颜色输出。使用 -C 强制颜色输出,有助于区分文件类型。

11. 按文件类型分类(确实更直观漂亮一点)(--dirsfirst

tree --dirsfirst

使用 --dirsfirst 选项,目录会被放在文件之前列出。

在这里插入图片描述

这样输出确实直观漂亮一点。

12. 指定字符集(-N)(正常处理不可打印的字符)

tree -N

正常处理不可打印的字符。

13. 排除某个路径的目录或文件(find命令结合–fromfile)

tree命令的 -I 参数只能排除指定的文件名或者目录名,而不能直接排除一个特定的路径。-I 参数后面跟的模式是用于匹配任何路径部分的文件名或目录名。

如果想排除特定路径下的目录,可能需要借助其他的shell命令或者脚本来实现。例如,可以使用find命令来查找文件,然后通过管道|传递给tree

find . -path ./nginx/mp42m3u8 -prune -o -print | tree --fromfile

在这个命令中:

  • find . -path ./nginx/mp42m3u8 -prune -o -print 命令会查找当前目录下所有的文件和目录,但是会排除 ./nginx/mp42m3u8 路径。
  • -prunefind 命令的一个选项,表示 “不要在这个路径下查找”。
  • -o -print 表示 “否则(如果不是上面的路径),打印文件名”。
  • | tree --fromfilefind 的结果传递给 tree 命令。--fromfile 参数让 tree 从输入流中读取文件名。

请注意,这个命令可能不会像原生的 tree 命令那样漂亮地格式化输出,因为 tree --fromfile 只是简单地从输入流中读取文件名,并没有考虑它们的层次结构。

在这里插入图片描述

linux tree命令的安装

要获得更多关于 tree 命令的信息,你可以在命令行中键入 man tree 来访问其手册页,或者使用 tree --help 查看所有可用的选项。

需要注意的是,tree 命令可能不是所有 Linux 发行版的默认安装程序,如果未找到 tree,你可以通过发行版的包管理器来安装它。例如,在基于 Debian 的系统(如 Ubuntu)上,你可以使用以下命令进行安装:

sudo apt-get install tree

在基于 Red Hat 的系统(如 Fedora 或 CentOS)上,可以使用:

sudo yum install tree

或者在新版本中使用 dnf

sudo dnf install tree

20250115 tree -pugs查看文件信息

tree -pugs
(base) root@ky:/ky/tools/mosquitto# tree -pugs
.
├── [-rwxrwxrwx nobody   nogroup         5068]  install_mosquitto.sh
├── [-rwxrwxrwx root     root        15149568]  kyai_mosquitto_arm-v1.0.0_20230618.tar
├── [drwxrwxrwx nobody   nogroup         4096]  mount
│   ├── [drwxrwxrwx 1883     1883            4096]  config
│   │   └── [-rwxrwxrwx 1883     1883             854]  mosquitto.conf
│   ├── [drwxrwxrwx 1883     1883            4096]  data
│   └── [drwxrwxrwx 1883     1883            4096]  log
│       └── [-rwxrwxrwx 1883     1883               0]  mosquitto.log
└── [-rwxrwxrwx nobody   nogroup           86]  readme.txt

4 directories, 5 files

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dontla

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值