文件夹
pwd 命令
由于 Linux 文件系统中有许多目录,当用户执行一条 Linux 命令又没有指定该命令或参数所在的目录时,Linux 系统就会首先在当前目录(目前的工作目录)搜寻这个命令或它的参数。因此,用户在执行命令之前,常常需要确定目前所在的工作目录,即当前目录。
当用户登陆 Linux 系统之后,其当前目录就是它的主目录。那么,如何确定当前目录呢? 可以使用 Linux 系统的 pwd 命令来显示当前目录的绝对路径。
pwd 命令,是 Print Working Directory (打印工作目录)的缩写,功能是显示用户当前所处的工作目录。该命令的基本格式为:
[root@localhost ~]# pwd
cd 命令
cd 命令,是 Change Directory 的缩写,用来切换工作目录。
Linux 命令按照来源方式,可分为两种,分别是 Shell 内置命令和外部命令。所谓 Shell 内置命令,就是 Shell 自带的命令,这些命令是没有执行文件的;而外部命令就是由程序员单独开发的,所以会有命令的执行文件。Linux 中的绝大多数命令是外部命令,而 cd 命令是一个典型的 Shell 内置命令,所以 cd 命令没有执行文件所在路径。
cd 命令的基本格式如下:
[root@localhost ~]# cd [相对路径或绝对路径]
除此之外,cd 命令后面可以跟一些特殊符号,表达固定的含义。
特殊符号 | 作 用 |
---|---|
~ | 代表当前登录用户的主目录 |
~<用户名> | 表示切换至指定用户的主目录 |
- | 代表上次所在目录 |
. | 代表当前目录 |
.. | 代表上级目录 |
提示
在 Linux 系统中,根目录确实存在 .
(当前目录)以及 ..
(当前目录的父目录)两个目录,但由于根目录是最顶级目录,因此根目录的 ..
和 .
的属性和权限完全一致,也就是说,根目录的父目录是自身。
ls 命令
ls 命令,list 的缩写,是最常见的目录操作命令,其主要功能是显示当前目录下的内容。此命令的基本格式为:
[root@localhost ~]# 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),而不是内容变更时间。 |
提示
当 ls 命令不使用任何选项时,默认只会显示非隐藏文件的名称,并以文件名进行排序,同时会根据文件的具体类型给文件名配色(蓝色显示目录,白色显示一般文件)。
提示
ls 命令使用了 -l
选项,显示出文件的详细信息,此选项显示的这 7 列的含义分别是:
- 第一列: 规定了不同的用户对文件所拥有的权限,具体权限的含义将在后续章节中讲解。
- 第二列: 引用计数,文件的引用计数代表该文件的硬链接个数,而目录的引用计数代表该目录有多少个一级子目录。
- 第三列: 所有者,也就是这个文件属于哪个用户。默认所有者是文件的建立用户。
- 第四列: 所属组,默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。
- 第五列: 大小,默认单位是字节。
- 第六列: 文件修改时间,文件状态修改时间或文件数据修改时间都会更改这个时间,注意这个时间不是文件的创建时间。
- 第七列: 文件名或目录名。
mkdir 命令
mkdir 命令,是 make directories 的缩写,用于创建新目录,此命令所有用户都可以使用。
mkdir 命令的基本格式为:
[root@localhost ~]# mkdir [-mp] 目录名
- -m 选项用于手动配置所创建目录的权限,而不再使用默认权限。
- -p 选项递归创建所有目录,以创建
/home/test/demo
为例,在默认情况下,您需要一层一层的创建各个目录,而使用-p
选项,则系统会自动帮您创建/home
、/home/test
以及/home/test/demo
。
rmdir 命令
和 mkdir 命令(创建空目录)恰好相反,rmdir(remove empty directories 的缩写)命令用于删除空目录,此命令的基本格式为:
[root@localhost ~]# rmdir [-p] 目录名
-p 选项用于递归删除空目录。
提示
rmdir 命令的作用十分有限,因为只能刪除空目录,所以一旦目录中有内容,就会报错。