ls命令--list的缩写,是最常见的目录操作命令,其主要功能是显示当前目录下的内容。
ls命令的基本格式为:
[root@localhost ~]# ls [选项] 目录名称
以下为ls命令最常用的选项以及各自的功能:
选项 | 功能 |
-a | 显示全部的文件,包括隐藏文件(开头为.的文件)也一起罗列出来,这是最常用的选项之一。 |
-A | 显示全部的文件,连同隐藏文件,但不包括.与..这两个目录。 |
-d | 仅列出目录本身,而不是列出目录内的文件数据。 |
-f | ls默认会以文件名排序,使用该选项会直接列出结果,而不进行排序。 |
-F | 在文件或目录名后加上文件类型的指示符号,例如:*代表可运行文件,/代表目录,=代表socket文件,|代表FIFO文件。 |
-h | 以易懂的方式显示文件或目录大小,如1KB、234MB、2GB等。 |
-i | 显示inode节点信息。 |
-I | 使用长格式列出文件和目录信息。 |
-n | 以UID和GID分别代替文件用户 名和群组名显示出来。 |
-r | 将排序结果反向输出,比如,若原本文件名由小到大,反向则为由大到小。 |
-R | 连同子目录内容一起列出来,等于将该目录下的所有文件都显示出来。 |
-S | 以文件容量大小排序,而不是以文件名排序。 |
-t | 以时间排序,而不是以文件名排序。 |
--color=never --color=always --color=auto | never表示不依据文件特性给与颜色显示 always表示显示颜色,ls默认采用这种颜色 auto表示让系统自行依据配置来判断是否给与颜色 |
--full-time | 以完整时间模式(包含年、月、日、时、分)输出。 |
--time={atime,ctime} | 输出access时间或改变权限属性时间(ctime),而不是内容变更时间。 |
要注意的是,当ls命令不使用任何选项时,默认只会显示非隐藏文件的名称,并以文件名进行排序,同时会根据文件的具体类型给文件名配色(蓝色显示目录,白色显示一般文件)。
例1:
[root@localhost ~]# ls -al
total 64
dr-xr-x---. 11 root root 4096 Jan 15 18:39 .
dr-xr-xr-x. 19 root root 269 Dec 30 14:32 ..
-rw-------. 1 root root 2761 Dec 21 09:44 anaconda-ks.cfg
-rw------- 1 root root 10012 Jan 12 21:01 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
drwxr-xr-x 2 root root 19 Dec 30 09:43 bin
drwx------. 13 root root 275 Dec 21 16:21 .cache
drwxr-xr-x. 14 root root 261 Jan 12 18:13 .config
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
drwx------. 3 root root 25 Dec 21 09:54 .dbus
drwxr-xr-x. 2 root root 6 Dec 21 09:54 Desktop
-rw-------. 1 root root 16 Dec 21 09:54 .esd_auth
-rw-------. 1 root root 1240 Jan 15 18:38 .ICEauthority
drwx------. 3 root root 19 Dec 21 09:54 .local
drwxr-xr-x 9 nginx nginx 186 Dec 30 09:20 nginx-1.20.2
-rw-------. 1 root root 2041 Dec 21 09:44 original-ks.cfg
drwxr-xr-x 2 root root 23 Dec 30 14:53 shell
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
-rw------- 1 root root 5370 Jan 12 18:25 .viminfo
drwxr-xr-x 2 root root 132 Jan 2 18:09 wanghh
-rw------- 1 root root 134 Jan 15 18:39 .Xauthority
通过使用-a选项,可以看到开头为.和..的文件及目录,这些都是隐藏文件。
注意:Linux系统中,隐藏文件不是为了把文件藏起来不让其他用户找到,而是为了告诉用户这些文件都是重要的系统文件,如非必要,不能乱动。所以,不论是Linux还是Windows都可以非常简单地查看隐藏文件,知识在Windows中绝大多数的病毒和木马都会把自己变成隐藏文件,给用户带来错觉,以为隐藏文件是为了不让用户发现。
上例中还通过-l选项显示出了文件的详细信息,此选项显示的这7列的含义分别是:
1:规定了不同的用户对文件所拥有的的权限。
-表示普通文本文件,d表示目录文件,l表示软链接文件,就相当于桌面的图标,b表示块设备文件(硬盘,光驱,分区等),c表示字符设备文件(键盘,鼠标,显示器等),块设备和字符设备的区别是块设备随机处理问题,字符设备按顺序处理问题。
2:引用计数,文件的引用计数代表该文件的硬链接个数,而目录的引用计数代表该目录有多少个一级子目录。
3:所有者,也就是这个文件属于哪个用户。默认所有者是文件的建立用户。
4:所属组,默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。
5:大小,默认单位是字节B。
6:文件修改时间,文件状态修改时间或文件数据修改时间都会更改这个时间,注意这个时间不是文件的创建时间。
7:文件名或目录名。
例2:
[root@localhost ~]# ls -ld wanghh/
drwxr-xr-x 2 root root 132 Jan 2 18:09 wanghh/
如果要查看某个目录的详细信息 直接用-l参数在家目录名就可以,如果想要查看目录本身的详细信息,使用-d选项。