1.pwd命令
由于 Linux 文件系统中有许多目录,当用户执行一条 Linux 命令又没有指定该命令或参数所在的目录时,Linux 系统就会首先在当前目录(目前的工作目录)搜寻这个命令或它的参数。因此,用户在执行命令之前,常常需要确定目前所在的工作目录,即当前目录。
pwd命令作用:显示当前路径。
pwd 命令,是 Print Working Directory (打印工作目录)的缩写,功能是显示用户当前所处的工作目录。该命令的基本格式为:
[root@localhost ~]# pwd
2.ls命令
ls 命令,list 的缩写,是最常见的目录操作命令,其主要功能是显示当前目录下的内容。此命令的基本格式为:
[root@localhost ~]# ls [选项] 目录名称
ls 命令常用选项及功能如下表所示。
选项 | 功能 |
---|---|
-a | 显示全部的文件,包括隐藏文件(开头为 . 的文件)也一起罗列出来,这是最常用的选项之一。 |
-A | 显示全部的文件,连同隐藏文件,但不包括 . 与 .. 这两个目录。 |
-d | 仅列出目录本身,而不是列出目录内的文件数据。 |
-f | ls 默认会以文件名排序,使用 -f 选项会直接列出结果,而不进行排序。 |
-F | 在文件或目录名后加上文件类型的指示符号,例如,* 代表可运行文件,/ 代表目录,= 代表 socket 文件,| 代表 FIFO 文件。 |
-h | 以人们易读的方式显示文件或目录大小,如 1KB、234MB、2GB 等。 |
-i | 显示 inode 节点信息。 |
-l | 使用长格式列出文件和目录信息。 |
-n | 以 UID 和 GID 分别代替文件用户名和群组名显示出来。 |
-r | 将排序结果反向输出,比如,若原本文件名由小到大,反向则为由大到小。 |
-R | 连同子目录内容一起列出来,等於将该目录下的所有文件都显示出来。 |
-S | 以文件容量大小排序,而不是以文件名排序。 |
-t | 以时间排序,而不是以文件名排序。 |
--color=never --color=always --color=auto |
never 表示不依据文件特性给予颜色显示。 always 表示显示颜色,ls 默认采用这种方式。 auto 表示让系统自行依据配置来判断是否给予颜色。 |
--full-time | 以完整时间模式 (包含年、月、日、时、分)输出 |
--time={atime,ctime} | 输出 access 时间或改变权限属性时间(ctime),而不是内容变更时间。 |
案例1:
[lucky@localhost ~]$ ls -al total 160 drwx------. 28 lucky lucky 4096 Nov 11 18:36 . drwxr-xr-x. 3 root root 4096 Nov 4 21:55 .. -rw-------. 1 lucky lucky 196 Nov 12 10:46 .bash_history -rw-r--r--. 1 lucky lucky 18 Jul 18 2013 .bash_logout -rw-r--r--. 1 lucky lucky 176 Jul 18 2013 .bash_profile -rw-r--r--. 1 lucky lucky 124 Jul 18 2013 .bashrc drwxr-xr-x. 2 lucky lucky 4096 Nov 4 21:56 .cache drwxr-xr-x. 4 lucky lucky 4096 Nov 4 21:56 .config drwx------. 3 lucky lucky 4096 Nov 4 21:56 .dbus drwxr-xr-x. 2 lucky lucky 4096 Nov 4 21:56 Desktop -rw-r--r--. 1 lucky lucky 32 Nov 11 18:36 .dmrc
通过使用 -a,你会看到以 . 为开头的几个文件,以及目录文件 (.)、(..)、.gconf 等等,这些都是隐藏的目录和文件。其中,目录文件名以蓝色显示,一般文件以白色显示。
不仅如此,这里的 ls 命令还使用了 -l 选项,因此才显示出了文件的详细信息,此选项显示的这 7 列的含义分别是:
- 第一列:规定了不同的用户对文件所拥有的权限,具体权限的含义将在后续章节中讲解。
- 第二列:引用计数,文件的引用计数代表该文件的硬链接个数,而目录的引用计数代表该目录有多少个一级子目录。
- 第三列:所有者,也就是这个文件属于哪个用户。默认所有者是文件的建立用户。
- 第四列:所属组,默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。
- 第五列:大小,默认单位是字节。
- 第六列:文件修改时间,文件状态修改时间或文件数据修改时间都会更改这个时间,注意这个时间不是文件的创建时间。
- 第七列:文件名或目录名。
案例2:查看某个目录的详细信息
[lucky@localhost ~]$ ls -l /home/lucky/test1/ total 0 -rw-rw-r--. 1 lucky lucky 0 Nov 18 19:29 helloworld [lucky@localhost ~]$
这个命令会显示目录下的内容,而不会显示这个目录本身的详细信息。如果想显示目录本身的信息,就必须加入 "-d" 选项。
[lucky@localhost ~]$ ls -ld /home/lucky/test1/
drwxrwxr-x. 2 lucky lucky 4096 Nov 18 19:29 /home/lucky/test1/
案例3:
"ls-l" 显示的文件大小是字节,但是我们更加习惯的是千字节用 KB 显示,兆字节用 MB 显示,而 "-h" 选项就是按照人们习惯的单位显示文件大小的,例如:
3.mkdir 命令
mkdir 命令,是 make directories 的缩写,用于创建新目录,此命令所有用户都可以使用。
mkdir 命令的基本格式为:
[root@localhost ~]# mkdir [-mp] 目录名
- -m 选项用于手动配置所创建目录的权限,而不再使用默认权限。
- -p 选项递归创建所有目录,以创建 /home/test/demo 为例,在默认情况下,你需要一层一层的创建各个目录,而使用 -p 选项,则系统会自动帮你创建 /home、/home/test 以及 /home/test/demo。
案例1:
[lucky@localhost ~]$ mkdir lucky1122 [lucky@localhost ~]$ ls Desktop Documents Downloads lucky1122 Music Pictures Public Templates test1 Videos [lucky@localhost ~]$
案例2:使用 -p 选项递归建立目录。
[lucky@localhost ~]$ mkdir -p lucky95/test01/hello [lucky@localhost ~]$ cd /home/lucky/lucky95/test01/hello [lucky@localhost hello]$
案例3:使用 -m 选项自定义目录权限。
[lucky@localhost hello]$ mkdir -m 711 test2 [lucky@localhost hello]$ ls -l total 4 drwx--x--x. 2 lucky lucky 4096 Nov 22 18:17 test2 [lucky@localhost hello]$
仔细看上面的权限部分,也就是 ls 命令输出的第一列数据(绿色部分),而在创建 test2 时,使用了 -m 选项,通过设定 711 权限值来给予新的目录 drwx--x--x 的权限。
4. rmdir命令
和 mkdir 命令(创建空目录)恰好相反,rmdir(remove empty directories 的缩写)命令用于删除空目录,此命令的基本格式为:
[root@localhost ~]# rmdir [-p] 目录名
-p 选项用于递归删除空目录。
[lucky@localhost ~]$ mkdir linda [lucky@localhost ~]$ ls Desktop Documents Downloads linda lucky1122 lucky95 Music Pictures Public Templates test1 Videos [lucky@localhost ~]$ rmdir linda [lucky@localhost ~]$ ls Desktop Documents Downloads lucky1122 lucky95 Music Pictures Public Templates test1 Videos [lucky@localhost ~]$
rmdir 命令的作用十分有限,因为只能删除空目录,所以一旦目录中有内容,就会报错。
这个命令比较"笨",所以并不常用。后续我们会学习 rm 命令,使用此命令不但可以删除目录,还可以删除文件。