Kali Linux Tree 命令

17 Mar 2025 | 6 分钟阅读

Kali Linux 中,与 MS-DOSMicrosoft Windows 一样,tree 指的是一个递归目录列表程序,该程序生成文件的 **深度缩进** 列表。如果没有任何参数,tree 会列出当前目录中的文件。当使用目录参数时,tree 会逐一列出在每个指定目录中找到的所有文件或目录。

tree 在列出所有找到的文件和目录后,会提供文件和目录的总数。还有用于更改输出字符和使用彩色输出的选项。

语法

tree 命令的语法如下:

Tree 命令选项

在 tree 命令中,有各种选项。

  1. 列出选项
  2. 文件选项
  3. 排序选项
  4. 图形选项
  5. XML/HTML/JSON 选项
  6. 输入选项
  7. 杂项选项

1. 列出选项

有各种列出选项。

  • -a: - 此选项用于 **列出所有文件**。
  • -d: - 此选项用于 **仅列出目录**。
  • -l: - 遵循 **符号链接**,如目录。
  • -f: - 使用此选项,我们可以 **为每个文件打印完整的路径前缀**。
  • -x: - 我们使用此选项 **仅停留在当前文件系统**。
  • -L level: - 只下降到 **level 层深的目录**。
  • -R: - 达到最大 **目录** 级别时,此选项会重新运行 tree。
  • -P pattern: - 使用此选项,我们可以只列出 **匹配给定模式** 的文件。
  • -I pattern: - 不列出匹配给定模式的文件。
  • --ignore-case: - 此选项在模式匹配时 **忽略大小写**。
  • --matchdirs: - 在 **-P** 模式匹配中包含目录名称。
  • --noreport: - 在 tree 列表结束时关闭 **文件/目录** 计数。
  • charset X: - 对 **终端/HTML** 和 **缩进线** 输出使用 **charset X**。
  • --filelimit #: - 不下降到包含超过 # **文件** 的 **目录** 中。
  • --timefmt <f>: - 我们使用此选项根据格式 **<f> 来打印** 和 **格式化时间**。
  • -o filename: - 将文件输出到指定文件而不是 **stdout**。

2. 文件选项

以下是文件选项:

  • -q: - 此选项将不可打印字符打印为 **'?'**。
  • -N: -此选项将不可打印字符 **按原样** 打印。
  • -Q: -此选项用于 **用双引号括起** 文件名。
  • -p: -此选项用于打印每个文件的 **权限**。
  • -u: -我们使用此选项来显示 **文件所有者** 或 **UID 号**。
  • -g: -我们使用此选项来显示 **组所有者** 或 **GID 号**。
  • -h: -我们使用此选项以更 **易读的格式** 打印 **大小**。
  • --si: -此选项类似于 **-h**,但我们使用 **SI 单位**(1000 的幂)进行此选项。
  • -D: -此选项用于打印 **最后修改日期** 或 **(-c)状态更改日期**。
  • -F: -根据 ls -F **追加** **'/'、'='、'*'、'@' 或 '>'**。
  • --inodes: -此选项用于打印每个文件的 **inode 号**。
  • --device: -此选项用于打印每个文件所属的设备 **ID 号**。

3. 排序选项

以下是排序选项:

  • -v: -此选项用于 **按版本字母数字顺序** 对文件进行排序。
  • -t: -此选项用于按 **最后修改时间** 对文件进行排序。
  • -c: -此选项用于按 **最后状态更改时间** 对文件进行排序。
  • -U: -保持文件 **未排序**。
  • -r: -我们使用此选项来 **反转** 排序顺序。
  • --dirsfirst: -此选项用于 **保持文件未排序**。
  • --sort X: -选择排序:**名称、版本、大小、mtime、ctime**。

4. 图形选项

以下是图形选项:

  • -i: - 不打印 **缩进线**。
  • -A: -此选项用于打印 **ANSI 线条图形缩进线**。
  • -S: -此选项用于打印 **CP437(控制台)图形缩进线**。
  • -n: - **始终关闭** 颜色化(-C 优先)。
  • -C: - **始终开启** 颜色化。

