天天看点

Linux 命令(文件和目录管理 - tree)

简述

使用 tree 命令以树状图递归的形式显示各级目录,可以方便地看到目录结构。

| 版权声明:一去、二三里,未经博主允许不得转载。

安装 tree 命令

大部分 Linux 中默认没有安装 tree 命令,以 CentOS 7.x 为例:

[wang@localhost ~]$ tree
bash: tree: 未找到命令...      

切换至 root,进行安装:

[root@localhost ~]# yum install tree      

命令介绍

  • 命令名称

    tree

  • 基本语法

    ​tree [-acdfghilnpqrstuvxACDFQNSUX] [-H baseHREF] [-T title ] [-L level [-R]] [-P pattern] [-I pattern] [-o filename] [--version] [--help] [--inodes] [--device] [--noreport] [--nolinks] [--dirsfirst] [--charset charset] [--filelimit[=]#] [--si] [--timefmt[=]<f>] [<directory list>]​

  • 功能描述

    以树状图递归的形式显示各级目录

命令选项

选项 说明

​-a​

显示所有文件和目录

​-C​

为文件和目录清单加上色彩,便于区分各种类型

​-d​

显示目录名称而非内容

​-D​

列出文件或目录的更改时间

​-f​

在每个文件或目录之前,显示完整的相对路径名称

​-F​

在执行文件、目录、Socket、符号连接、管道名称前,分别加上“*”、“/”、“=”、“@”、“|”符号

​-g​

列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码

​-i​

不以阶梯状列出文件或目录名称

​-I​

不显示符合范本样式的文件或目录名称

​-l​

如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录

​-n​

不为文件和目录清单加上色彩

​-s​

列出文件或目录大小

​-u​

列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码

​-x​

将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外

使用范例

1.不带选项运行 tree

[wang@localhost doc]$ tree
.     #当前目录结构
├── c
│   └── hello.c
├── linux
│   └── hello.sh
├── php
│   └── hello.php
├── program
└── python
    └── hello.py

4 directories, 5      

2.查看不同级别子目录

使用 ​

​tree -L n​

​ 命令,n 为数字,表示查看当前第 n 级的目录和文件。

# 查看第一级目录和文件
[wang@localhost doc]$ tree -L 1
.
├── c
├── linux
├── php
├── program
└── python

4 directories, 1 file
# 查看第二级目录和文件
[wang@localhost doc]$ tree -L 2
.
├── c
│   └── hello.c
├── linux
│   └── hello.sh
├── php
│   └── hello.php
├── program
└── python
    └── hello.py

4 directories, 5      

3.显示完整的相对路径名称

[wang@localhost doc]$ tree -f
.
├── ./c
│   └── ./c/hello.c
├── ./linux
│   └── ./linux/hello.sh
├── ./php
│   └── ./php/hello.php
├── ./program
└── ./python
    └── ./python/hello.py

4 directories, 5      

4.只显示目录

[wang@localhost doc]$ tree -d
.
├── c
├── linux
├── php
└── python

4      

5.为文件和目录清单加上色彩,便于区分各种类型。

继续阅读