欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-08-26 16:55:47
tree命令是以图形化的树结构打印文件和目录的主角。通常linux发行版本中并没有包括这个命令。你需要用包管理器自行安装。 实例: 1. tree 打印当前目录下所有...

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 #] [<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   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命令。