5. XML/HTML/JSON 选项

以下是 **XML/HTML/JSON** 选项:

  • -X: -此选项用于打印树的 **XML** 表示。
  • -J: -此选项用于打印树的 **JSON** 表示。
  • -H baseHREF: -此选项用于以 **baseHREF** 作为顶层目录打印 HTML 格式。
  • -T string: -此选项用于将默认 **HTML 标题** 和 **H1 标题** 替换为 string。
  • -- nolinks: -此选项用于在 HTML 输出中 **创建超链接**。

6. 输入选项

以下是输入选项:

  • --Fromfile: -从文件读取路径 **(.=stdin)**。

7. 杂项选项

以下是杂项选项:

  • --version: -此选项用于 **打印版本** 并退出。
  • --help: -打印用法和此帮助信息并退出。

如何安装 Tree 命令

在 Kali Linux 中,通过 **apt-get** 命令安装 tree 命令行实用程序非常简单。要安装 tree 命令,我们需要打开 kali Linux 终端并输入以下命令。


Kali Linux Tree Command

安装 tree 后,我们可以使用以下命令来检查版本号并查看安装是否成功。

Kali Linux Tree Command

我们建议在每次安装前执行以下命令,以便从在线存储库中获取最新版本的软件。

Kali Linux Tree Command

如何在 Kali Linux 中使用 Tree 命令

下面我们将通过一些 tree 命令的示例来学习如何使用它,并掌握它。

基本 Tree 输出

tree 命令有多种用法,最基本的一种是:


Kali Linux Tree Command

输出显示了我们当前目录的树状结构,显示了所有的 **文件夹、子文件夹** 和 **文件**。

显示特定目录的内容

如果我们想列出 **某个目录** 的 **文件** 和 **子文件夹**,而不是当前目录。在这种情况下,我们可以使用以下语法来确定路径或目录名称。

示例

如果存在,以下命令将列出 **Pictures** 目录中的所有 **文件** 和 **子文件夹**。


Kali Linux Tree Command

使用 Tree 只显示目录列表

如果我们只想查看目录列表而不是底层文件,我们可以使用 tree 命令的 **"d"** 标志。


Kali Linux Tree Command

使用 Tree 显示文件和文件夹的完整路径前缀

使用 **"f"** 标志,我们可以自定义 tree 标志,以便为列出的所有 **文件** 和 **文件夹** 显示 **完整的路径** 作为 **前缀**。


Kali Linux Tree Command

使用 Tree 显示文件和文件夹的大小

使用 "s" 标志,我们可以让 tree 命令以字节为单位打印我们目录中所有文件和文件夹的 **大小**。


Kali Linux Tree Command

这有助于我们确定哪些项目占用了我们系统上的大量空间,并删除不需要的项目。

使用 Tree 命令显示文件和文件夹的读写权限

我们可以使用 tree 命令中的 **"p"** 标志来查看列出的 **文件和文件夹** 上的 **读、写** 和 **删除** 权限。


Kali Linux Tree Command

因此,在我们对文件或文件夹执行操作之前,我们应该首先了解并可能更改我们对该项目的权限。

使用 Tree 命令列出特定深度/级别的文件夹内容

我们可以使用 tree 命令来显示特定级别或深度的树,而不是列出我们目录中的所有项目。例如,tree 命令中的级别 1 将仅显示给定文件夹的列表,而不是其任何子文件夹。以下是使用语法的示例。

示例

使用 **"-d"** 参数,以下命令将仅显示当前目录的子目录,而不是整个树。


Kali Linux Tree Command

Tree 帮助

tree 命令比我们描述的用法更有用。我们可以通过查看 tree 命令的帮助来了解更多关于该命令的信息,如下所示。


Kali Linux Tree Command

通过我们描述的标志以及这些标志的组合,我们可以更好地掌握 tree 命令!