Linux(Centos 7.6)命令详解:ls
1.命令作用
列出目录内容(list directory contents)
2.命令语法
Usage: ls [OPTION]... [FILE]...
3.参数详解
OPTION:
- -l,long list 使用长列表格式
- -a,all 不忽略.开头的条目(打印所有条目,包括.开头的隐藏条目)
- -t,modification time 按修改时间排序,最新的优先
- -r,reverse order while sorting 排序时倒序
- -S,sort by file size 按文件大小排序(对文件夹无效)
- --full-time,列出详细完整时间
4.常用用例
1.ls显示效果,文件没有颜色,目录会有颜色显示。
2.ll是ls -l的别名,两者执行结果一样,文件目录会以长列表格式输出。
以下一行列表输出为例:
-rw-------. 1 root root 2864 Dec 13 01:05 anaconda-ks.cfg
- 显示颜色看,蓝色是目录,浅蓝色是链接,绿色是可执行文件,红色是压缩文件,白色是普通文件。
- 第1列代表类型,-代表文件,d代表目录,l代表链接。
- 第2到第10列代表读写执行权限,每三个一组,依次是所有者、所属组、其他用户的读写执行权限,r代表读权限,w代表写权限,x代表执行权限。
- 第11列的点(.),selinux开启状态会显示,关闭则不显示。
- 第13列数字代表硬链接数。
- root root代表目录或文件的所属用户和用户组。
- 2864代表文件大小
- Dec 13 01:05代表目录文件最后修改时间
- 最后是目录文件名称
3.ll -a查看当前目录所有文件,包括隐藏文件,也包括当前目录及上级目录;
注:下面的六点(... ...)是我人为的省略了一部分内容,方便我们查看。
- 输出第二行名称处的点(.)代表当前目录
- 输出第三行名称处的两点(..)代表上级目录
- 输出第五行名称处,名称前带有一个点,代表隐藏文件,ls需要加-a参数才能显示
- 输出倒数第二行名称处.ssh是一个目录,代表隐藏目录,ls需要加-a参数才能显示
[root@localhost ~]# ll -a
total 84
dr-xr-x---. 15 root root 4096 Jan 3 14:32 .
dr-xr-xr-x. 17 root root 224 Dec 13 01:05 ..
-rw-------. 1 root root 2864 Dec 13 01:05 anaconda-ks.cfg
-rw-------. 1 root root 4241 Jan 3 14:08 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
... ...
drwx------. 2 root root 25 Dec 17 01:31 .ssh
... ...
4.ls -lrt是很多人常用的命令,-l按列表输出,-r目录文件名称按照字母倒序排序,-t按最后修改时间排序。
[root@localhost ~]# ls -lrt
total 20
-rw-------. 1 root root 2099 Dec 13 01:05 original-ks.cfg
-rw-------. 1 root root 2864 Dec 13 01:05 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 13 01:08 Videos
drwxr-xr-x. 2 root root 6 Dec 13 01:08 Templates
drwxr-xr-x. 2 root root 6 Dec 13 01:08 Public
drwxr-xr-x. 2 root root 6 Dec 13 01:08 Pictures
drwxr-xr-x. 2 root root 6 Dec 13 01:08 Music
drwxr-xr-x. 2 root root 6 Dec 13 01:08 Downloads
drwxr-xr-x. 2 root root 6 Dec 13 01:08 Documents
-rw-r--r--. 1 root root 984 Jan 3 14:25 ys.tar.gz
-rwxr-xr-x. 1 root root 4536 Jan 3 14:26 get_info.sh
lrwxrwxrwx. 1 root root 9 Jan 3 14:32 download -> Downloads
drwxr-xr-x. 2 root root 39 Jan 3 16:03 Desktop
5.还有一些只看某一个类型的命令依赖grep输出,grep '^-'代表将ls -l查看的内容过滤出-开头的行,即仅显示文件,其中^代表以什么开头。
ls -l | grep '^-' ## 当前目录下只输出文件
ls -l | grep '^d' ## 当前目录下只输出文件夹
ls -lS | grep '^-' ## 当前目录下文件按大小排序