在 Linux 中使用 ls 命令列出目录内容
在终端基础知识系列的本章中,了解如何显示目录内容、对目录内容进行排序以及检查文件统计信息。
Linux 中的 ls 命令用于列出目录的内容。您可以将 ls
视为 list
的缩写形式。
仅仅列出目录的组成还有更多内容。您可以查看文件大小、创建时间、是否是文件或目录以及文件权限。您甚至可以根据这些条件对输出进行排序。
我不会详细介绍。您应该了解足够的基础知识来解决这个阶段的问题。
准备您的测试设置
本终端基础知识教程系列采用实践方法,您可以通过实践来学习知识。最好在您的系统上创建一个工作场景,以便您可以尝试并看到类似的结果,如本教程所示。
打开终端并切换到主目录,并在practice
目录下创建一个ls-command
目录,然后进入这个新创建的目录。
cd ~
mkdir -p practice/ls-command
cd practice/ls-command
如果您不认识这里的某些命令也没关系。只需按照显示的内容输入即可。
创建几个空文件:
touch empty_file_{1,2}
复制一个巨大的文本文件:
cp /etc/services .
创建几个目录:
mkdir dir_{1..3}
创建隐藏文件:
echo "Now You See Me" > .john-cena
让我们用软链接(如文件的快捷方式)结束设置:
ln -s services link_services
让我们看看 ls-command 目录现在的样子:
abhishek@linux:~/practice/ls-command$ ls
dir_1 dir_2 dir_3 empty_file_1 empty_file_2 link_services services
长列表:包含详细信息的列表
虽然 ls 命令显示内容,但它不提供有关内容的任何详细信息。
您可以在此处使用长列表选项 -l
。
ls -l
它将在单独的行中显示目录的内容,并按字母顺序显示附加信息:
大多数 Linux 发行版都已预先配置为以不同颜色显示文件、目录和链接。可执行文件也以不同的颜色显示。
您将在长列表中看到以下信息:
文件类型:- 表示文件,d 表示目录,l 表示软链接。
硬链接数量:通常为 1,除非确实存在硬链接(不必太担心)。
所有者名称:拥有该文件的用户。
组名称:有权访问该文件的组。
文件大小:文件大小(以字节为单位)。无论目录大小如何,目录始终为 4K(或 4096)。
日期和时间:通常是文件的最后修改时间和日期。
文件名:文件、目录或链接的名称。
了解文件权限和所有权是个好主意。我强烈建议阅读本教程。
显示隐藏文件
还记得您创建了一个名为 .john-cena 的“隐藏文件”吗?但您在 ls 命令的输出中看不到它。
在 Linux 中,如果文件名以点 (.) 开头,则该文件或目录在正常视图中是隐藏的。
要查看这些“隐藏文件”,您必须使用选项-a
:
ls -a
实际上,您可以在大多数 Linux 命令中将多个选项组合在一起。让我们将它与长列表选项结合起来:
ls -la
现在,它将显示隐藏的 .john-cena 文件:
您是否注意到现在还显示了特殊目录 .
(当前目录)和 ..
(父目录)?
您可以使用选项 -A
而不是 -a
让它们消失并仍然显示其他隐藏文件。继续尝试。
显示文件大小
长列表选项 -l
显示文件大小。然而,这并不容易理解。例如,在上面的示例中,服务文件的大小为 12813 字节。
作为普通计算机用户,以 KB、MB 和 GB 为单位查看文件大小更有意义。
ls 命令有一个人类可读的选项 -h
。将其与长列表选项结合起来,您可以以可识别的格式查看文件大小。
ls 命令不显示目录的大小。对于目录大小,您可以使用 du 命令。
首先显示最新的文件
您已经看到长列表显示了文件/目录的修改时间。
您可以使用 -t
选项根据此时间戳对 ls 命令的输出进行排序:
ls -lt
正如您所看到的,该链接是其中最新的。
通过将上述选项
-t
与反向选项-r
组合,反转顺序并首先显示较旧的文件。你看到了什么?
显示各个文件的详细信息
到目前为止,您已对整个当前目录使用了 ls 命令。您还可以在单个文件或一堆文件和目录上使用它。重点是什么?那么,您可以使用长列表选项来获取所选文件的详细信息。
ls path_to_file1 path_to_file2
这是一个例子:
如果您使用带有目录路径的
ls
命令,它将显示其内容。如果您想查看目录的统计信息,请使用选项-d
。
测试你的知识
大多数 Linux 命令都有许多选项。任何人都不可能了解所有这些命令,即使是最常用的命令,例如这里的 ls 。
现在,您对列出目录内容和检查文件统计信息有了一个不错的了解。是时候测试一下您的知识了。
请尝试以下操作:
新建一个目录,名为ls_exercise,并进入该目录
使用以下命令复制文件:
cp /etc/passwd .
检查目录的内容。文件名是什么?
该文件的大小是多少?
使用以下命令复制更多文件:
cp /etc/aliases /etc/os-release /etc/legal 。
按修改时间的相反顺序对文件进行排序。
如果运行以下命令:
ls -lS
,您会观察到什么?
您可以在社区论坛中讨论此练习。
在终端基础知识系列的下一章中,您将了解如何在 Linux 命令行中创建文件。
如果您有疑问或建议,请告诉我。