Skip to content

Latest commit

 

History

History
131 lines (80 loc) · 3.29 KB

04.2.md

File metadata and controls

131 lines (80 loc) · 3.29 KB

目录的相关操作

大家可以想到哪些常用的目录的操作命令呢?例如创建目录,删除目录之类的。还有得先知道的,就是有哪些比较特殊的目录呢?举例来说,下面这些就是比较特殊的目录,要记下来:

.   代表此层目录
..  代表上一层目录
-   代表前一个工作目录
~   代表“目前用户身份”所在的主文件夹
~account 代表account这个用户的主文件夹(account是个账号名称)

需要注意的是,在所有的目录下面都存在两个目录,分别是"."和"..",分别代表此层和上层目录的意思。

根目录下"."和".."代表的是同一个目录

常见的处理目录的命令

  • cd: 切换目录
  • pwd: 显示当前目录
  • mkdir: 新建一个新的目录
  • rmdir: 删除一个空的目录

cd(切换目录)

  • 当我们登录我们的Mac时,打开terminal后,所在的目录为当前用户的主目录。下面我们使用主目录下/tmp这个目录,演示cd的使用方法:

cd [相对路径或者绝对路径]

打开terminal执行下面的几条命令:

cd /tmp
进入根目录下/tmp目录

cd ~
回到主目录

cd -
回到/tmp目录

cd .
目录不变

cd ..
回到上层目录,这里的上层目录不再是当前用户主目录,而是系统的根目录,因为/tmp目录是整个系统的临时目录

cd ~
回到用户根目录

/tmp目录为系统临时目录,系统会定期的自动清空该文件夹。

我们使用的zsh,具有文件补齐的功能,你要经常利用[Tab]键快速完整的输入目录。这是一种好习惯,可以避免你按错键输入错字

  • cd 是Change Directory的缩写,这是用来切换工作目录的命令。注意,目录名称与cd命令之间存在一个空格

pwd(显示目前所在的目录)

在根目录下执行:

cd ~
回到根目录

pwd
显示当前路径

cd /tmp

pwd

通过上面也可以发现/tmp并不在用户的根目录下

mkdir(新建新目录)

在用户根目录下执行

mkdir [-mp] 目录名称

参数:
-m: 配置文件的权限,直接设置不需要看默认权限(unmask)
-p: 帮助你直接将所需要的目录(包括上层目录)递归创建起来(常用)

范例:请到/tmp 下面尝试创建数个新目录看看:

cd /tmp

mkdir test   <==创建一个名为test的新目录

mkdir test1/test2/test3/test4  <== 没有办法直接创建此目录

mkdir -p test1/test2/test3/test4  <== 目录创建成功
  • 建议大家少使用-p这个参数来创建目录,因为担心你打错字,那么目录就变得乱七八糟的了

rmdir(删除"空"目录)

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"了

link