[toc]
# 绝对路径相对路径,cd,mkdir,rmdir,rm
## 一 相对路径和绝对路径
### 绝对路径:就是从根开始的即为相对路径,写法一定是从根目录“/”写起的,示例如下:如/123属于绝对路径;~/123 用户家目录,属于绝对路径;
\[root@xavi-001 ~\]# ls /etc/sysconfig/network-scripts/ifcfg-ens33
/etc/sysconfig/network-scripts/ifcfg-ens33
\[root@xavi-001 ~\]# ls /root/.ssh/authorized_keys
/root/.ssh/authorized_keys
### 相对路径:不是以根开头的,相对当前目录来讲的路径,./123 属于相对路径;
\[root@xavi-001 ~\]# pwd
/root
\[root@xavi-001 ~\]# ls .ssh/authorized_keys
.ssh/authorized_keys //这里既是相对路径,相对于root
### 下例中,用户所在的路径为“/etc/sysconfig”,第一个命令cd后紧跟/etc,前面是有斜杠的;而第二个命令ls紧跟 network-scripts,前面没有斜杠,这里就是相对路径,network-scripts/ifcfg-ens33相对于/etc/sysconfig 目录来说是相对路径
\[root@xavi-001 ~\]# cd /etc/sysconfig/
\[root@xavi-001 sysconfig\]# ls network-scripts/ifcfg-ens33
network-scripts/ifcfg-ens33
\[root@xavi-001 sysconfig\]# pwd
/etc/sysconfig
==cd-changed directory改变当前路径==
==pwd-查看当前目录所在的路径在哪==
## 二、 cd命令,cd命令是用来变更用户所在的目录的。
### cd - 的用法,相对电视遥控器的“返回”按键,将返回你上一的路径
\[root@xavi-001 ~\]# cd -
/etc/sysconfig
\[root@xavi-001 sysconfig\]# cd -
/root
\[root@xavi-001 ~\]# pwd
/root
\[root@xavi-001 ~\]# cd -
/etc/sysconfig
### cd 任何字符都不加,那就是切换到当前用户的根目录下,我们做实验用的是root账户,根目录就是/root
\[root@xavi-001 tmp\]# cd
\[root@xavi-001 ~\]# pwd
/root // root用户的根目录就是root
### cd ~ 同cd也是进入用户的家目录
\[root@xavi-001 ~\]# cd ~
\[root@xavi-001 ~\]# pwd
/root
### cd . 当期目录
### cd .. 返回上一级目录,其最上端就是 "/"
\[root@xavi-001 ~\]# cd ..
\[root@xavi-001 /\]# pwd
/
![mark](http://p0weeraap.bkt.clouddn.com/xavi2017/180628/8DIEjdB06j.png?imageslim)
## 三 mkdir:make directory
\[root@xavi-001 /\]# mkdir /tmp/xavilinux/
\[root@xavi-001 /\]# ls -ld /tmp/xavilinux/
drwxr-xr-x 2 root root 6 12月 17 11:52 /tmp/xavilinux/
\[root@xavi-001 /\]# date
2017年 12月 17日 星期日 11:53:17 CST
### 如何建立多级目录呢,级联创建mkdir -p (p代表parent父目录)
\[root@xavi-001 /\]# mkdir -p /tmp/xavilinux/1/2/
\[root@xavi-001 /\]# ls -l /tmp/xavilinux/
总用量 0
drwxr-xr-x 3 root root 15 12月 17 12:11 1
\[root@xavi-001 /\]# ls -l /tmp/xavilinux/1
总用量 0
drwxr-xr-x 2 root root 6 12月 17 12:11 2
### mkdir -pv 可视化创建进程
\[root@xavi-001 /\]# mkdir -pv /tmp/xavilinux/1/2/3
mkdir: 已创建目录 "/tmp/xavilinux/1/2/3" //上一级目录里已经创建过文件1了,这里要注意创建名别重复
\[root@xavi-001 /\]# mkdir -pv /tmp/xavilinux/2/3/4
mkdir: 已创建目录 "/tmp/xavilinux/2"
mkdir: 已创建目录 "/tmp/xavilinux/2/3"
mkdir: 已创建目录 "/tmp/xavilinux/2/3/4"
### rmdir删除目录,但只能删除空目录,不能删除文件。
在示例中,2号文件夹下面有文件3,3下有文件4,所以以无法删除,只能先删除4,然后逐级删
\[root@xavi-001 /\]# rmdir /tmp/xavilinux/2
rmdir: 删除 "/tmp/xavilinux/2" 失败: 目录非空
\[root@xavi-001 /\]# rmdir /tmp/xavilinux/2/3/4/
### touch 创建文件,看是否能用rmdir删除,目录非空仍旧无法删除
\[root@xavi-001 /\]# touch /tmp/xavilinux/2/3/1.txt
\[root@xavi-001 /\]# tree /tmp/xavilinux/
/tmp/xavilinux/
├── 1
│ └── 2
│ └── 3
└── 2
└── 3
└── 1.txt
5 directories, 1 file
\[root@xavi-001 /\]# rmdir /tmp/xavilinux/2/3
rmdir: 删除 "/tmp/xavilinux/2/3" 失败: 目录非空
## 四 rm指令 ,rm 指令可以删除文件,也可以删除非空的目录
\[root@xavi-001 /\]# rm /tmp/xavilinux/2/3/1.txt
rm:是否删除普通空文件 "/tmp/xavilinux/2/3/1.txt"?y
\[root@xavi-001 /\]# tree /tmp/xavilinux/
/tmp/xavilinux/
├── 1
│ └── 2
│ └── 3
└── 2
└── 3
5 directories, 0 files
* 是否有有不需要提示yes的呢,有的, rm -f
\[root@xavi-001 /\]# !tree
tree /tmp/xavilinux/
/tmp/xavilinux/
├── 1
│ └── 2
│ └── 3
└── 2
└── 3
├── 1.txt
└── 2.txt
5 directories, 2 files
\[root@xavi-001 /\]# rm -f /tmp/xavilinux/2/3/*.txt
\[root@xavi-001 /\]# tree /tmp/xavilinux/
/tmp/xavilinux/
├── 1
│ └── 2
│ └── 3
└── 2
└── 3
5 directories, 0 files
### history: 查看所有的输入指令记录,!tree,将运行history中最近一次的tree命令
### rm -r,-rf 删除目录及相关联的
\[root@xavi-001 /\]# rm -r /tmp/xavilinux/2/3
rm:是否删除目录 "/tmp/xavilinux/2/3"?y
\[root@xavi-001 /\]# rm -rf /tmp/xavilinux/2
\[root@xavi-001 /\]# tree /tmp/xavilinux/
/tmp/xavilinux/
└── 1
└── 2
└── 3
3 directories, 0 files
\[root@xavi-001 /\]# rm -rf /tmp/xavilinux/
\[root@xavi-001 /\]# !tree
tree /tmp/xavilinux/
/tmp/xavilinux/ \[error opening dir\]
0 directories, 0 files
* 熟悉下rm -rfv的用法,新建两个txt文本,然后删除
\[root@xavi-001 /\]# touch /tmp/xavilinux/2/3/1.txt
\[root@xavi-001 /\]# touch /tmp/xavilinux/2/2.txt
\[root@xavi-001 /\]# !tree
tree /tmp/xavilinux/
/tmp/xavilinux/
└── 2
├── 2.txt
└── 3
└── 1.txt
2 directories, 2 files
\[root@xavi-001 /\]# rm -rfv /tmp/xavilinux/2/3/
已删除"/tmp/xavilinux/2/3/1.txt"
已删除目录:"/tmp/xavilinux/2/3/"
\[root@xavi-001 /\]# !tree
tree /tmp/xavilinux/
/tmp/xavilinux/
└── 2
└── 2.txt
1 directory, 1 file
### 对比以下两段代码的结果,如果加了f,表示force,强制删除,不管文件是否存在,不再提示而直接删除。
\[root@xavi-001 /\]# rm -rfv /tmp/xavilinux/2/3/
\[root@xavi-001 /\]# rm -rv /tmp/xavilinux/2/3
rm: 无法删除"/tmp/xavilinux/2/3": 没有那个文件或目录
### rm -rf 后面不能加“/”,否则他会把你的系统文件全部删除,非常危险!!