Linux tree命令初学者教程(6个例子)
在此页
- Linux树命令
- Q1。树命令如何工作?
- Q2。如何让树也显示隐藏文件?
- Q3。如何使树只在输出中显示目录?
- Q4。如何使树打印文件的完整路径前缀?
- Q5。如何控制输出中目录树的深度?
- Q6。如何有选择地在输出中留下一些名字?
- 结论
在 Linux 命令行上列出目录内容时,可以说 ls 命令是黄金标准。但是,与 ls 相比,确实存在一些具有自身优势的替代方案。一旦这样的工具是树,我们将在本教程中讨论其基础知识。
但在我们这样做之前,值得一提的是,这里的所有示例都已经在 Ubuntu 18.04 LTS 机器上进行了测试。
Linux树命令
顾名思义,Linux 中的 tree 命令以树状格式列出目录的内容。以下是它的语法:
tree [OPTIONS] [directory]
以下是工具手册页对其的解释:
Tree is a recursive directory listing program that produces a depth indented listing of files,
which is colorized ala dircolors if the LS_COLORS environment variable is set and output is to tty.
With no arguments, tree lists the files in the current directory. When directory arguments are
given, tree lists all the files and/or directories found in the given directories each in turn.
Upon completion of listing all files/directories found, tree returns the total number of files
and/or directories listed.
如果你的 Ubuntu 机器上没有安装 tree 命令,你可以使用以下命令获取它:
sudo apt-get install tree
以下是一些 Q&A 样式的示例,它们应该可以很好地说明 tree 命令的工作原理。
Q1。树命令如何工作?
基本用法相当简单。只需执行没有任何选项的树命令。这是一个例子:
tree
这是此命令在我的系统上产生的输出:

所以你可以看到在输出中产生了一个树状结构。请注意,它是默认显示其内容的当前工作目录。如果要显示任何其他目录的内容,则必须在输入中指定该目录的路径。
Q2。如何让树也显示隐藏文件?
默认情况下,树命令不显示隐藏文件。但是,如果需要,可以使用 -a 命令行选项让 tree 执行此操作。
tree -a
这是手册页关于 -a 的内容:
All files are printed. By default tree does not print hidden files (those beginning with a dot `.')
. In no event does tree print the file system constructs `.' (current directory) and `..'
(previous directory).
Q3.如何使树只在输出中显示目录?
假设您只希望 tree 命令在输出中显示目录条目。您可以使用 -d 命令行选项执行此操作。
例如,以下命令:
tree -d
产生了这个输出:

Q4.如何使树打印文件的完整路径前缀?
这可以使用 -f 命令行选项来完成。这是一个例子:
tree -f
这是此命令在我的系统上产生的部分输出:

Q5.如何控制输出中目录树的深度?
tree 命令还允许您控制输出中生成的目录树的深度。您可以使用 -L 命令行选项执行此操作,该选项需要一个表示允许的目录深度的数值。例如:
tree -d -L 1
上面的命令将确保只有第一级目录显示在输出中。
Q6.如何有选择地在输出中留下一些名字?
tree 命令提供了一个 -I 命令行选项,要求您将模式作为输入传递。根据您不想在输出中显示的文件/目录的名称,创建一个模式。例如,我只想显示目录,但不希望任何具有 Ubuntu 模式(区分大小写)的名称,因此我按以下方式使用了 -I 命令行选项:
tree -d -I *Ubuntu
结论
虽然我们已经讨论了很多树命令行选项,但事实上这个工具提供了更多的功能。练习完我们在这里讨论的所有内容后,请前往树命令手册页了解更多信息。