Linux tree 命令详细使用说明

系统 Linux
tree 命令是一个小型的跨平台命令行程序,用于递归地以树状格式列出或显示目录的内容。本文主要讲解Linux系统上的tree命令的详细使用方法。

1. 前言

本文主要讲解Linux系统上的tree命令的详细使用方法。

tree 命令是一个小型的跨平台命令行程序,用于递归地以树状格式列出或显示目录的内容。它输出每个子目录中的目录路径和文件,以及子目录和文件总数的摘要。

tree程序可以在Unix和类Unix系统(如Linux)中使用,也可以在DOS、Windows和许多其他操作系统中使用。它为输出操作提供了各种选项,从文件选项、排序选项到图形选项,并支持XML、JSON和HTML格式的输出。

在这篇教程中,我们将通过使用案例演示如何使用tree命令递归地列出Linux系统上目录的内容。

Linux tree 命令详细使用说明

2. 在各种发行版上安装tree命令

几乎所有的Linux发行版都可以使用tree命令,但是,如果默认情况下没有安装它,可以使用系统的包管理器来安装它,如下所示。

(1) 在RHEL/CentOS 7上安装tree命令工具

yum install tree

(2) 在Fedora 22+ /RHEL/CentOS 8上安装tree命令工具

dnf install tree

(3) 在Ubuntu/Debian系统上安装tree命令工具

sudo apt install tree

(4) 在openSUSE系统上安装tree命令工具

sudo zypper in tree

3. tree命令的日常使用案例

安装之后,您可以通过下面的使用案例进一步学习tree命令的用法。

要以类似树的格式列出目录内容,请切换到所需的目录并运行tree命令,不带任何选项或参数,如下所示。某些目录需要root权限,请使用sudo调用root权限,获取访问权。

tree

Linux tree 命令详细使用说明

sudo tree

它将递归地显示工作目录的内容,显示子目录和文件,以及子目录和文件总数的摘要。您可以使用-a标志显示隐藏文件。

sudo tree -a

要使用-f列出每个子目录和文件的完整路径内容,如下所示。

sudo tree -f

Linux tree 命令详细使用说明


您还可以使用-d选项指定tree只打印子目录不显示里面的文件。如果与-f选项一起使用,tree将打印完整的目录路径,如下所示。

sudo tree -d

 

Linux tree 命令详细使用说明


 

sudo tree -df

可以使用-L选项指定目录树的最大显示深度。例如,如果您希望深度为2,则运行以下命令。

sudo tree -f -L 2

下面是将目录树的最大显示深度设置为3的使用案例:

sudo tree -f -L 3

若要仅显示与通配符内容匹配的文件,请使用-P选择并指定您的匹配内容。在本例中,该命令将只列出与cata*匹配的文件,例如Catalina.sh, catalina.bat等将被列出。

sudo tree -f -P cata*

Linux tree 命令详细使用说明


还可以通过添加--prune选项告诉tree从输出内容中删除空目录,如下所示。

sudo tree -f --prune

tree还支持一些有用的文件选项,如-p,它以类似ls -l命令的方式打印每个文件的文件类型和权限。

sudo tree -f -p

此外,要打印每个文件的用户名(如果没有用户名,则为UID),使用-u选项,而-g选项打印组名(如果没有组名,则为GID)。您可以组合-p、-u和-g选项来执行类似于ls -l命令的输出结果,显示文件和目录的详细信息。

sudo tree -f -pug

还可以使用-s选项打印每个文件的字节大小以及文件名。为了以更易于阅读的格式打印每个文件的大小,使用-h选项并指定大小字母表示千字节(K)、兆字节(M)、千兆字节(G)、tb (T)等。

sudo tree -f -s

或者

sudo tree -f -h

要显示每个子目录或文件的最后修改时间的日期,请使用-D选项,如下所示。

sudo tree -f -pug -h -D

Linux tree 命令详细使用说明


另一个有用的选项是--du,它将显示指定目录所占用的磁盘空间。

sudo tree -f --du

您还可以使用-o选项将tree的输出内容发送或重定向到文件名,以便稍后进行分析。

sudo tree -o direc_tree.txt

4. 总结

以上就是tree命令的全部内容,运行tree了解更多用法和选项。

文章转载自:https://www.linuxrumen.com/cyml/1783.html

 

责任编辑:赵宁宁 来源: 智传网优云课堂
相关推荐

2009-07-31 18:48:35

linux vi命令linux vi命令详替换命令

2009-12-31 09:42:41

ADO对象模型

2009-12-18 15:11:50

ADO.NET类

2010-01-06 15:29:13

.NET Framew

2010-01-06 16:53:57

JS两种语法

2010-03-09 10:11:34

Linux挂载命令

2009-12-21 14:55:49

ADO.NET类库

2013-10-31 10:59:41

Clouda使用

2010-05-27 14:48:45

SVN命令行使用说明

2010-06-10 17:34:22

Linux 查看进程

2010-05-27 14:28:41

TortoiseSVN

2009-12-21 10:10:25

Oracle产品

2010-05-27 14:02:04

SVN使用说明

2009-12-15 15:13:07

.NET Framew

2009-12-24 16:20:43

WPF Tooltip

2009-12-28 11:34:22

WPF处理消息

2019-09-29 14:33:30

Redis集合元素

2011-03-15 10:00:01

NetfilterIPTables

2010-06-03 13:49:04

Sendmail 配置

2010-06-04 09:12:23

Linux性能测试工具
点赞
收藏

51CTO技术栈公众号