Linux基礎(day6)

2.6 相對和絕對路徑

  • 每個文件都會有一個從根開始的文件
  • 全部的文件都有一個本身的路徑
  • 從根開始的都是絕對路徑,無論你是在哪一個目錄下,均可以經過路徑找到文件的路徑爲絕對路徑
  • 不是由根開頭,相對於你所在位置的路徑,叫相對路徑,就相對於當前目錄來講的
[root@aminglinux-01 ~]# pwd		查看當前路徑
/root
[root@aminglinux-01 ~]# ls .ssh/authorized_keys	這就是相對路徑,相對於root
.ssh/authorized_keys
[root@aminglinux-01 ~]# cd /etc/sysconfig
[root@aminglinux-01 sysconfig]# ls network-scripts/ifcfg-eno16777736 	這也是一個相對路徑,相對於/etc/sysconfig
network-scripts/ifcfg-eno16777736
[root@aminglinux-01 sysconfig]# pwd
/etc/sysconfig
  1. cd 等於change directory
  2. pwd 查看當前所在的路徑,所在的目錄在哪裏

2.7 cd命令

cd 等於change directorylinux

cd命令
    - 參數,"cd -"進入上一次所在目錄
    只輸入"cd",進入用戶當前home目錄下,也就是登錄系統時用戶的家目錄
    ~ 參數,"cd ~"表示切換到用戶home目錄,等於cd命令
    .. 參數,"cd .."表示切換到上層目錄,逐級返回

cd -

cd -命令,就表示你上一次所在的目錄在哪裏ssh

[root@hf-01 ~]# cd /etc/sysconfig
[root@hf-01 sysconfig]# cd -
/root
[root@hf-01 ~]# cd -
/etc/sysconfig
[root@hf-01 sysconfig]# pwd
/etc/sysconfig
[root@hf-01 sysconfig]# cd -
/root
[root@hf-01 ~]# pwd
/root
[root@hf-01 ~]# cd -
/etc/sysconfig
[root@hf-01 sysconfig]# pwd
/etc/sysconfig

cd和cd ~

cd和cd ~命令,都是返回用戶的家目錄code

[root@hf-01 sysconfig]# cd
[root@hf-01 ~]# cd /tmp/
[root@hf-01 tmp]# cd
[root@hf-01 ~]# pwd
/root
[root@hf-01 ~]# cd ~	這個~則表示/root

cd ..

cd .. 命令,表示返回到上層目錄ip

[root@hf-01 ~]# cd ..		返回的是根目錄,到達根目錄則沒法返回了
[root@hf-01 /]# cd ..		
[root@hf-01 /]# cd /etc/sysconfig/network-scripts/
[root@hf-01 network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@hf-01 network-scripts]# cd ..
[root@hf-01 sysconfig]# pwd
/etc/sysconfig
[root@hf-01 sysconfig]# cd ..		這裏會看見逐級返回上層目錄
[root@hf-01 etc]# pwd
/etc
[root@hf-01 etc]# cd ..
[root@hf-01 /]# pwd
/

當想查看cd的其餘用法,能夠man cd 查看全部cd的用法rem

2.8 建立和刪除目錄mkdir/rmdir

mkdir

  1. mkdir = make directory可視化

  2. mkdir就是建立目錄,不能級聯建立目錄date

  3. date 顯示當前時間file

    mkdir -p 能夠級聯建立目錄
             -v   使命令運行可視化
  • 建立目錄時必定要注意絕對路徑和相對路徑,當前目錄,通常使用的都是相對路徑也就是沒有 / 這個符號的開頭的
[root@hf-01 ~]# mkdir /tmp/aminglinux
[root@hf-01 ~]# ls -ld /tmp/aminglinux/
drwxr-xr-x. 2 root root 6 10月 24 05:58 /tmp/aminglinux/
[root@hf-01 ~]# date		顯示出當前時間
2017年 10月 24日 星期二 05:59:00 CST
[root@hf-01 ~]# mkdir /tmp/aminglinux/1/2/
mkdir: 沒法建立目錄"/tmp/aminglinux/1/2/": 沒有那個文件或目錄
就是說/tmp目錄下存在/aminglinux目錄,而不存在/1和/2目錄
[root@hf-01 ~]# ls -l /tmp/aminglinux/
總用量 0

