大家应该熟悉或了解 Linux 中的目录结果,它就像树的根。这正是 tree 命令的概念。它以树状方式显示当前目录及其子目录的内容。
在使用 tree 命令之前,需要首先安装。
安装 tree
大多数 Linux 发行版中都没有预安装 tree 命令,但是可以在官方库中找到它。
在 Debian 或者 Ubuntu 中可以使用如下命令安装:
sudo apt install tree
在基于 RHEL 的系统中:
sudo yum install tree
基于 Arch 的系统中:
sudo pacman -S tree
安装完成后,就可以直接使用 tree 命令了,tree 命令后跟目录或者目录的路径,它将以树的形式现实文件内容:
tree target_directory
但是 tree 命令的功能不仅仅是列出文件内容,看下面几个例子。
只列出目录
如果只想列出指定位置的目录,可以使用 -d 选项。
tree -d target_directory
列出隐藏文件
默认情况下,tree 命令不会列出隐藏的文件。可以使用 -a 选项列出位置中的隐藏文件:
tree -a target_directory
看下图中的例子:
让结果中包含文件路径
如果要显示每个文件的路径,只需使用 -f 选项,它将获取每个文件路径:
tree -f directory
那么怎样获取完整路径呢?只需要附加目录的完整路径(从主目录到目标目录),如下所示:
tree -f /home/sagar/Directory
这个命令比较长,下面我们来分享一个相对简单的方法。
这种情况下,我们可以使用 pwd 命令来获取完整路径,用它来代替 tree 命令中的目录。看下面的例子:
tree -f "$(pwd)"
根据级别列出文件和目录
如果目录的层级很深,有数百个子目录,但是我们只想列出前几级的目录,或者前一个或两个目录,可以使用 -L 选项,后跟目录级别:
tree -L Level
比如,我们列出前两级目录:
tree -L 2
通过上图大家可以看到区别,左侧显示了所有文件,右侧使用 -L 2 选项后,只显示了两级的文件。
列出文件权限
要在列表中显示文件权限,需要使用 -p 选项:
tree -p TargetDirectory
不过为了方便起见,我们常常将其与 -h 同时使用,以提高可读性,看下面的例子:
tree -ph MUSIC
使用 tree 命令获取目录的文件大小
tree 命令可以显示指定位置的每个文件和目录的大小,并且也会计算总的大小。该功能需要使用 --df 选项,不过为了提高可读性,建议将其与 -h 共同使用:
tree --df -h TargetDirectory
根据文件修改时间排序
有两种针对文件修改时间排序的方法:
-
根据修改时间正向排序;
-
根据修改时间倒序排序
根据修改时间正向排序
根据文件修改时间进行排序,需要使用 -c 选项,默认情况下,它最先显示最早修改的文件。另外结合 -D 选项来显示文件修改的时间:
tree -cD TargetDirectory
根据修改时间倒序排序
-c 选项默认最先修改的文件在最上方,要将最后修改的文件显示在最上方,需要添加 -r 选项:
tree -cDr TargetDirectory
以上就是本次分分享全部内容,欢迎讨论。