[toc]
# 絕對路徑相對路徑,cd,mkdir,rmdir,rm
## 一 相對路徑和絕對路徑linux
### 絕對路徑:就是從根開始的即爲相對路徑,寫法必定是從根目錄「/」寫起的,示例以下:如/123屬於絕對路徑;~/123 用戶家目錄,屬於絕對路徑;ssh
\[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 屬於相對路徑;code
\[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改變當前路徑==ip
==pwd-查看當前目錄所在的路徑在哪==get
## 2、 cd命令,cd命令是用來變動用戶所在的目錄的。可視化
### cd - 的用法,相對電視遙控器的「返回」按鍵,將返回你上一的路徑date
\[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帳戶,根目錄就是/rootfile
\[root@xavi-001 tmp\]# cd \[root@xavi-001 ~\]# pwd /root // root用戶的根目錄就是root
### cd ~ 同cd也是進入用戶的家目錄network
\[root@xavi-001 ~\]# cd ~ \[root@xavi-001 ~\]# pwd /root
### cd . 當期目錄
### cd .. 返回上一級目錄,其最上端就是 "/"
\[root@xavi-001 ~\]# cd .. \[root@xavi-001 /\]# pwd /

## 三 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 後面不能加「/」,不然他會把你的系統文件所有刪除,很是危險!!