命令tree用于显示列出指定目录下的所有内容
在Linux系统中,命令tree用于显示列出指定目录下的所有内容,包括文件、子目录及子目录中的文件和目录。
语法:
tree [选项] [目录]
参数说明:
-a 显示所有文件,包括隐藏文件
-d 只显示目录
-f 显示每个文件的绝对路径
-i 不显示树枝,常与 -f 参数配合使用
-L level 遍历目录的最大层数,level为大于0的正整数
案例:
首先,如果你的linux是最小化安装的,那么系统中可能没有安装tree命令,此时就需要用yum来安装
[root@qingqing ~]# tree -bash: tree: command not found [root@qingqing ~]# yum install tree Loaded plugins: fastestmirror base | 3.6 kB 00:00 epel | 4.7 kB 00:00 extras | 2.9 kB 00:00 updates | 2.9 kB 00:00 (1/7): epel/x86_64/group_gz | 95 kB 00:00 (2/7): base/7/x86_64/group_gz | 153 kB 00:00 (3/7): epel/x86_64/updateinfo | 1.0 MB 00:00 (4/7): extras/7/x86_64/primary_db | 222 kB 00:00 (5/7): updates/7/x86_64/primary_db | 4.7 MB 00:00 (6/7): base/7/x86_64/primary_db | 6.1 MB 00:00 (7/7): epel/x86_64/primary_db | 6.9 MB 00:00 Determining fastest mirrors Resolving Dependencies --> Running transaction check ---> Package tree.x86_64 0:1.6.0-10.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: tree x86_64 1.6.0-10.el7 base 46 k Transaction Summary ================================================================================ Install 1 Package Total download size: 46 k Installed size: 87 k Is this ok [y/d/N]: y Downloading packages: tree-1.6.0-10.el7.x86_64.rpm | 46 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : tree-1.6.0-10.el7.x86_64 1/1 Verifying : tree-1.6.0-10.el7.x86_64 1/1 Installed: tree.x86_64 0:1.6.0-10.el7 Complete! [root@qingqing ~]#
可以通过下述命令查看是否已安装tree
[root@qingqing ~]# rpm -qa tree tree-1.6.0-10.el7.x86_64 [root@qingqing ~]#
tree不带任何参数默认从当前目录开始展开树(我的当前目录没有内容,所以为空)
[root@qingqing ~]# tree . 0 directories, 0 files [root@qingqing ~]#
注:如果目录树中有因字符集导致的乱码问题,例如目录树中出现问号等,此类问题与系统字符集编码和我们使用的客户端(我的是Xshell)的字符集编码有关,有两种解决思路:
1、系统字符集编码问题--修改系统字符集编码
[root@qingqing ~]# echo $LANG en_US.UTF-8 [root@qingqing ~]#
如果查询结果不是en_US.UTF-8 用下面命令修改
[root@qingqing ~]# LANG=en_US.UTF-8
2、修改连接linxu的客户端显示字符集编码(百度)
tree常用命令
以树形结构展示目录下所有内容,包括隐藏文件
[root@qingqing ~]# tree -a
只列出树根目录下的指定层数目录(-L后面跟数字表示只查看几层目录)
[root@qingqing ~]# tree -L 1
只显示目录不显示文件
[root@qingqing ~]# tree -d
显示树形目录及路径
[root@qingqing ~]# tree -f
不显示树枝部分(常-if组合使用)
[root@qingqing ~]# tree -i
[root@qingqing ~]# tree -if
使用tree区分文件和目录的方法(# 使用-F 目录后会显示/ 文件不显示/)
[root@qingqing ~]# tree -F