在Linux命令行下面,并不会像我们在图形化界面下的文件夹的层次感。当我们使用ls命令查看文件夹文件时,看到的也只是几行字母而已。今天为大家介绍的Linux命令行tree命令,则可以清晰显示文件夹的层次,效果比图形化还要好!不信?随我来!
1、简介
tree 命令用于在命令行界面以树状图形式显示目录及其子目录的内容。这个命令递归地列出所有子目录,并可选择显示每个目录中的文件。tree 命令使得用户能够快速、直观地了解特定目录下的文件结构。
2、语法格式
tree [opt] [dir]
如果省略了dir选项,则tree命令会在当前路径下生成树形结构。
3、常用选项
-a:显示所有文件和目录,包括隐藏的(以点开头的)。
-d:仅列出目录。
-L level:限制目录树的显示深度到指定的层数。
-f:显示每个文件或目录的完整路径。
-P pattern:只显示符合提供的模式的文件名或目录名。
-I pattern:排除符合提供的模式的文件名或目录名。
-o filename:将输出重定向到指定的文件。
-i:不显示文件和目录前的缩进线。
4、参考示例
4.1、使用tree命令查看树形目录
我们可以直接使用tree命令,简单,效率!
4.2、显示包含文件的树形结构,并限制到两级深度
tester02@tester02:~/jobszheng/tree_chapter$ tree -f -L 2 . └── ./eepw ├── ./eepw/diy ├── ./eepw/stm32 └── ./eepw/ti 4 directories, 0 files tester02@tester02:~/jobszheng/tree_chapter$
通常,tree 仅显示目录和文件的名称。加上 -f 选项后,它会展示从当前目录到每个文件或子目录的完整路径。-L 2 意味着 tree 只会显示当前目录下的内容和下一级子目录的内容,但不会进一步深入到更下一级的子目录。
4.3、仅显示.filetype文件
如果我们只想显示,.md文件,则可以使用以下命令:
tester02@tester02:~/jobszheng/tree_chapter$ tree -P "*.md" . └── eepw ├── diy ├── stm32 │ └── stm32h503 │ └── readme.md └── ti └── mspm0l1306 6 directories, 1 file tester02@tester02:~/jobszheng/tree_chapter$
在这个命令中,-P 是一个过滤选项,它控制 tree 命令只列出匹配给定模式的文件或目录。
4.4 仅列出当前目录下的子目录,不显示文件
tester02@tester02:~/jobszheng/tree_chapter$ tree -d . └── eepw ├── diy ├── stm32 │ └── stm32h503 └── ti └── mspm0l1306 6 directories tester02@tester02:~/jobszheng/tree_chapter$
选项 -d 代表 “directories”,这意味着 tree 命令只会列出目录,但是不包括文件。当使用 -d 选项时,tree 会遍历当前目录及其所有子目录,并在输出中显示这些目录的树状结构。