Linux中的Ls命令(列出文件和目录)

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 /etc /var /etc/passwd

如果您登录的用户没有该目录的读取权限,则会收到一条消息,提示您 ls 无法打开目录:

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

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 -先进先出
  • s -插座。

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

  • r -允许读取文件。
  • w -写入文件的权限。
  • x -执行文件的权限。
  • ssetgid 一点。
  • tsticky 一点。

在我们的示例中 rw-r--r-- 表示用户可以读写文件,而组和其他用户只能读取文件。 号码 1 许可字符后面是此文件的硬链接数。

接下来的两个领域 root root 显示文件所有者和组,然后显示文件大小(337)(以字节为单位)。 使用 -h 如果要以人类可读的格式打印尺寸。 您可以使用 chown 命令。

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

对输出进行排序

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

--sort 选项允许您按扩展名,大小,时间和版本对输出进行排序:

  • --sort=extension (要么 -X )-按扩展名的字母顺序排序。
  • --sort=size (要么 -S)-按文件大小排序。
  • --sort=time ( 要么 -t)-按修改时间排序。
  • --sort=version (要么 -v)-版本号的自然排序。

如果要以相反的顺序获取结果,请使用 -r 选项。

例如,要对文件中的文件进行排序 /var 按修改时间的相反顺序排列目录:

ls -ltr /var

值得一提的是 ls 命令不显示目录内容占用的总空间。 要获取目录的大小,请使用 du 命令。

递归列出子目录

-R 选项告诉 ls 命令以递归方式显示子目录的内容:

ls -R

结论#

ls 命令列出有关文件和目录的信息。

有关更多信息 ls 访问GNU Coreutils页面或键入 man ls 在您的终端中。

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

ls终端

Sidebar