相對和絕對路徑、cd、rm命令

相對路徑和絕對路徑

  • 絕對路徑:是從/(也被稱爲根目錄)開始的,比如/usr、/etc/X11。如果一個路徑是從/開始的,它一定是絕對路徑
[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-ens33
/etc/sysconfig/network-scripts/ifcfg-ens33
  • 相對路徑:相對於當前位置的路徑;不是以根目錄開頭的路徑。例如:
[root@localhost ~]# cd /etc/
[root@localhost etc]# ls sysconfig/network-scripts/ifcfg-ens33
sysconfig/network-scripts/ifcfg-ens33

cd命令

  • cd命令是change directory的縮寫,用來改變用戶所在的目錄
[root@localhost ~]# pwd  //顯示用戶當前工作目錄
/root
[root@localhost ~]# cd /etc
[root@localhost etc]# 
[root@localhost etc]# cd //如果後面什麼都不跟,就會進入當前用戶的家目錄下面
[root@localhost ~]# pwd
/root
[root@localhost ~]# 
  • cd命令後面只能跟目錄名,如果跟文件名會被報錯
[root@localhost ~]# cd /tmp/yum.log
-bash: cd: /tmp/yum.log: 不是目錄
  • cd ..進入當前目錄的上一級目錄
[root@localhost ~]# cd /usr/local
[root@localhost local]# pwd
/usr/local
[root@localhost local]# cd ..
[root@localhost usr]# pwd
/usr
[root@localhost usr]# 
  • cd .進入當前目錄
[root@localhost usr]# pwd
/usr
[root@localhost usr]# cd .
[root@localhost usr]# pwd
/usr
  • cd ~進入用戶家目錄
[root@localhost usr]# pwd
/usr
[root@localhost usr]# cd ~
[root@localhost ~]# pwd
/root
[root@localhost ~]# 
  • cd -進入上一次所在目錄來回交替
[root@localhost ~]# cd /usr/local
[root@localhost local]# cd /usr
[root@localhost usr]# cd -
/usr/local
[root@localhost local]# cd -
/usr
[root@localhost usr]# 

mkdir命令

  • 命令mkdir(make directory簡寫)用於創建目錄,格式如下: mkdir [選項] [目錄名稱]
[root@localhost ~]# mkdir /tmp/test/
[root@localhost ~]# ls /tmp/
systemd-private-160c099d3f55480989e57ecf6e92fea5-chronyd.service-3gWp1V
systemd-private-160c099d3f55480989e57ecf6e92fea5-vgauthd.service-Fz6h5g
systemd-private-160c099d3f55480989e57ecf6e92fea5-vmtoolsd.service-mFFjbG
systemd-private-87dbb12d5085497c854d9e314613fd5a-chronyd.service-yjDBVe
systemd-private-87dbb12d5085497c854d9e314613fd5a-vgauthd.service-VVQS7s
systemd-private-87dbb12d5085497c854d9e314613fd5a-vmtoolsd.service-bF4x7k
systemd-private-fbb3da9b959444bbb010c837c1333e95-chronyd.service-oQ1lMj
systemd-private-fbb3da9b959444bbb010c837c1333e95-vgauthd.service-UdBUxY
systemd-private-fbb3da9b959444bbb010c837c1333e95-vmtoolsd.service-HWnqHG
test  //此處出現了test目錄
[root@localhost ~]# 
  • -p能創建一大串級聯目錄;如果不加-p就會報錯;例如: mkdir –p [目錄名稱]
[root@localhost ~]# mkdir /tmp/test/1/2/3
mkdir: 無法創建目錄"/tmp/test/1/2/3": 沒有那個文件或目錄
[root@localhost ~]# mkdir -p /tmp/test/1/2/3
[root@localhost ~]# tree /tmp
/tmp
├── systemd-private-160c099d3f55480989e57ecf6e92fea5-chronyd.service-3gWp1V
│   └── tmp
├── systemd-private-160c099d3f55480989e57ecf6e92fea5-vgauthd.service-Fz6h5g
│   └── tmp
├── systemd-private-160c099d3f55480989e57ecf6e92fea5-vmtoolsd.service-mFFjbG
│   └── tmp
│       └── vmware-root
├── systemd-private-87dbb12d5085497c854d9e314613fd5a-chronyd.service-yjDBVe
│   └── tmp
├── systemd-private-87dbb12d5085497c854d9e314613fd5a-vgauthd.service-VVQS7s
│   └── tmp
├── systemd-private-87dbb12d5085497c854d9e314613fd5a-vmtoolsd.service-bF4x7k
│   └── tmp
│       └── vmware-root
├── systemd-private-fbb3da9b959444bbb010c837c1333e95-chronyd.service-oQ1lMj
│   └── tmp
├── systemd-private-fbb3da9b959444bbb010c837c1333e95-vgauthd.service-UdBUxY
│   └── tmp
├── systemd-private-fbb3da9b959444bbb010c837c1333e95-vmtoolsd.service-HWnqHG
│   └── tmp
│       └── vmware-root
└── test
    └── 1
        └── 2
            └── 3

25 directories, 0 files
[root@localhost ~]# 
  • 如果創建一個已經存在的目錄會報錯,加上-p後就不會報錯
[root@localhost ~]# mkdir /tmp/test
mkdir: 無法創建目錄"/tmp/test": 文件已存在
[root@localhost ~]# mkdir -p /tmp/test
[root@localhost ~]# 

rmdir命令

  • 命令rmdir(remove directory簡寫)用於刪除空目錄,後面可以是一個目錄,也可以是多個目錄
[root@localhost ~]# mkdir /tmp/111
[root@localhost ~]# mkdir /tmp/222
[root@localhost ~]# ls /tmp
111
222
systemd-private-160c099d3f55480989e57ecf6e92fea5-chronyd.service-3gWp1V
systemd-private-160c099d3f55480989e57ecf6e92fea5-vgauthd.service-Fz6h5g
systemd-private-160c099d3f55480989e57ecf6e92fea5-vmtoolsd.service-mFFjbG
systemd-private-87dbb12d5085497c854d9e314613fd5a-chronyd.service-yjDBVe
systemd-private-87dbb12d5085497c854d9e314613fd5a-vgauthd.service-VVQS7s
systemd-private-87dbb12d5085497c854d9e314613fd5a-vmtoolsd.service-bF4x7k
systemd-private-fbb3da9b959444bbb010c837c1333e95-chronyd.service-oQ1lMj
systemd-private-fbb3da9b959444bbb010c837c1333e95-vgauthd.service-UdBUxY
systemd-private-fbb3da9b959444bbb010c837c1333e95-vmtoolsd.service-HWnqHG
test
[root@localhost ~]# rmdir /tmp/111 /tmp/222/
[root@localhost ~]# ls /tmp
systemd-private-160c099d3f55480989e57ecf6e92fea5-chronyd.service-3gWp1V
systemd-private-160c099d3f55480989e57ecf6e92fea5-vgauthd.service-Fz6h5g
systemd-private-160c099d3f55480989e57ecf6e92fea5-vmtoolsd.service-mFFjbG
systemd-private-87dbb12d5085497c854d9e314613fd5a-chronyd.service-yjDBVe
systemd-private-87dbb12d5085497c854d9e314613fd5a-vgauthd.service-VVQS7s
systemd-private-87dbb12d5085497c854d9e314613fd5a-vmtoolsd.service-bF4x7k
systemd-private-fbb3da9b959444bbb010c837c1333e95-chronyd.service-oQ1lMj
systemd-private-fbb3da9b959444bbb010c837c1333e95-vgauthd.service-UdBUxY
systemd-private-fbb3da9b959444bbb010c837c1333e95-vmtoolsd.service-HWnqHG
test
[root@localhost ~]# 
  • rmdir只能刪除目錄,不能刪除文件
  • rmdir和mkdir有共同選項-p,能刪除一大竄目錄,但是在聯級的目錄中,如果某一個目錄裏面還有目錄或者文件,這個命令就不好用,會報錯
  • rmdir使用起來有一定的侷限性,所以用的很少,可以使用rm來刪除目錄或者文件。

rm命令

  • rm [文件名] 刪除文件
[root@localhost ~]# cd /tmp/test
[root@localhost test]# touch test.txt
[root@localhost test]# ls
1  test.txt
[root@localhost test]# rm test.txt
rm:是否刪除普通空文件 "test.txt"?y
[root@localhost test]# ls
1
[root@localhost test]# 
  • -r 用來刪除目錄
[root@localhost tmp]# ls
1
systemd-private-160c099d3f55480989e57ecf6e92fea5-chronyd.service-3gWp1V
systemd-private-160c099d3f55480989e57ecf6e92fea5-vgauthd.service-Fz6h5g
systemd-private-160c099d3f55480989e57ecf6e92fea5-vmtoolsd.service-mFFjbG
systemd-private-87dbb12d5085497c854d9e314613fd5a-chronyd.service-yjDBVe
systemd-private-87dbb12d5085497c854d9e314613fd5a-vgauthd.service-VVQS7s
systemd-private-87dbb12d5085497c854d9e314613fd5a-vmtoolsd.service-bF4x7k
systemd-private-fbb3da9b959444bbb010c837c1333e95-chronyd.service-oQ1lMj
systemd-private-fbb3da9b959444bbb010c837c1333e95-vgauthd.service-UdBUxY
systemd-private-fbb3da9b959444bbb010c837c1333e95-vmtoolsd.service-HWnqHG
test
[root@localhost tmp]# rm -r 1
rm:是否刪除目錄 "1"?y
[root@localhost tmp]# ls
systemd-private-160c099d3f55480989e57ecf6e92fea5-chronyd.service-3gWp1V
systemd-private-160c099d3f55480989e57ecf6e92fea5-vgauthd.service-Fz6h5g
systemd-private-160c099d3f55480989e57ecf6e92fea5-vmtoolsd.service-mFFjbG
systemd-private-87dbb12d5085497c854d9e314613fd5a-chronyd.service-yjDBVe
systemd-private-87dbb12d5085497c854d9e314613fd5a-vgauthd.service-VVQS7s
systemd-private-87dbb12d5085497c854d9e314613fd5a-vmtoolsd.service-bF4x7k
systemd-private-fbb3da9b959444bbb010c837c1333e95-chronyd.service-oQ1lMj
systemd-private-fbb3da9b959444bbb010c837c1333e95-vgauthd.service-UdBUxY
systemd-private-fbb3da9b959444bbb010c837c1333e95-vmtoolsd.service-HWnqHG
test
[root@localhost tmp]# 
  • -f (forces)強制刪除,它不會在提示是否刪除,而是直接刪除。如果後面跟一個不存在的文件或者目錄,它也不會報錯
  • 如果要刪除目錄,必須要加上-r,不然就算加上-f選項也會報錯
  • -v 可視化,可以看見刪除的步驟
[root@localhost tmp]# mkdir -p test/1/2/3/1.txt
[root@localhost tmp]# tree
.
├── systemd-private-160c099d3f55480989e57ecf6e92fea5-chronyd.service-3gWp1V
│   └── tmp
├── systemd-private-160c099d3f55480989e57ecf6e92fea5-vgauthd.service-Fz6h5g
│   └── tmp
├── systemd-private-160c099d3f55480989e57ecf6e92fea5-vmtoolsd.service-mFFjbG
│   └── tmp
│       └── vmware-root
├── systemd-private-87dbb12d5085497c854d9e314613fd5a-chronyd.service-yjDBVe
│   └── tmp
├── systemd-private-87dbb12d5085497c854d9e314613fd5a-vgauthd.service-VVQS7s
│   └── tmp
├── systemd-private-87dbb12d5085497c854d9e314613fd5a-vmtoolsd.service-bF4x7k
│   └── tmp
│       └── vmware-root
├── systemd-private-fbb3da9b959444bbb010c837c1333e95-chronyd.service-oQ1lMj
│   └── tmp
├── systemd-private-fbb3da9b959444bbb010c837c1333e95-vgauthd.service-UdBUxY
│   └── tmp
├── systemd-private-fbb3da9b959444bbb010c837c1333e95-vmtoolsd.service-HWnqHG
│   └── tmp
│       └── vmware-root
└── test
    └── 1
        └── 2
            └── 3
                └── 1.txt

26 directories, 0 files
[root@localhost tmp]# rm -rvf test
已刪除目錄:"test/1/2/3/1.txt"
已刪除目錄:"test/1/2/3"
已刪除目錄:"test/1/2"
已刪除目錄:"test/1"
已刪除目錄:"test"
[root@localhost tmp]# 
  • ==注意:rm -rf雖然好用,但是要千萬注意,rm –rf 命令後面千萬不要加“/”,否則它會把系統文件全部刪除,是非常危險滴!==
發佈了29 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章