ls命令是Linux用户应该知道的基本命令之一。它用于列出文件系统的文件目录的信息。
ls 命令是 GNU 核心命令的一部分,它安装在所有Linux发行版上。在本教程中,我们将通过实例和最常见的 ls 命令选项的详细向您展示如何使用 ls 命令。
包括查看文件权限,修改时间,大小,排序,显示隐藏文件,排序ls输出,递归列出子目录。
ls 命令详解
ls 命令的语法形式是 ls [OPTIONS] [FILES]
。 OPTIONS
是 ls 命令的选项,可选参数,FILES
可以是一个或者多个文件目录,多个文件目录请使用空格进行分隔。
在不指定任何参数运行 ls 命令时,ls 命令将列出当前工作目录的所有文件。文件按字母顺序列出。
要列出指定目录的文件,请将目录的路径传递给 ls 命令。例如命令 ls /etc
列出/etc
目录的内容。
如果当前登录的用户没有对该目录的读取权限,终端将会打印权限拒绝错误消息 ls: cannot open directory '/root': Permission denied 指示 ls 命令无法打开该目录。
ls
ls /etc
ls /etc /var /etc/passwd
ls /root
查看文件信息
ls 命令默认情况下仅列出文件目录的名称,包含的文件信息并不多。如需要查看文件的更多信息,可以使用 ls 命令的 -l
选项已长列表格式打印文件。
当使用长列表格式时,ls 命令将显示文件类型,权限,硬链接数,所有者,所属组,文件大小,日期和时间,文件名。
ls -l /etc/hosts
-rw-r--r-- 1 root root 337 Oct 4 11:31 /etc/hosts
第一个字符表示文件类型。在此教程是字符是 -
表示文件。在 Linux 有很多文件类型,这些类型包括。
-
普通文件,b
块设备文件,c
角色文件,d
目录,l
符号链接,n
网络文件,p
FIFO,s
socket套接字文件。
接下来九个字符 rw-r--r–
表示文件权限。前三个字符用于表示用户权限,后三个表示组的权限,最后三个表示其他用户的权限。
可以使用 chmod 命令修改文件权限,权限字符的值可以是:r
读取权限,w
写入权限,x
执行权限,s
setgid 位,t
粘性位。
在本教程的示例中,rw-r--r--
表示用户可以读取和写入文件,而组和其他人只能读取文件。数字 1
表示硬链接到文件的数量。
接下来的两个字段 root root
显示文件所有者和所属组,后跟文件的大小 337
,以字节为单位。如果要以可读的格式打印大小,请使用 ls 命令的 -h
选项。
Oct 4 11:31
是文件修改日期和时间,最后一列是文件的名称。
查看隐藏文件
默认情况下,ls 命令不会列出隐藏文件。在 Linux,隐藏文件是以点.
开头的所有文件。
要显示所有文件,包括隐藏文件,请使用 ls 命令的 -a
选项。通常,我们在运行 ls 命令时还使用 -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 命令的输出。
可以使用ls 命令的 -X
选项按文件扩展名的字母顺序进行排序。-S
选项按文件大小排序, -t
选项按文件修改时间排序,-v
文本中的自然类型数字排序。
如果要以反向排序打印 ls 命令的输出,请使用 ls 命令的 -r
选项。例如命令 ls -ltr /var
按修改时间反向对/var
目录文件进行排序。
ls -ltr /var
递归列出子目录
如需要使用 ls 命令递归列出子目录的所有文件,请使用 ls 命令的 -R
选项。
ls -R
结论
至此,你应该熟悉并且理解如何在 Linux 使用 ls 命令。如果您有任何问题或反馈,请随时发表评论。