mkdir -p

mkdir -p 能夠級聯建立目錄搜索

[root@hf-01 ~]# mkdir -p /tmp/aminglinux/1/2/
[root@hf-01 ~]# ls -l /tmp/aminglinux/
總用量 0
drwxr-xr-x. 3 root root 14 10月 24 06:07 1
[root@hf-01 ~]# ls -l /tmp/aminglinux/1
總用量 0
drwxr-xr-x. 2 root root 6 10月 24 06:07 2

mkdir -pv

mkdir -pv 能夠看見建立目錄的可視化過程network

[root@hf-01 ~]# mkdir -pv /tmp/aminglinux/2/3/4
mkdir: 已建立目錄 "/tmp/aminglinux/2"
mkdir: 已建立目錄 "/tmp/aminglinux/2/3"
mkdir: 已建立目錄 "/tmp/aminglinux/2/3/4"

rmdir

  1. rmdir = remove directory
  2. rmdir命令能刪除目錄 ,但只能刪除空的目錄(目錄中有文件沒法刪除)
  3. rmdir -p (parents)能夠級聯的刪除空目錄,容易誤操做刪錯目錄
  4. 特別是刪除指定目錄後,若該目錄的上層目錄已變成空目錄,則將其一併刪除
  • 若發現刪除不了的非空目錄,可使用tree命令查看目錄的級聯狀況
  • 安裝tree這個包yum install -y tree

touch

  • touch命令 建立空白文件
  • 建立目錄時,必定要注意,你所在的目錄是哪裏。
  • 可使用命令查看當前位置 pwd
[root@hf-01 ~]# rmdir /tmp/aminglinux/2
rmdir: 刪除 "/tmp/aminglinux/2" 失敗: 目錄非空
**這就表示rmdir能夠刪除目錄,但前提是這個目錄是空的**
[root@hf-01 ~]# rmdir /tmp/aminglinux/2/3/4	這時4目錄就刪除了
[root@hf-01 ~]# touch /tmp/aminglinux/2/3/1.txt	這時在目錄下建立一個文件
[root@hf-01 ~]# ls /tmp/aminglinux/2/3
1.txt
[root@hf-01 ~]# tree /tmp/aminglinux/	若沒有tree命令,則yum install -y tree
/tmp/aminglinux/
├── 1
│   └── 2
└── 2
    └── 3
        └── 1.txt

4 directories, 1 file
[root@hf-01 ~]# rmdir /tmp/aminglinux/2/3
rmdir: 刪除 "/tmp/aminglinux/2/3" 失敗: 目錄非空
這時發現也是不能刪除,由於目錄下有個文件
[root@hf-01 ~]# rmdir /tmp/aminglinux/2/3/1.txt
rmdir: 刪除 "/tmp/aminglinux/2/3/1.txt" 失敗: 不是目錄
**若非要刪除,則可使用rm命令**

rmdir -p

rmdir -p (parents)能夠級聯的刪除空目錄

[root@hf-01 ~]# rmdir -p /tmp/aminglinux/1/2
rmdir: 刪除目錄 "/tmp/aminglinux" 失敗: 目錄非空
[root@hf-01 ~]# tree /tmp/aminglinux/		這裏會發現/1/2這兩個目錄已經被刪除了
/tmp/aminglinux/
└── 2
    └── 3
        └── 1.txt

2 directories, 1 file

2.9 rm命令

rmdir有必定的侷限性,只能刪除目錄,不能刪除文件

  • rm = remove
rm命令能夠刪除文件,還能夠刪除非空的目錄		(單獨使用rm命令會提示是否進行刪除)
        -f 	(force)強制執行,只能刪除文件,不能刪除目錄
	
        -r  等同於 -recursive 級聯的把這些目錄刪掉  刪除過程,就是有文件,先刪除文件,以後在刪除目錄

        -v 使運行結果可視化

    使用時,最好帶上  v 能可視化結果
