Linux tree命令
Linux tree命令
在Linux中,树被定义为递归目录列表程序,该程序生成深度缩进的文件列表。没有任何参数,树将列出当前目录中的文件。在给出目录参数时,树将交替列出在给定目录中找到的每个目录的每个文件。每个目录和文件的列表完成后,树将返回列出的目录和文件的总数。可以使用各种选项来修改输出中使用的字符并使用颜色。
语法
$ tree [-adfgilopqrstuxACDFNS] [-L level [-R]] [-H baseHREF] [-T title] [-o filename] [--nolinks] [-P pattern] [-l pattern] [--inodes] [--device] [--noreport] [--dirsfirst] [--version] [--help] [directory ?..]
选项:
标签 |
说明 |
--help |
输出详细的用法列表。 |
--version |
输出树的版本。 |
-a |
所有文件都已打印。默认情况下,隐藏文件不是由树打印的(表示以点"。"开头的文件)。在任何情况下,树都不会打印文件系统构造的"。"。(当前目录)和" .."(上一个目录)。 |
-d |
-d选项用于列出目录。 |
-f |
对于每个文件,打印完整路径前缀。 |
-i |
-i选项创建的树仍然不会打印缩进线,如果我们将其与-f选项一起使用,则将很有帮助。 |
-l |
跟随目录的符号链接,就好像它们是目录一样。避免使用那些链接,否则将导致递归循环。 |
-x |
保留当前的文件系统,例如fins-xdev。 |
-P pattern |
仅列出与通配符模式匹配的那些文件。我们还应该使用选项-a并考虑那些以"。"开头的文件。点匹配。存在各种有效的通配符运算符,例如"?"(任何单个字符)," *"(任何零个或多个字符)," […]"(括号之间列出的任何单个字符(可使用字符范围的可选-(破折号): 例如[AZ])和' [^…。}"(括号内未列出任何单个字符)," |"分割备用模式。 |
-l pattern |
此选项将不会列出与通配符模式匹配的文件。 |
-prune |
在输出树中,修剪会创建空目录,这在与-P或-l结合使用时很有用 |
- filelimit# |
请勿降级包含超过#个条目的目录。 |
-timefmt format |
根据使用strftime语法的格式字符串打印(表示-D)并格式化数据。 |
-noreport |
在树列表的末尾省略文件和目录的报告打印。 |
-p |
打印所有文件的保护。 |
-s |
-s选项将打印所有文件的大小以及文件名。 |
-u |
打印文件的UID#或用户名(如果没有用户名)。 |
-g |
如果文件没有组名,则打印GID号或组名。 |
D |
此选项用于为列出的文件打印上次更改时间的日期。 |
-inodes |
打印目录或文件的索引节点编号。 |
-device |
打印包含目录或文件的设备编号。 |
-F |
为目录添加一个'/',为套接字文件添加一个'='。可执行文件的" *"和" |"对于FIFO,按照ls-F |
-q |
此选项在文件名内打印不可打印的字符,例如问号,而不是默认的胡萝卜符号。 |
-N |
此选项按原样打印不可打印的字符,而不是默认的胡萝卜符号 |
-r |
此选项将按相反的字母顺序对结果进行排序。 |
-t |
根据上次更改的时间而不是字母顺序对结果进行排序。 |
dirsdirst |
在文件之前,列出目录。 |
-n |
始终关闭被选项-C覆盖的着色。 |
-C |
如果未设置LS_COLORS环境的变量,请始终使用创建的默认颜色打开着色。着色输出到管道很有帮助。 |
-A |
在打印缩进线时会同时打开ANSI线图形。 |
-S |
打开ANSII线形图形(当我们使用Linux控制台模式前端时,这将很有帮助)。现在,此选项等于'-charset = IBM437',并且最终将被否定。 |
-L level |
导演树的最大显示深度。 |
-R |
递归地遍历树的每个级别目录(检查选项-L),并在每个目录处再次执行树,像新选项一样添加"-o 00Tree.html"。 |
-H baseHREF |
-H选项负责打开HTML的输出,该输出包含HTTP引用。这对ftp站点很有帮助。如果使用HTML输出,则baseHREF提供基本的ftp位置。表示本地目录可以是"/local/ftp/pub",但应引用为" ftp: //hostname.oganization.domain/pub"(baseHREF必须为" ftp: //hostname.organize.domain") 。提示: 使用此选项时,请勿使用ANSI行,并且在此目录列表中,请勿提供多个目录。我们可以通过CSS样式表使用颜色,除此选项外,还可以使用选项-C来输出颜色。 |
-T title |
在HTML输出模式下,设置标题和H1标头字符串。 |
-charset charset |
使用此选项,设置在使用HTML和用于线条图时要使用的字符集。 |
-nolinks |
在HTML输出中,-nolinks用于关闭超链接。 |
-o file name |
此选项将输出发送到文件名。 |
安装树命令
我们必须安装树命令,因为默认情况下未安装它。为了在RHEL/CentOS/Fedora Linux上安装tree命令,我们必须在终端上键入以下命令:
如果要为Debian/Ubuntu Linux/Mint安装tree命令,则必须键入以下命令:
如果要为Apple OS X安装树命令,请键入:
如何使用树命令
树是存在于Unix和类Unix系统上的程序。这是一个递归目录列表程序,可生成深度缩进的文件列表。
不带任何参数的树形结构将列出当前目录中的文件。给出目录参数后,树会列出随后在给定目录中找到的每个文件和目录。当文件和目录的列表完成后,树将返回列出的目录和文件的总数。
让我们看一下tree命令的一些示例,这些示例将帮助您理解tree命令:
基本树输出
使用树命令的最通用方法:
当我们在终端上键入上述命令时,输出将显示当前目录的树状结构,显示所有文件,文件夹和子文件夹。
显示特定目录的内容
如果要列出特定目录的文件和子文件夹,而不是当前目录的文件和子文件夹,那么我们可以通过以下语法确定路径或目录名称:
$ tree-a [DirectoryName/Path
示例:
如果我们要列出名为picture的目录中的所有文件和子文件夹,那么我们必须编写以下命令:
使用树显示隐藏文件以及其他文件
在tree命令中,隐藏的文件夹和文件列表未显示在ubuntu中。虽然,我们可以使用'a'标志来列出它们,如下所示。
在树中,以'开头的文件夹和文件。 '是隐藏的文件夹和文件。
通过树仅显示目录列表
我们可以使用'd'标志来查看目录列表,但不能查看目录列表基础文件。为了仅显示通过树的目录列表,我们必须在终端上键入以下命令。
语法:
使用树显示文件和文件夹的完整路径前缀
使用'f'标志,我们可以自定义树标志,以将完整路径显示为每个文件夹和文件列表的前缀。
语法:
当我们需要知道什么地方存在时,它主要有用。
使用树显示文件和文件夹的大小
使用flag的tree命令,可以打印目录中所有文件夹和文件的大小(以字节为单位) 。
语法:
借助's'标志,我们可以检查哪个内存项会占用我们系统上更多的空间,并消除不必要的项。
使用树显示文件和文件夹的读写权限
如果我们想查看删除,读取和写入列出的文件夹和文件的权限,然后我们可以使用'p'标志。
语法:
因此,在对文件和文件夹执行操作之前,我们首先可以看到并编辑存在于特定项目上的权限。
通过树列出文件夹内容直到一定级别/深度
与其列出目录中的每个内容,不如列出它,我们能够配置tree命令以将树显示到特定级别或路径。例如,在树命令中,级别1只能显示给定文件夹的列表,而不能显示其任何子文件夹。
语法:
示例
此命令将仅显示当前目录的子目录(使用-d标志),而不显示其他扩展树。
Tree Help
tree命令要多得多比我们定义的有用。我们可以使用tree命令再次找到该命令,如下所示: