Linux命令可谓浩如烟海,那怎么办呢?用着就觉得物有所值:)最近想学的东西很多。我今晚无事可做。我有时间静下心来学习。顿时脑子一片空白,不知道先学什么。我沉默了一会儿,越想越乱。今天不就是学习状态吗???静不下来,还是学点短小实用的知识吧。Linux中有许多复杂的命令。学习单个命令并不费力,基本用法就可以使用。那么今天就来学习一个实用的Linux命令:tree。撒花~~树将一个目录下的所有内容以树状图的形式列出。这是一个非常简洁和有用的程序,您可以从命令行使用它来查看文件系统的结构。$tree-d-L2.├──app│├──Console│├──Exceptions│├──Http│└──Providers├──bootstrap│└──cache├──config8目录描述树是一个递归列出目录内容的程序。它以不同的缩进长度分层次显示文件(如果设置了LS_COLORS环境变量,显示的内容会有颜色,更美观)。最简单的用法是直接使用tree不带任何参数。默认会列出当前目录下的所有内容(如果这个目录下文件很多,不建议这样做,因为你会看到一个很长很长很长的树结构,然后你发现你什么都看不到)。tree打印的内容最后一行会一直显示它列出的文件或目录的个数,所以也可以变相用来统计某个目录下有多少个文件,就像下面的~$tree。├──ClassLoader.php├──LICENSE├──autoload_classmap.php├──autoload_files.php├──autoload_namespaces.php├──autoload_psr4.php├──autoload_real.php├──autoload_static.php└──安装.json0个目录,9个文件默认情况下,如果列出的内容中有软链接,树也会打印出它指向的实际路径,像这样:├──php->../Cellar/php71/7.1.7_19/bin/php语法命令最让人头疼的就是它的参数。通常的方法是记住常用的参数。),但是比man更方便简洁,也更实用~)tree[-adfgilnopqrstuxACDFNS][-Llevel[-R]][-HbaseHREF][-Ttitle][-ofilename][--nolinks][-P模式][-I模式][--inodes][--device][--noreport][--dirsfirst][--version][--help][--filelimit#][--si][--prune][--du][--timefmtformat][directory...]有很多选项,下面只是一些常用的。参数说明--help列出使用说明--version输出版本信息-a默认不会输出隐藏文件,比如那些.开头的文件,加上这个参数,可以打印出所有文件-d只会输出目录,而不是输出文件-Llevel显示最大目录级别-Ipattern不显示匹配给定通配符的文件-Ppattern只显示匹配给定通配符的文件-p额外显示目录和文件的读写权限Exampletree显示当前目录的内容,包括树形图格式的子目录。类似于下图:.├──assets│├──data││├──data1.bin││├──data2.sql││└──data3.inf│└──images│├──background.jpg│├──icon.gif│└──logi.jpg├──config.dat├──program.exe└──readme.txt3个目录,9filestree-d-L2只显示目录,level确实不超过2层。输出结果如下:.└──assets├──data└──images3directorestree-I'data*|con???.dat'过滤掉data开头,或者con开头后跟三个任意字符的文件,以.dat结尾的文件。输出如下:.├──assets│└──images│├──background.jpg│├──icon.gif│└──logi.jpg├──program.exe└──readme.txt2目录,5filestree-P't*'正好与-I参数相反。只显示匹配通配符的文件,这里只显示以t开头的文件。输出结果如下:.└──assets├──data└──images3directories,0filestree-P't*'-p额外显示目录和文件的读写权限。输出结果如下:.└──[drwxr-xr-x]assets├──[drwxr-xr-x]data└──[drwxr-xr-x]images3个目录,0个文件是不是又长知识了点今天?好的~~Linux树命令参考链接首发于个人博客:StephenCode,欢迎交流~
