最近在做openssl证书的制作以及实现Linux下openssl客户端服务器端之间的通信,这个过程中很多各种文件看的眼花缭乱的。正好tree命令可以解决这个问题,简单明了的呈现了每个文件夹中的各种文件。在linux下使用tree命令可以方便的查看指定目录下的文件树结构。
安装tree
在linux下使用tree命令可以方便的查看指定目录下的文件树结构,但有些系统并未安装该命令,需要手动安装一下
在已接入网络的情况下,在命令行中输入以下命令安装tree:
sudo apt-get install tree
或者
yum -y install tree
使用方法及参数
tree -a -d -L 1
注:
tree:显示目录树
-a:显示所有文件目录
-d:只显示目录
-L:选择显示的目录深度
1:只显示一层深度,即不递归子目录
Manual常用参数:
-a All files are listed.
-d List directories only.
-l Follow symbolic links like directories.
-f Print the full path prefix for each file.
-i Don't print indentation lines.
-q Print non-printable characters as '?'.
-N Print non-printable characters as is.
-p Print the protections for each file.
-u Displays file owner or UID number.
-g Displays file group owner or GID number.
-s Print the size in bytes of each file.
-h Print the size in a more human readable way.
-D Print the date of last modification.
-F Appends '/', '=', '*', or '|' as per ls -F.
-v Sort files alphanumerically by version.
-r Sort files in reverse alphanumeric order.
-t Sort files by last modification time.
-x Stay on current filesystem only.
-L level Descend only level directories deep.
-A Print ANSI lines graphic indentation lines.
-S Print with ASCII graphics indentation lines.
-n Turn colorization off always (-C overrides).
-C Turn colorization on always.
-P pattern List only those files that match the pattern given.
-I pattern Do not list files that match the given pattern.
-H baseHREF Prints out HTML format with baseHREF as top directory.
-T string Replace the default HTML title and H1 header with string.
-R Rerun tree when max dir level reached.
-o file Output to file instead of stdout.
--inodes Print inode number of each file.
--device Print device ID number to which each file belongs.
--noreport Turn off file/directory count at end of tree listing.
--nolinks Turn off hyperlinks in HTML output.
--dirsfirst List directories before files.
--charset X Use charset X for HTML and indentation line output.
--filelimit # Do not descend dirs with more than # files in them.
-a 显示所有文件和目录。
-A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件或目录的更改时间。
-f 在每个文件或目录之前,显示完整的相对路径名称。
-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|"号。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件或目录名称。
-I <范本样式> 不显示符合范本样式的文件或目录名称。
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
-p 列出权限标示。
-P <范本样式> 只显示符合范本样式的文件或目录名称。
-q 用"?"号取代控制字符,列出文件和目录名称。
-s 列出文件或目录大小。
-t 用文件和目录的更改时间排序。
-u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
-x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子
目录予以排除在寻找范围外。
【tree】实例1:tree -a
[root@localhost tls]# tree -a
.
├── CAcert.pem
├── cert.pem -> certs/ca-bundle.crt
├── certs
│ ├── ca-bundle.crt
│ ├── ca-bundle.trust.crt
│ ├── client.crt
│ ├── make-dummy-cert
│ ├── Makefile
│ ├── proxy.crt
│ ├── renew-dummy-cert
│ └── server.crt
├── fkey.pem
├── misc
│ ├── CA
│ ├── c_hash
│ ├── c_info
│ ├── c_issuer
│ └── c_name
├── newcerts
│ ├── client.csr
│ ├── proxy.csr
│ └── server.csr
├── openssl.cnf
├── openssl_communicate
│ ├── client2.c
│ ├── client3
│ ├── client3.c
│ ├── client.c
│ ├── makefile
│ ├── server2.c
│ ├── server3
│ ├── server3.c
│ └── server.c
└── private
├── ca.crt
├── ca.key
├── client.key
├── proxy.key
└── server.key
5 directories, 34 files
【tree】实例2:tree -d
[root@localhost tls]# tree -d
.
├── certs
├── misc
├── newcerts
├── openssl_communicate
└── private
5 directories
【tree】实例3:tree -L 1
[root@localhost tls]# tree -L 1
.
├── CAcert.pem
├── cert.pem -> certs/ca-bundle.crt
├── certs
├── fkey.pem
├── misc
├── newcerts
├── openssl.cnf
├── openssl_communicate
└── private
5 directories, 4 files