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

在本教程中,我们将通过实际示例和最常见的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命令将显示以下文件信息:

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

-l(小写L)选项使ls在长列表格式打印文件。

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 - socket

接下来的九个字符显示文件权限。前三个字符用于用户,后三个用于组,最后三个用于其他用户。您可以使用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 myfreax  myfreax  4096 Feb 12 16:28 .
drwxr-xr-x 18 myfreax  myfreax  4096 Dec 26 09:21 ..
-rw-------  1 myfreax  myfreax  1630 Nov 18  2017 .bash_history
drwxr-xr-x  2 myfreax  myfreax  4096 Jul 20  2018  bin
drwxr-xr-x  2 myfreax  myfreax  4096 Jul 20  2018  Desktop
drwxr-xr-x  4 myfreax  myfreax  4096 Dec 12  2017 .npm
drwx------  2 myfreax  myfreax  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页面

如果您有任何问题或反馈,请随时发表评论。

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持