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页面
如果您有任何问题或反馈,请随时发表评论。
如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持