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的效果如下: