linux总结03-学习tree命令

时间:2022-09-05 13:54:03

总结03——学习tree命令

linux tree命令以树状图列出文件目录结构。
但是CentOS7.2默认没有安装,可以通过下载源码安装。
地址:ftp://mama.indstate.edu/linux/tree/

下载到本地后,进行安装

[root@learn-centos-01 ~]# ls
anaconda-ks.cfg Centos-7.repo initial-setup-ks.cfg tree-1.7.0.tgz
[root@learn-centos-01 ~]# tar zxf tree-1.7.0.tgz
[root@learn-centos-01 ~]# cd tree-1.7.0
[root@learn-centos-01 tree-1.7.0]# ls
CHANGES color.c doc hash.c html.c INSTALL json.c LICENSE Makefile README strverscmp.c TODO tree.c tree.h unix.c xml.c
[root@learn-centos-01 tree-1.7.0]# make
gcc -ggdb -Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o tree.o tree.c
make: gcc:命令未找到
make: *** [tree.o] 错误 127

如果报错误 gcc:命令未找到 则需要安装gcc 等软件

[root@learn-centos-01 tree-1.7.0]# yum install -y gcc g++ gcc-c++ make
[root@learn-centos-01 tree-1.7.0]# tree
bash: tree: 未找到命令...
[root@learn-centos-01 tree-1.7.0]# cp -af tree /usr/bin
[root@learn-centos-01 tree-1.7.0]# tree
.
├── CHANGES
├── color.c
├── color.o
├── doc
│ ├── tree.1
│ ├── tree.1.fr
│ └── xml.dtd
├── hash.c
├── hash.o
├── html.c
├── html.o
├── INSTALL
├── json.c
├── json.o
├── LICENSE
├── Makefile
├── README
├── strverscmp.c
├── TODO
├── tree
├── tree.c
├── tree.h
├── tree.o
├── unix.c
├── unix.o
├── xml.c
└── xml.o

1 directory, 26 files

树形目录就可以显示了

示例:

tree

打印当前目录下所有文件

tree –p ${dir}

打印dir目录下所有文件,以及他们的权限

tree –h ${dir}

打印dir目录下所有文件,以及适读的大小

tree -L 3 ${dir}

打印dir目录下所有文件,只显示3个层级

tree path –P "*.sh"

打印path下所有.sh结尾的文件

解读–help

usage: tree [-adfghilnpqrstuvxACDFNS] [-H baseHREF] [-T title ] [-L level [-R]] 
[-P pattern] [-I pattern] [-o filename] [--version] [--help] [--inodes]
[--device] [--noreport] [--nolinks] [--dirsfirst] [--charset charset]
[--filelimit #] [<directory list>]

-a 所有的文件列表
-d 仅仅是目录
-l 像目录一样的符号链接
-f 打印每个文件的完整路径前缀.
-i 不打印压痕线
-q 打印不可打印字符为?
-N 打印不可打印字符为 is.
-p 打印每个文件的权限
-u 显示文件拥有者或者uid
-g 显示文件的拥有者或者gid
-s 打印每个文件的大小
-h 打印更适合的人类的可读方式的文件大小.
-D 打印最后修改日期
-F 追加’/’,’=’,’*’ or ‘|’ as 按照 ls -F
-v 根据字母数字排序文件
-r 根据字母数字倒序排列文件
-t 根据最后时间排序文件
-x 只停留在当前文件系统
-L level 追溯level级别的打印
-A 打印图型压痕线
-S 打印字符压痕线
-n 总是关闭颜色 (-C 覆盖).
-C 打开颜色
-P pattern 列出仅仅符合正则表达式的
-I pattern 不列出符合正则表达式的
-H baseHREF 打印基本href格式的HMTL作为顶层目录
-T string 用字符串代替这个缺省的HTML标题和H1标题
-R 重演树当到达最深目录级别
-o file 输出到file 取代输出流
–inodes 打印每个文件的节点数
–device 打印每个文件的所属ID号
–noreport 关闭在树列表的结尾文件或者目录统计数
–nolinks 关闭HTML的输出的超链接
–dirsfirst 在列出文件以前先打印目录
–charset X 为HTML和压痕线指定字符集X作为输出
–filelimit # 目录追溯不超过 #(目录名)

参考文献:
http://www.jb51.net/article/85917.htm