Logo
Section 1 / 9

列出文件和目录

学习如何使用命令行界面(CLI)列出文件和目录。

导入

列出文件和目录

学习如何使用命令行界面(CLI)列出文件和目录。

ls 命令

ls 命令用于显示目录的内容。默认情况下,它只展示部分内容。通过添加一些额外的参数,我们可以获得更详细的列表信息。让我们在终端中运行命令 ls -l,查看当前主目录的内容。(注意:这里是小写的字母 L。)

1$ ls -l
Terminal

该命令会以长格式列出当前目录的所有内容。文件名位于最右侧,前面包含一些附加信息。其结构如下图所示。

目录内容

类型权限链接数文件所有者组大小最后修改时间文件名
drwxr-xr-x2brianbrian40963月2日 11:59Desktop

在此环境中,文件的所有者和组均为 root 用户。

第一个字符表示条目的类型。d 表示这是一个目录,连字符(-)表示这是一个普通文件,而 l 表示这是一个链接,即一种指向其他位置文件的特殊条目。

接下来的一组字符是文件权限。在这个例子中,我们看到 rwxr-xr-x,分别表示文件所有者、所属组以及其他用户对文件的读(r)、写(w)和执行(x)权限,顺序依次为:所有者、组、其他用户。具体含义如下:

文件权限

所有者组其他用户
rwxr-xr-x

在此情况下,文件所有者拥有对该文件的全部访问权限。与该文件关联的组成员可以读取和执行该文件,而其他所有人也可以读取和执行该文件。

对于目录而言,r、w 和 x 的含义略有不同:r 表示用户可以列出目录内容,w 表示可以向目录中添加、修改或删除项目,x 表示可以进入该目录。当前 Desktop 目录的权限为 rwxr-xr-x,这意味着当前用户拥有完全访问权限,而其他人可以查看目录内容并进入,但无法修改其中的内容。关于如何更改所有者、组和权限的内容,将在下一章详细介绍。

在链接数之后,显示的是文件的所有者,接着是可访问该文件的组。然后是文件大小(以字节为单位)、最后修改时间以及文件名本身。

目录的链接数包含当前目录(.)和父目录(..)这两个条目。

如果目录中包含子目录,每增加一个直接子目录,链接数就会相应增加。

在链接数之后,你会看到文件的所有者,接着是可访问该文件的组。然后是文件大小(以字节为单位)、最后修改时间以及文件名。

使输出更易读

文件大小的输出单位是字节,对于现代大文件来说并不直观。但如果我们结合使用 -h 标志和 -l 标志,可以获得更人性化的显示效果:

1$ ls -l -h

这种格式更好,因为它使用 K 表示千字节,M 表示兆字节,G 表示吉字节。请在下方终端中运行此命令,以便更好地理解。

Terminal

为了节省输入,我们可以将单字母参数合并使用,例如:

1$ ls -lh
Terminal

在本课程后续内容中,我们将一直采用这种写法。

显示隐藏文件

任何以点(.)开头的文件名或目录名都会在目录列表中被隐藏。它们在图形界面中通常也默认隐藏,除非你调整了相关设置。许多 shell 或程序的配置文件都采用这种命名方式,这类文件常被称为“点文件”(dotfiles)。我们的主目录中就存在一些这样的隐藏文件。要查看它们,只需在 ls 命令中加入 -a 标志:

1$ ls -alh
Terminal

这次,目录列表返回了更多的文件。

文本流

递归文件列表