Linux LS命令初学者的16个实例
每当需要在 Linux 或任何其他类 UNIX 操作系统的命令行上查看目录的内容时,ls 就是使用的命令。 ls 命令列出按字母顺序排序的目录的内容。

虽然这是工具的基本用法,但它提供了大量功能(以命令行选项的形式),可在多种情况下为您提供帮助。在本教程中,我们将通过易于理解的示例讨论其中一些命令行选项的用法。使用 cd 命令转到要执行 ls 的目录。
1.如何列出隐藏文件/目录
默认情况下,ls 命令不显示隐藏的文件/目录。但是,您可以使用 -a 命令行选项强制该工具执行此操作。因此,要列出当前目录中的所有文件/目录(包括隐藏的 - 名称以点 . 开头的文件/目录),请运行以下命令:
ls -a

2. 如何跳过输出中的当前 (.) 和上一个目录 (..) 条目
使用 -a 命令行选项时,当前目录和上一个目录的条目(分别为 . 和 ..)也会显示出来。如果您希望 ls 不在输出中显示这些,请改用 -A 命令行选项。

3.如何倒序显示文件/目录
默认情况下,ls 命令在输出中按字母顺序显示文件。但是如果你愿意,你也可以让工具以相反的顺序显示文件。为此,您必须使用该工具的 -r 命令行选项。
ls -r
这是一个例子:

4. 如何根据文件扩展名对 ls 命令输出进行排序
要根据文件扩展名按字母顺序对 ls 命令输出进行排序,请使用 -X 命令行选项。
ls -X
这是上面的命令:

正如您在上面的屏幕截图中看到的,在名称中包含扩展名的文件中,echo.c 排在最前面,byzanz_window.py 排在最后。
5.如何根据修改时间对文件进行排序
如果你想快速知道最近修改了哪些文件或目录,那么你可以使用 ls 命令的 -t 选项。
ls -t
-t 命令行选项首先显示最新条目。
6.如何递归列出子目录
如果需要,您也可以使 ls 命令显示子目录的内容。这可以使用 -R 命令行选项来完成。
ls -R
以下屏幕截图显示了上述命令的运行情况:

7. 如何列出文件名及其索引节点号
ls 命令还可以让您列出文件/目录名称及其各自的 inode 编号。该工具提供了-i 命令行选项来访问此功能。
ls -i
这是上面的命令:

正如你在上面的截图中看到的,左边的数字是 inode 编号,而右边的名称是对应的文件/目录名称。
8、如何显示文件和目录的详细信息
ls 命令还可以打印有关文件和目录的详细信息。要启用此输出格式(也称为长列表格式),您需要使用 -l 命令行选项。

正如您在上面的屏幕截图中所见,输出分为 8 列。以下是这些专栏传达的内容:
- 第一列显示文件权限
- 第二列显示硬链接数
- 第三个和第四个是所有者和组名
- 第五是文件大小
- 第六和第七为最后一次修改的日期和时间
- 最后是文件名。
9.如何显示作者信息
在生成长格式目录列表时,您还可以要求 ls 命令列出每个文件的作者。为此,您必须将 --author 选项与 -l 结合使用。
ls -l --作者

正如您在上面的屏幕截图中看到的,新添加的第五列是作者。
注意:官方 GNU 网站说,“在 GNU/Hurd 中,文件作者可以与其所有者不同,但在其他操作系统中,两者是相同的。”
10. 如何为非图形字符(如换行符和空格)打印 C 风格的转义符
假设当前目录包含一个名称带有换行符的文件。如果您尝试列出该目录的内容,将显示该特定文件名,其中包含问号 (?),表示不可打印的字符。

但是,ls 命令提供了一个选项,使用时可以为不可打印的字符打印 C 风格的转义字符。有问题的选项是-b。

所以你可以在上面的屏幕截图中看到,-b 选项导致 ls 为换行符打印 \n。同样,在此模式下,空格由 \[space] 表示。
11. 如何以字节以外的单位打印文件大小
如果您想知道文件的大小,您必须使用我们在上面第 3 点中讨论的 -l 选项(启用长列表格式)。默认情况下,大小以字节为单位显示。但是,在某些情况下,您可能需要以千字节或兆字节为单位的大小。
ls 命令有一个选项,可让您指定希望显示文件大小的单位。有问题的选项是--block-size。例如,如果要以千字节为单位显示大小,则可以运行以下命令:
ls -l --block-size=k [文件名]

请记住,使用 -l 命令行选项生成的大小数字是实际文件大小或其包含的数据量。相反,如果您想知道文件系统上文件的大小或分配的大小(是的,它可以不同),那么您必须使用 -s 命令。
ls -s --block-size=k [file-name]

有关 -l 选项和 -s 选项生成的文件大小之间差异的更多信息,请访问此处。
12. 如何让 ls 在输出中只显示文件名和文件大小
如果您希望 ls 命令输出仅包含文件/目录名称及其各自的大小,那么您可以结合使用 -h 选项和 -l/-s 命令行选项来实现。
例如:
ls -s -h

13. 如何使 ls 不在输出中列出备份文件
在 Linux 中,备份文件的名称以波浪号 (~) 结尾。 ls 命令提供了一个选项 (-B),您可以使用该选项要求该工具不要在输出中列出备份文件,以防万一。
例如,以下屏幕截图显示了两个 ls 命令。第一个输出备份文件的名称,但第二个(使用 -B 选项)不输出。

14.如何让ls在输出中明确指出文件类型
默认情况下,ls 命令显示的输出是彩色编码的,其中不同的颜色代表不同类型的文件。但是,如果需要,您也可以让该工具将一个指示符(为此目的)附加到输出中的条目。可以使用 -F 选项访问此功能。
这是一个例子:

观察额外的/with example 目录,以及 * with test 可执行文件。以下是完整的指标列表及其指示信息:
- @表示符号链接
- * 表示可执行文件
- = 表示套接字文件
- |表示命名管道
- > 表示一扇门
- / 表示目录
15. 如何更改 ls 命令输出格式
如果需要,您还可以更改 ls 命令的输出格式。工具 --format 选项可让您执行此操作。此选项要求您传递一个值,该值指示您想要的输出格式类型。可用值有:详细或长、逗号、水平或横向、垂直和单列。
例如,当您需要以逗号分隔的输出时,请使用 --format=commas:

同样,当您希望输出显示在单列中时,请使用 --format=single-column:

16. 如何让 ls 隐藏特定类型的文件
如果需要,您还可以强制 ls 命令在输出中隐藏特定类型的文件。 --hide 选项(需要将 shell 模式传递给它)允许您执行此操作。例如,如果您不希望该工具不在输出中显示 .txt 文件,则应运行以下命令:
ls --hide=*.txt
以下屏幕截图显示了没有和有 --hide 选项的输出。

结论
虽然 ls 是一个非常基本的命令,但它的使用效率取决于用户对该工具提供的命令行选项的了解程度。请尝试我们在教程中讨论的选项,如有任何疑问或疑问,请前往其手册页。