每日一个Linux命令之ls命令

1. ls命令简介

ls命令(list)可用于列出指定路径下的文件(Linux中一切皆文件,目录也是文件的一种),如果不指定路径,单独运行ls命令,则默认路径为当前路径。ls命令的使用方式如下:

ls [-options] [target path]

例如:在Home路径下直接运行ls命令,结果如下图所示:
在这里插入图片描述
如果指定路径为/etc,结果如下图所示:
在这里插入图片描述
图中不同的颜色代表了不同的文件类型,后文会详细说明如何查看具体文件类型。

2. 常见选项

单纯使用ls命令,显示的内容有限。在实际使用的时候,经常需要搭配一些选项来显示更加丰富的内容,ls常用的附加选项如下表所示:

选项作用
-a显示指定路径中的所有文件,包括隐藏文件
-l显示文件的详细信息,包括文件类型,权限,所属用户,所属用户组,文件大小,上一次修改时间等
-h文件大小以KBytes为单位显示
-S按照文件大小顺序显示,默认从大到小;若要从小到大,可使用-Sr

上述各个选项可以叠加使用,从而能够显示出需要的信息。

ls -a

例如,在Home路径下运行ls -a命令,结果如下:

在这里插入图片描述
和前面单独只用ls命令相比,结果中多出了许多文件,文件按照英文字母顺序排列。其中**.表示当前路径,表示上一级路径,以.**开头的文件在Linux中为隐藏文件。

ls -al

-a选项的作用是显示出路径中的所有文件,-l选项的作用是显示文件的详细信息,二者叠加使用就会显示路径中所有文件的详细信息,同样以Home路径为例,运行ls -al命令,结果如下图所示:

在这里插入图片描述
显示的关键信息以及使用红色框标记出来。其中,第一行的total 72:表示当前目录下的所有内容大小为72Kbytes。除去第一行,剩余的信息可以分为6大块:

  • 2: 共10个字母,第1个字母表示文件类型(-表示普通文件,d表示目录文件,b表示块设备文件,c表示字符设备文件,l表示链接文件,p表示管道文件,s表示socket文件)。剩余的9个字母可以分为3组,分表表示所属用户,所属用户组,其他用户对该文件的读写权限(R表示可读,W表示可写,X表示可执行,-表示不具备相应权限)
  • 3: 紧跟在权限之后的1个数字,表示目录文件里面包含的目录文件数(包括普通目录文件和隐藏目录文件);如果是文件,则表示该文件的链接数
  • 4: 所属用户
  • 5: 所属用户组
  • 6: 文件大小,以字节为单位
  • 7: 文件的mtime

ls -alh

上图中各文件的大小均是以字节为单位,不符合正常使用习惯,可以使用-h选项,使文件大小以KBytes为单位。同样以Home路径为例,运行ls -alh命令,结果如下:

在这里插入图片描述
从上图可见,所有文件的大小均已经以KBytes为单位(部分大小不足1KBytes的文件除外)

ls -alhS

默认的文件显示顺序是按照首字母的顺序进行排列的,有时可能需要按照文件大小进行排序,这时可以使用-S选项。同样在Home目录下,运行ls -alhS命令,结果如下图所示:

在这里插入图片描述
默认顺序是按照文件大小由大到小排列,如想要有效达到排列,则可以使用-Sr选项。运行ls -alhSr的效果如下:

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