网站首页 > 技术文章 正文
请关注本头条号,每天坚持更新原创干货技术文章。
如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习
1. 前言
本文主要讲解Linux系统上的tree命令的详细使用方法。
tree 命令是一个小型的跨平台命令行程序,用于递归地以树状格式列出或显示目录的内容。它输出每个子目录中的目录路径和文件,以及子目录和文件总数的摘要。
tree程序可以在Unix和类Unix系统(如Linux)中使用,也可以在DOS、Windows和许多其他操作系统中使用。它为输出操作提供了各种选项,从文件选项、排序选项到图形选项,并支持XML、JSON和HTML格式的输出。
在这篇教程中,我们将通过使用案例演示如何使用tree命令递归地列出Linux系统上目录的内容。
2. 在各种发行版上安装tree命令
几乎所有的Linux发行版都可以使用tree命令,但是,如果默认情况下没有安装它,可以使用系统的包管理器来安装它,如下所示。
2.1 在RHEL/CentOS 7上安装tree命令工具
yum install tree
2.2 在Fedora 22+ /RHEL/CentOS 8上安装tree命令工具
dnf install tree
2.3 在Ubuntu/Debian系统上安装tree命令工具
sudo apt install tree
2.4 在openSUSE系统上安装tree命令工具
sudo zypper in tree
3. tree命令的日常使用案例
安装之后,您可以通过下面的使用案例进一步学习tree命令的用法。
要以类似树的格式列出目录内容,请切换到所需的目录并运行tree命令,不带任何选项或参数,如下所示。某些目录需要root权限,请使用sudo调用root权限,获取访问权。
tree
sudo tree
它将递归地显示工作目录的内容,显示子目录和文件,以及子目录和文件总数的摘要。您可以使用-a标志显示隐藏文件。
sudo tree -a
要使用-f列出每个子目录和文件的完整路径内容,如下所示。
sudo tree -f
您还可以使用-d选项指定tree只打印子目录不显示里面的文件。如果与-f选项一起使用,tree将打印完整的目录路径,如下所示。
sudo tree -d
指定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*
还可以通过添加--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
另一个有用的选项是--du,它将显示指定目录所占用的磁盘空间。
sudo tree -f --du
您还可以使用-o选项将tree的输出内容发送或重定向到文件名,以便稍后进行分析。
sudo tree -o direc_tree.txt
4. 总结
以上就是tree命令的全部内容,运行tree了解更多用法和选项。如果您有任何问题或想法要分享,请使用下面的反馈表格联系我们。
本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:https://www.linuxrumen.com/cyml/1783.html
- 上一篇: linux 彻底删除mysql
- 下一篇: Linux系统最常用的10个命令
猜你喜欢
- 2025-01-14 如何使用mv命令在Linux中移动文件和目录?
- 2025-01-14 linux基础命令之rm命令
- 2025-01-14 如何更改 Linux 文件和目录权限?
- 2025-01-14 超详细的Linux 基础命令大全
- 2025-01-14 linux常用命令在线查询工具
- 2025-01-14 Linux命令执行过程(新手必读)
- 2025-01-14 Linux下用户的创建与删除
- 2025-01-14 61个Linux常用命令解读,掌握它=掌握Linux(内赠资料)
- 2025-01-14 chown 命令使用方法
- 2025-01-14 linux chmod命令设置目录/文件权限详解
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)