linux tree命令源码,一天一个shell命令 linux文本操作系列-tree命令详解

  • Post author:
  • Post category:linux


tree命令是以图形化的树结构打印文件和目录的主角。通常linux发行版本中并没有包括这个命令。你需要用包管理器自行安装。

实例:

1. tree

打印当前目录下所有文件

2. tree –p ${dir}

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

3. tree –h ${dir}

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

4. tree path –P “*.sh”

打印所有.sh结尾的文件

5. tree path –H http://localhost –o out.html

包含目录树输出的html文件

解读–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 #] []

-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   Prints out HTML format with baseHREF as top directory.打印基本href格式的HMTL作为顶层目录

-T string     Replace the default HTML title and H1 header with string. 用字符串代替这个缺省的HTML标题和H1标题

-R            Rerun tree when max dir level reached.重演树当到达最深目录级别

-o file       输出到file 取代输出流

–inodes      打印每个文件的节点数

–device      Print device ID number to which each file belongs.打印每个文件的所属ID号

–noreport    Turn off file/directory count at end of tree listing. 关闭在树列表的结尾文件或者目录统计数

–nolinks     Turn off hyperlinks in HTML output. 关闭HTML的输出的超链接

–dirsfirst   List directories before files.在列出文件以前先打印目录

–charset X   Use charset X for HTML and indentation line output. 为HTML和压痕线指定字符集X作为输出

–filelimit # Do not descend dirs with more than # files in them. 目录追溯不超过 #(目录名)

解读:

1. –v –r

根据字母,数字正序或者倒序排列文件

2. -L level 或者 –filelimit #

都是追溯目录的级别

3. -x

tree -x ${dir} 只打印当前一级目录信息

与文件相关(不是文件内容相关)的主要操作告一段落,周末做个小小的总结,并且尝试写一些基本的linux命令。