大家可以想到哪些常用的目录的操作命令呢?例如创建目录,删除目录之类的。还有得先知道的,就是有哪些比较特殊的目录呢?举例来说,下面这些就是比较特殊的目录,要记下来:
. 代表此层目录
.. 代表上一层目录
- 代表前一个工作目录
~ 代表“目前用户身份”所在的主文件夹
~account 代表account这个用户的主文件夹(account是个账号名称)
需要注意的是,在所有的目录下面都存在两个目录,分别是"."和"..",分别代表此层和上层目录的意思。
根目录下"."和".."代表的是同一个目录
- cd: 切换目录
- pwd: 显示当前目录
- mkdir: 新建一个新的目录
- rmdir: 删除一个空的目录
- 当我们登录我们的Mac时,打开terminal后,所在的目录为当前用户的主目录。下面我们使用主目录下/tmp这个目录,演示cd的使用方法:
cd [相对路径或者绝对路径]
打开terminal执行下面的几条命令:
cd /tmp
进入根目录下/tmp目录
cd ~
回到主目录
cd -
回到/tmp目录
cd .
目录不变
cd ..
回到上层目录,这里的上层目录不再是当前用户主目录,而是系统的根目录,因为/tmp目录是整个系统的临时目录
cd ~
回到用户根目录
/tmp目录为系统临时目录,系统会定期的自动清空该文件夹。
我们使用的zsh,具有文件补齐的功能,你要经常利用[Tab]键快速完整的输入目录。这是一种好习惯,可以避免你按错键输入错字
- cd 是Change Directory的缩写,这是用来切换工作目录的命令。注意,目录名称与cd命令之间存在一个空格
在根目录下执行:
cd ~
回到根目录
pwd
显示当前路径
cd /tmp
pwd
通过上面也可以发现/tmp并不在用户的根目录下
在用户根目录下执行
mkdir [-mp] 目录名称
参数:
-m: 配置文件的权限,直接设置不需要看默认权限(unmask)
-p: 帮助你直接将所需要的目录(包括上层目录)递归创建起来(常用)
范例:请到/tmp 下面尝试创建数个新目录看看:
cd /tmp
mkdir test <==创建一个名为test的新目录
mkdir test1/test2/test3/test4 <== 没有办法直接创建此目录
mkdir -p test1/test2/test3/test4 <== 目录创建成功
- 建议大家少使用-p这个参数来创建目录,因为担心你打错字,那么目录就变得乱七八糟的了
rmdir [-p] 目录名称
-p: 连同上层"空的"目录也一起删除
cd /tmp
ls -l <== 看看有多少目录存在
rmdir test <==可直接删除掉,没问题
rmdir test1 <== 因为尚有内容,所以无法删除
rmdir -p test1/test2/test3/test4
ls -l <== 显示结果中,test和test1不见了
# 利用-p 这个参数,立刻就可以将test1/test2/test3/test4 一次删除
# 不过要注意的是,这个rmdir仅能"删除空的目录"
- 如果要删除一个包含内容的目录要怎么办呢? 这个时候就需要使用"rm -r test"了