Linux命令之----tree

本文主要介绍了Linux系统中tree命令的使用。tree命令能以树形结构列出指定目录下的所有内容,包括文件和子目录。文中说明了命令格式,强调各元素间需有空格,还给出多个使用示例,如不带参数执行、显示所有内容、列出第一层目录结构等,同时提及安装和乱码解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

命令简介

tree命令的中文意思为“树”,功能是以树形结构列出指定目录下的所有内容,包括所有文件、子目录及子目录里的目录和文件。

命令格式

tree [option] [directory]
tree [选项] [目录]

说明:

  1)注意tree命令以及后面的选项和目录,每个元素之间都至少要有一个空格

  2)tree命令后若不接选项和目录就会默认显示当前所在路径目录的目录结构

tree命令的参数选项及说明,图片来源于 【跟老男孩学Linux运维:核心系统命令】

举例

在举例前,我们是不是应该安装好tree命令呢?(如果你也采用最小化安装Linux系统的方式,那么tree命令可能没有安装,此时我们应该用yum命令来安装tree命令)

[root@king ~]# rpm -qa tree               #<==查询tree命令是否安装。
 tree-1.5.3-2.el6.x86_64                  #<==如果没有显示就执行下面的命令
[root@king ~]# yum -y install tree        #<==安装tree命令的yum命令

 临时解决树结构乱码的方法 

[root@king ~]# LANG=en_US.UTF-8
例子一:不带任何参数执行tree命令
[root@king etc]# cd ~
[root@king ~]# tree         #<==显示当前目录的结构。
.                   #<==“.”以当前目录为起点。
├── anaconda-ks.cfg
├── install.log
└── install.log.syslog
0 directories, 3 files
例子二:以树形结构显示目录下的所有内容(-a的功能)
[root@king ~]# tree -a       #<==带-a参数显示所有文件(包括隐藏文件)。
.
├── anaconda-ks.cfg
├── .bash_history          #<==在Linux系统中,以“.”点号开头的文件为隐藏文件,默认不显示。
├── .bash_logout
├── .bash_profile
├── .bashrc
├── .cshrc
├── install.log
...省略若干行...
例子三:只列出根目录下第一层目录的结构(-L功能)
[root@king ~]# tree -L 1 / #<==-L参数后接数字,表示查看目录的层数,不带-L选项默
认显示所有层数。
/
├── bin
├── boot
...省略若干行...
├── sys
├── tmp
├── usr
└── var
20 directories, 0 files
例子四:只显示所有的目录(但不显示文件)
[root@king ~]# tree -d /etc/   #<==-d参数表示只显示目录。
/etc/
|-- ConsoleKit
|   |-- run-seat.d
|   |-- run-session.d
|   '-- seats.d
|-- NetworkManager
|   '-- dispatcher.d
……省略若干行
[root@oldboy ~]# tree -dL 1 /etc/  #<==-d参数只显示目录,-L参数显示层数,这里是1层。
/etc/
|-- ConsoleKit
|-- NetworkManager
|-- X11
……省略若干行
例子五:用tree命令来区分目录和文件的方法(很常用滴哦)
[root@king ~]# tree -L 1 -F /boot/      #<==使用-F参数会在目录后面添加“/”,方便区分目录
/boot/
├── config-2.6.32-504.el6.x86_64
├── efi/
├── grub/
├── initramfs-2.6.32-504.el6.x86_64.img
├── lost+found/
├── symvers-2.6.32-504.el6.x86_64.gz
├── System.map-2.6.32-504.el6.x86_64
└── vmlinuz-2.6.32-504.el6.x86_64*
[root@king ~]# tree -L 1 -F /boot/|grep /$      #<==过滤以斜线结尾的所有内容                                           
/boot/
|-- efi/
|-- grub/
|-- lost+found/
3 directories, 5 files
[root@king ~]# tree -L 1 -d /boot/      #<==使用-d参数只显示目录树,这样可轻松过滤内容中的目录
/boot/
|-- efi
|-- grub
'-- lost+found
3 directories

 说明:$在Linux正则表达式中标识以什么什么结尾,^表示以什么什么开头,^$表示空行,此处只做简要说明,如要深究请看博主的Linux正则简介

 

转载于:https://www.cnblogs.com/liang-io/p/9561232.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值