在 Linux 中使用 ls 命令列出文件

linux ls

ls 命令是任何 Linux 用户应该知道的基本命令之一,它用于列出有关文件系统中的文件和目录的信息。ls 程序安装在所有Linux发行版上,它是 GNU 核心实用程序的一部分。

在本教程中,我们将通过实际示例和最常见的 ls 选项的详细说明向您展示如何使用 ls 命令。

如何使用ls命令

ls 命令的语法如下:

ls [OPTIONS] [FILES]

当没有参数使用时,ls 命令将列出当前工作目录中所有文件的名称:

ls

文件按字母顺序列出:

cache  db  empty  games  lib  local  lock  log  mail  opt  run  spool  tmp

要列出特定目录中的文件,请将目录的路径传递给 ls 命令。例如,要列出目录的内容 /etc ,请键入:

ls /etc

您还可以将多个给以空格分隔的目录和文件传递给 ls 命令:

ls /etc /var /etc/passwd

如果您登录的用户没有对该目录的读取权限,您将收到一条消息,指出 ls 命令无法打开该目录:

ls /root
ls: cannot open directory '/root': Permission denied

ls 命令有许多选项,在下面的部分中,我们将探索最常用的选项。

长清单格式

ls 命令的默认输出仅显示文件的名称,这些信息的信息量不大。使用长列表格式时,ls命令将显示以下文件信息:

  • 文件类型
  • 文件权限
  • 文件的硬链接数
  • 文件所有者
  • 文件组
  • 文件大小
  • 日期和时间
  • 文件名

ls 通过使用 -l(小写 l )选项来输出在长列表格式的文件列表。

ls -l /etc/hosts
-rw-r--r-- 1 root root 337 Oct  4 11:31 /etc/hosts

让我们解释一下输出中最重要的列。

第一个字符显示文件类型。在我们的示例中,第一个字符是-常规文件。其他文件类型的值如下:

  • - - 常规文件
  • b - 阻止特殊文件
  • c - 角色特殊文件
  • d - 目录
  • l - 符号链接
  • n - 网络文件
  • p - FIFO
  • s - 插座

接下来的九个字符显示文件权限。前三个字符用于描述用户权限,后三个用于描述组用户权限,最后三个用于描述其他用户的权限。您可以使用 chmod 命令更改文件权限。权限字符可以采用以下值:

  • r - 读取文件的权限
  • w - 写入文件的权限
  • x - 执行文件的权限
  • s - setgid位
  • t - 粘性

在我们的示例中,rw-r--r-- 表示用户可以读取和写入文件,而组用户和其他人只能读取文件。权限字符后的数字 1 是硬链接到该文件的数量。

接下来的两个字段 root root 显示文件所有者和组,后面的数字 337 代表文件的大小,以字节为单位显示。如果要以人类可读的格式打印文件大小,请使用此选项 -h 。您可以使用 chmod 命令更改文件所有者。

接下来的 Oct 4 11:31 是一个文件最后修改日期和时间。最后一列是文件的名称。

显示隐藏文件

默认情况下,ls 命令不会显示隐藏文件。在 Linux 中,隐藏文件是以点(.)开头的任何文件。

要显示所有文件,包括隐藏文件,请使用以下 -a 选项:

ls -la ~/

输出如下

drwxr-x--- 10 linuxize  linuxize  4096 Feb 12 16:28 .
drwxr-xr-x 18 linuxize  linuxize  4096 Dec 26 09:21 ..
-rw-------  1 linuxize  linuxize  1630 Nov 18  2017 .bash_history
drwxr-xr-x  2 linuxize  linuxize  4096 Jul 20  2018  bin
drwxr-xr-x  2 linuxize  linuxize  4096 Jul 20  2018  Desktop
drwxr-xr-x  4 linuxize  linuxize  4096 Dec 12  2017 .npm
drwx------  2 linuxize  linuxize  4096 Mar  4  2018 .ssh

我们还使用该 -l 选项显示所有文件的详细信息。

如何排序ls输出

正如我们已经提到的,默认情况下,ls命令按字母顺序列出文件。

  • --sort=extension(或 -X) - 按条目扩展名按字母顺序排序
  • --sort=size(或 -S) - 按文件大小排序
  • --sort=time(或 -t) - 按修改时间排序
  • --sort=version(或 -v) - 文本中的自然类型(版本)数字

如果要以反向排序顺序获取结果,请使用该 -r 选项。

例如,要对目录 /var 中的文件按修改时间反向排序顺序进行排序,您可以使用:

ls -ltr /var

值得一提的是,ls 命令没有显示目录内容占用的总空间。

递归列出子目录

使用该 -R 参数告诉 ls 命令显示子目录的内容, 如下面的例子:

ls -R

结论

到目前为止,您应该已经很好地理解了如何使用Linux ls命令。有关其他 ls 选项的更多信息,请访问 GNU Coreutils 页面

如何在 Debian 9 上安装 Vagrant 如何在 CentOS 上启用EPEL存储库