3.2 ls命令:显示当前目录下的文件
ls 是最常见的目录操作命令,主要作用是显示目录下的内容。这个命令的基本信息如下:
- 命令名称:ls。
- 英文原意:list。
- 所在路径:/bin/ls。
- 执行权限:所有用户。
- 功能描述:显示目录下的内容。
对命令的基本信息进行说明:英文原意有助于理解和记忆命令;执行权限是命令只能被超级用户执行,还是可以被所有用户执行;功能描述指的是这个命令的基本作用。
本节主要讲解基本命令,基本信息有助于大家记忆,本章所有命令都会加入命令的基本信息。在后续章节中,大家要学会通过帮助命令、搜索命令来自己査询这些信息,所以不再浪费篇幅来写了。
命令格式
[root@localhost ~]#ls [选项][文件名或目录名]
选项:
- -a:显示所有文件;
- –color=when:支持颜色输出,when 的值默认是 always(总显示颜色),也可以是 never(从不显示颜色)和 auto(自动);
- -d:显示目录信息,而不是目录下的文件;
- -h:人性化显示,按照我们习惯的单位显示文件大小;
- -i:显示文件的 i 节点号;
- -l:长格式显示;
学习命令,主要学习的是命令选项,但是每个命令的选项非常多,比如 ls 命令就支持五六十个选项,我们不可能讲解每个选项,也没必要讲解每个选项,本章只能讲解最为常用的选项,即可满足我们曰常操作使用。
常见用法
【例 1】”-a”选项
-a 选项中的 a 是 all 的意思,也就是显示隐藏文件。例如:
[root@localhost ~]# ls
anaconda-ks.cfg install.log install.log.syslog
[root@localhost ~]# Is -a
.anaconda-ks.cfg .bash_logout .bashrc install.log .mysql_history .viminfo …bash_history .bash_profile .cshrc install.log.syslog .tcshrc
可以看到,加入”-a”选项后,显示出来的文件明显变多了。而多出来的这些文件都有一个共同的特性,就是以”.”开头。在 Linux 中以”.”开头的文件是隐藏文件,只有通过”-a”选项才能査看。
说到隐藏文件的査看方式,曾经有读者问我:”为什么在 Linux 中査看隐藏文件这么简单?这样的话隐藏文件还有什么意义?”其实,他理解错了隐藏文件的含义。
隐藏文件不是为了把文件藏起来不让其他用户找到,而是为了告诉用户这些文件都是重要的系统文件,如非必要,不要乱动!所以,不论是 Linux 还是 Windows 都可以非常简单地査看隐藏文件,只是在 Windows 中绝大多数的病毒和木马都会把自己变成隐藏文件,给用户带来了错觉,以为隐藏文件是为了不让用户发现。
【例 2】”-l”选项
[root@localhost ~]# ls -l
总用量44
-rw——-.1 root root 1207 1 月 14 18:18 anaconda-ks.cfg
-rw-r-r–.1 root root 24772 1 月 14 18:17 install.log
-rw-r-r–.1 root root 7690 1 月 14 18:17 install.log.syslog
#权限 引用计数 所有者 所属组 大小 文件修改时间 文件名
我们已经知道”-l”选项用于显示文件的详细信息,那么”-l”选项显示的这 7 列分别是什么含义?
- 第一列:权限,具体权限的含义将在后续章节中讲解。
- 第二列:引用计数,文件的引用计数代表该文件的硬链接个数,而目录的引用计数代表该目录有多少个一级子目录。
- 第三列:所有者,也就是这个文件属于哪个用户。默认所有者是文件的建立用户
- 第四列:所属组,默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。
- 第五列:大小,默认单位是字节。
- 第六列:文件修改时间,文件状态修改时间或文件数据修改时间都会更改这个时间,注意这个时间不是文件的创建时间。
- 第七列:文件名。
【例 3】”-d”选项
如果我们想査看某个目录的详细信息,例如:
[root@localhost ~]# ls -l /root/
总用量44
-rw——-.1 root root 1207 1 月 14 18:18 anaconda-ks.cfg
-rw-r-r–.1 root root 24772 1 月 14 18:17 install.log
-rw-r-r–.1 root root 7690 1 月 14 18:17 install.log.syslog
这个命令会显示目录下的内容,而不会显示这个目录本身的详细信息。如果想显示目录本身的信息,就必须加入”-d”选项。
[root@localhost ~]# ls -ld /root/
dr-xr-x—.2 root root 4096 1 月 20 12:30 /root/
【例 4】”-h”选项
“ls-l”显示的文件大小是字节,但是我们更加习惯的是千字节用 KB 显示,兆字节用 MB 显示,而”-h”选项就是按照人们习惯的单位显示文件大小的,例如:
[root@localhost ~]# ls -lh
总用量44K
-rw——-.1 root root1.2K 1 月 14 18:18 anaconda-ks.cfg
-rw-r-r–.1 root root25K 1 月 14 18:17 install.log
-rw-r-r–.1 root root7.6K 1 月 14 18:17 install.log.syslog
【例 5】”-i”选项
每个文件都有一个被称作 inode(i 节点)的隐藏属性,可以看成系统搜索这个文件的 ID,而”-i”选项就是用来査看文件的 inode 号的,例如:
[root@localhost ~]# ls -i
262418 anaconda-ks.cfg 262147 install.log 262148 install.log.syslog
从理论上来说,每个文件的 inode 号都是不一样的,当然也有例外(如硬链接),这些例外情况我们会在本章的链接小节中进行讲解。