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
-执行文件的权限。s
—setgid
一点。t
—sticky
一点。
在我们的示例中 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终端