Linux ls 命令

2025年3月17日 | 阅读 7 分钟

ls 是 Linux 中的列表命令。它将显示目录的全部列表或内容。只需键入 ls 并按回车键。整个内容将显示出来。

ls 是一个用于在类 Unix 和 Unix 操作系统中列出计算机目录和文件的命令。它由 Single Unix Specification 和 POSIX 开发。
它可用于 EFI shell,作为 UnxUtils(基本 GNU 类 Unix 工具的本机 Win32 端口集)的组件,作为 Microsoft Windows 的独立包,或作为 MSX-DOS2 Tools for MSX-DOS 版本 2 的组件。

数值计算环境 GNU Octave 和 MATLAB 包含一个功能相同的 ls 函数。在 Microsoft Windows、OS2 和 DOS 等其他环境中,dir 命令提供了相同的功能。与几乎所有实用程序一样,不同的实现包括不同的选项。我们可以查看命令提供的文档以了解合适的选项和用法。

ls 的简史

ls 实用程序出现在 AT&T UNIX 的第一个版本中,其名称源自 Multics 中的同一命令,也称为 'ls',是 **“list”** 的缩写。ls 是 1987 年第二版 X/Open Portability Guide 的一部分。它被纳入了 POSIX.1 的第一个版本和 Single Unix Specification。

行为

类 Unix 和 Unix 操作系统管理工作目录的概念。当 ls 不带参数使用时,它会列出工作目录中的几个文件。如果提到了目录,则在该目录中列出文件。参数可能包括目录和文件。

以 **"."** 符号开头的文件名是隐藏的。 **"."** 目录称为当前目录,**".."** 符号称为其父目录。默认情况下,它们是显示的。所有文件都使用 -a 显示。明确指定的文件名始终显示。

ls 在没有选项的情况下仅显示名称。多个选项可以组合使用。基本选项是:

  • -h: 以人类可读的格式显示结果大小(例如,2G 234M,1K 等)。此选项不是 POSIX 标准的组成部分。但是,在许多系统上都实现了,例如,Solaris 9(2002 年),FreeBSD 4.5(2002 年)和 GNU coreutils(1997 年)。
  • -l: 代表长格式。它显示 Unix 文件类型、硬链接数、权限、组、所有者、最后修改的名称和日期-时间以及大小。如果更改日期早于六个月,则时间将替换为年份。一些实现会在权限中添加额外的标志。

可以显示不同类型的彩色项目。这是实现不同的领域

  • FreeBSD ls 应用 -G 选项。它仅检查 Unix 文件权限和类型,并使用 termcap 数据库。
  • GNU ls 应用 --color 选项。它检查 Unix 文件扩展名、权限和类型,并使用其数据库来管理通过 dircolors 控制的颜色。

示例

下面,您可以看到,在输入 ls 命令后,我们得到了 /home/sssit 目录的全部内容列表。

Linux ls command

Linux ls 命令选项

ls 选项描述
ls -a在 Linux 中,隐藏文件以 .(点)符号开头,并且在常规目录中不可见。(ls -a)命令将列出当前目录的完整列表,包括隐藏文件。
ls -l它将以长列表格式显示列表。
ls -lh此命令将以人类可读的格式显示文件大小。以字节为单位显示文件大小非常难以阅读。(ls -lh)命令将以 Mb、Gb、Tb 等为单位提供数据。
ls -lhS如果您想按大小降序(最大在顶部)显示文件,则可以使用(ls -lhS)命令。
ls -l - -block-size=[SIZE]用于以特定大小格式显示文件。在这里,您可以在 [SIZE] 中根据需要分配大小。
ls -d */用于仅显示子目录。
ls -g 或 ls -lG这样,您可以排除组信息和所有者列。
ls -n用于打印组 ID 和所有者 ID,而不是它们的名称。
ls --color=[VALUE]此命令用于以彩色或不彩色方式打印列表。
ls -li如果文件在第一列,此命令将打印索引号。
ls -p用于通过在目录后添加斜杠(/)来轻松标识目录。
ls -r用于反向顺序打印列表。
ls -R它还将显示子目录的内容。
ls -lX它将在列表中将具有相同扩展名的文件分组在一起。
ls -lt它将按显示最近修改的文件在顶部进行排序。
ls ~它给出主目录的内容。
ls ../它给出父目录的内容。
ls --version它检查 ls 命令的版本。

