ls

Linux ls命令列出文件

ls命令是Linux用户应该知道的基本命令之一。它用于列出文件系统中的文件和目录的信息

4 min read
By myfreax
Linux ls命令列出文件
Linux ls命令列出文件

ls命令是Linux用户应该知道的基本命令之一。它用于列出文件系统中的文件和目录的信息。

ls命令是GNU核心命令的一部分,它安装在所有Linux发行版上。在本教程中,我们将通过实际示例和最常见的ls选项的详细向您展示如何使用ls命令。

包括列出文件权限,修改时间,大小,排序,显示隐藏文件,排序ls输出,递归列出子目录。

ls命令的语法ls [OPTIONS] [FILES]。其中OPTIONS 是ls的选项,FILES 可以是一个或者是多个文件。

当没有参数使用时,ls命令将列出当前工作目录中所有文件。文件按字母顺序列出:

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

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

如果您当前登录的用户没有对该目录的读取权限,您将收到一条消息权限拒绝的错误,指出ls命令无法打开该目录。ls: cannot open directory '/root': Permission denied。

ls

ls /etc

ls /etc /var /etc/passwd

ls /root

常用选项

ls命令的默认输出仅显示文件的名称,这些信息的信息量不大。-l选项使ls在长列表格式打印文件。

当使用长列表格式时,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选项。

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

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

排序ls输出

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

--sort=extension-X 按文件扩展名按字母顺序排序。--sort=size-S 按文件大小排序。

--sort=time-t  按文件修改时间排序。--sort=version-v 文本中的自然类型数字

如果要以反向排序顺序获取结果,请使用-r选项。例如,按修改时间反向排序对/var目录中的文件进行排序。

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

ls -ltr /var

递归列出子目录

使用-R参数告诉ls命令递归显示子目录的内容。

ls -R

结论

至此,您应该很好地理解如何使用Linux ls命令。有关其他ls选项的更多信息,请访问GNU Coreutils页面。如果您有任何问题或反馈,请随时发表评论。

Related Articles