rm -rfv 在加入-f選項後,若沒有該文件或目錄,不會產生任何提示

history 命令能夠查看使用過的命令
使用 !後跟命令會去history中執行最近一次執行的這個命令

  • 通配符,表全部 例:rm -rf /tmp/hf/2/3/*.txt 會刪除目錄下全部的txt文件

當使用man命令的時候去查看某一相關字符,去搜索的時候,直接/加搜索的字符,空格後而後回車,要退出的時候,按q退出!

[root@hf-01 ~]# rm /tmp/aminglinux/2/3/1.txt
rm:是否刪除普通空文件 "/tmp/aminglinux/2/3/1.txt"?y		    這裏會提示是否刪除文件
[root@hf-01 ~]# tree /tmp/aminglinux/
/tmp/aminglinux/
└── 2
    └── 3
2 directories, 0 files
[root@hf-01 ~]# touch /tmp/aminglinux/2/3/1.txt
[root@hf-01 ~]# touch /tmp/aminglinux/2/3/2.txt
[root@hf-01 ~]# rm /tmp/aminglinux/2/3/
1.txt  2.txt
按兩次tab鍵,會列出目錄下的文件  
[root@hf-01 ~]# rm /tmp/aminglinux/2/3/*.txt		
或者直接表示成rm /tmp/aminglinux/2/3/*
rm:是否刪除普通空文件 "/tmp/aminglinux/2/3/1.txt"?n
rm:是否刪除普通空文件 "/tmp/aminglinux/2/3/2.txt"?n
[root@hf-01 ~]# rm -f /tmp/aminglinux/2/3/*.txt            
如果嫌每次確認刪除麻煩,則能夠加入-f(force)強制刪除
[root@hf-01 ~]# !tree
tree /tmp/aminglinux/
/tmp/aminglinux/
└── 2
    └── 3
2 directories, 0 files
(!tree表示歷史命令中,上一次最近執行的tree命令)使用tree命令查看,發現目錄下的文件已經被刪除
[root@hf-01 ~]# rm -rf /tmp/aminglinux/2	
這裏不會有提示,會直接刪除文件和目錄
[root@hf-01 ~]# !tree
tree /tmp/aminglinux/
/tmp/aminglinux/
0 directories, 0 files
[root@hf-01 ~]# mkdir -pv /tmp/aminglinux/2/3/	        
這時再來可視化級聯新建目錄
mkdir: 已建立目錄 "/tmp/aminglinux/2"
mkdir: 已建立目錄 "/tmp/aminglinux/2/3/"
[root@hf-01 ~]# touch /tmp/aminglinux/2/3/1.txt	新建文件
[root@hf-01 ~]# touch /tmp/aminglinux/2/2.txt
[root@hf-01 ~]# !tree
tree /tmp/aminglinux/
/tmp/aminglinux/
└── 2
    ├── 2.txt
    └── 3
        └── 1.txt
2 directories, 2 files
[root@hf-01 ~]# rm -rfv /tmp/aminglinux/2/3/		
可視化強制刪除
已刪除"/tmp/aminglinux/2/3/1.txt"		
已刪除目錄:"/tmp/aminglinux/2/3/"
咱們會發現刪除目錄下的文件,而後在刪除目錄
[root@hf-01 ~]# !tree
tree /tmp/aminglinux/
/tmp/aminglinux/
└── 2
    └── 2.txt
1 directory, 1 file
[root@hf-01 ~]# rm -rfv /tmp/aminglinux/2/3/	        若刪除一個不存在的目錄,會發現什麼提示都沒有
這就是由於加入了-f選項,表明着強制刪除,無論它是否存在
[root@hf-01 ~]# rm -rv /tmp/aminglinux/2/3/	    去除-f的時候,會發現提示目錄不存在
rm: 沒法刪除"/tmp/aminglinux/2/3/": 沒有那個文件或目錄
相關文章
相關標籤/搜索