Linux ls -a 命令

它将给出目录的全部列表,包括隐藏文件。在 Linux 中,隐藏文件以点(.)开头,并且在常规目录中看不到。

示例


linux-directories-ls-a-command

在上例中,您可以看到包括隐藏文件在内的所有文件列表。

Linux ls -l 命令

ls 命令仅显示文件。但是,如果您希望您的文件以长列表格式显示,则可以使用 ls -l 命令。

示例


Linux List l

这里,您可以看到长列表格式的列表。

上面的列指示特定内容

  • 第 1 列指示文件权限信息。
  • 第 2 列指示文件的链接数。
  • 第 3 和 4 列指示所有者和组信息。
  • 第 5 列指示文件的大小(以字节为单位)。
  • 第 6 列显示文件最近修改的日期和时间。
  • 第 7 列显示文件或目录名称。

Linux ls -l --block-size=[SIZE]

如果您想以特定格式或大小显示列表的文件大小,则可以使用此命令。只需将大小放在 [SIZE] 的位置即可,根据您的需要。

语法

示例

让我们看看下面的输出。

Linux ls -l --block-size=[SIZE]

这里,所有文件大小都以兆字节列出。

您可以将 [SIZE] 替换为以下度量

  • K = 千字节
  • M = 兆字节
  • G = 千兆字节
  • T = 太字节
  • P = 拍字节
  • E = 艾字节
  • Z = 泽字节
  • Y = 尧字节

Linux ls -d */

如果您只想显示子目录而排除所有其他文件,则可以使用此命令。

示例


Linux ls -d */

上面的结果仅显示子目录,排除所有其他文件。

Linux ls -g

如果您不想在列表中显示所有者信息,则可以使用此命令排除该列。

示例


Linux ls -g

这里排除了所有者列。

Linux ls -lG

如果您不想在列表中显示组信息,则可以使用此命令排除该列。


Linux ls -IG

这里排除了组列。

Linux ls --color=[VALUE]

此命令用于着色和去色列表。如果将 [VALUE] 替换为 'auto',它将显示彩色列表。但是,如果将 [VALUE] 替换为 'never',它将去色列表。

语法

示例



Linux ls -- color

您可以在上图中轻松注意到 auto 和 never 命令之间的区别。

Linux ls ~

Linux ls ~ 命令显示主目录的内容。让我们看看 ls ~ 命令的示例。

示例


Linux ls ~

Linux ls ../

此命令包含父目录的列表。

在给出的示例中,我们的当前目录是 Downloads,通过使用 ls ../ 命令,我们列出了其父目录“主目录”的内容。

示例


Linux ls ../

使用 ls -t 打开最后修改的文件

它可以按编辑时间对文件进行排序,将最后修改的文件首先显示。要打开当前工作目录中的最后修改文件,我们可以使用 ls 命令和 head 命令

以 HRF(人类可读格式)显示文件大小

要以人类可读的格式(例如 GB、G、KB、MB 等)显示文件大小,我们可以使用以下命令

其中 h 是 human readable format 的缩写。

显示目录信息

当我们使用 "ls -l" 时,我们会获得目录内容的信息。但是,如果我们想查看目录的信息,可以使用 -d 选项。
例如,如果我们使用 ls -l /etc 命令,它将显示 etc 目录中的所有文件。但是,如果我们想显示 /etc 目录的详细信息,我们可以使用 -ld 选项。命令如下

与最后编辑时间相关的旧文件

我们可以使用 ls -lt 命令按最后编辑时间顺序对显示的文件名进行排序。与 -l 选项一起使用会很方便。命令如下

与最后编辑时间相关的旧文件(反向顺序)

我们可以使用 ls -ltr 命令按最后编辑时间顺序以反向顺序对显示的文件名进行排序。它将在最后一行显示最后修改的文件。当列表过程变长时,会更方便。命令如下


下一主题Linux mkdir 命令