菜鳥學linux之四Linux檔案與目錄管理第一節

2021-07-13 01:16:50 字數 3883 閱讀 6971

一、絕對路徑和相對路徑

絕對路徑:路徑的寫法一定由根目錄 『/』寫起,例如 /usr/local/mysql 這就是絕對路徑。

相對路徑:路徑的寫法不是由根目錄 『/』寫起,例如,首先使用者進入到/, 然後再進入到home ,命令為 cd

/home

然後 cd

test

此時使用者所在的路徑為 /home/test 第乙個cd命令後跟 『/home』 第二個cd命令後跟 『test』, 並沒有斜槓,這個 『test』 是相對於 『/home』 目錄來講的,所以叫做相對路徑。

命令:cd

這個命令是用來變更使用者所在目錄的,後面如果什麼都不跟,就會直接到當前使用者的根目錄下,我們做實驗用的是 『root』 賬戶,所以執行 cd 後,會進入root賬戶的根目錄 『/root』. 後面跟目錄名,則會直接切換到指定目錄下:

[root@localhost ~]# cd /tmp/

[root@localhost tmp]# pwd

/tmp

[root@localhost tmp]# cd

[root@localhost ~]# pwd

/root

pwd 這個命令列印出當前所在目錄,cd 後面只能是目錄名,而不能是檔名,如果跟了檔名會報錯:

[root@localhost ~]# cd /etc/passwd

-bash: cd: /etc/passwd: 不是目錄

./ 表示當前目錄,../ 表示當前目錄的上一級目錄:

[root@localhost ~]# cd /usr/local/lib/

[root@localhost lib]# pwd

/usr/local/lib

[root@localhost lib]# cd ./

[root@localhost lib]# pwd

/usr/local/lib

[root@localhost lib]# cd ../

[root@localhost local]# pwd

/usr/local

上例中,首先進入到 /usr/local/lib/ 目錄下,然後再進入 ./ 其實還是進入到當前目錄下,用 pwd 檢視當前目錄,並沒有發生變化,然後再進入 ../ 則是進入到了 /usr/local/ 目錄下,即 /usr/local/lib 目錄的上一級目錄。

命令:mkdir

用來建立目錄的,這個命令在上一章節中用到過。 『mkdir』 其實就是make directory的縮寫。其語法為 mkdir [-mp] [目錄名稱] ,其中-m, -p為其選項, 『-m』 這個選項用來指定要建立目錄的許可權,不常用,不做重點解釋。 『-p』 這個選項很管用,先來做個試驗,您會一目了然的:

[root@localhost ~]# mkdir /tmp/test/123

mkdir: 無法建立目錄 '/tmp/test/123': 沒有那個檔案或目錄

[root@localhost ~]# mkdir -p /tmp/test/123

[root@localhost ~]# ls /tmp/test

123

當我們想建立 /tmp/test/123 目錄,可是提示不能建立,原因是 /tmp/test 目錄不存在,您會說,這個linux怎麼這樣傻,/tmp/test 目錄不存在就自動建立不就ok了嘛,的確linux確實很傻,如果它發現要建立的目錄的上一級目錄不存在就會報錯。然而linux並不是那麼傻,因為它也為我們想好了解決辦法,即 『-p』 選項,這個選項可以幫我們建立一大串級聯目錄,這個選項還有乙個好處,那就是當您建立乙個已經存在的目錄時,不會報錯:

[root@localhost ~]# ls -ld /tmp/test/123

drwxr-xr-x. 2 root root 4096 5月 9 19:10 /tmp/test/123

[root@localhost ~]# mkdir /tmp/test/123

mkdir: 無法建立目錄 '/tmp/test/123': 檔案已存在

[root@localhost ~]# mkdir -p /tmp/test/123

[root@localhost ~]# ls -ld /tmp/test/123

drwxr-xr-x. 2 root root 4096 5月 9 19:10 /tmp/test/123

在上一章節裡,已經介紹過 ls 命令,但是並沒有向您介紹它的 『-d』 選項,這個選項是針對目錄的,通常都是和 『-l』 同時使用寫成 『-ld』. 它可以檢視指定目錄的屬性,比如在本例中,它可以檢視 『/tmp/test/123』 目錄的建立時間。 mkdir

-p 後面跟乙個已經存在的目錄名時,它不會做任何事情,只是不報錯而已。

命令:rmdir

用來刪除空目錄,後面可以是乙個也可以是多少,多個的話用空格分隔。該命令很少使用,因為它只能刪除目錄,不能刪除檔案,還有乙個命令 rm 既可以刪除目錄又可以刪除檔案,用的比較多。rmdir 有乙個和mkdir一樣的選項 『-p』, 同樣可以級聯刪除一大串目錄,但是級聯的目錄中其中乙個目錄裡還有目錄或者檔案時就不好用了。

[root@localhost ~]# ls /tmp/test

123[root@localhost ~]# rmdir /tmp/test/

rmdir: 刪除 '/tmp/test/' 失敗: 目錄非空

[root@localhost ~]# rmdir /tmp/test/123

[root@localhost ~]# ls /tmp/test

[root@localhost ~]#

所以,得出的結論是, 『rmdir』 只能刪除空目錄,即使加上 『-p』 選項也只能刪除一串的空目錄,可見這個命令有很大的侷限性,偶爾用下還可以。

命令:rm

這個命令是最常用的, 『rm』 同樣也有很多選項。您可以通過 man

rm 來獲得詳細幫助資訊。在這裡只介紹最常用的兩個選項。

『-r』 : 刪除目錄用的選項,等同於rmdir.

[root@localhost ~]# mkdir -p /tmp/test/123

[root@localhost ~]# rm -r /tmp/test/123

rm:是否刪除目錄 '/tmp/test/123'? y

但是和rmdir不同的是,使用 rm

-r 刪除目錄時,會問一下是否刪除,如果輸入 『y』 則會刪除,輸入 『n』 則不刪除。當然 rm

-r 也不會向rmdir不能刪除非空目錄,它是可以刪除非空目錄的。

『-f』 : 表示強制刪除,不再提示是否要刪除,而是直接就刪除了,而後面跟乙個不存在的檔案或者目錄時,也不會報錯,如果不加 『-f』 選項會報錯。

[root@localhost ~]# rm /tmp/test/123/123

rm: 無法刪除 '/tmp/test/123/123': 沒有那個檔案或目錄

[root@localhost ~]# rm -f /tmp/test/123/123

要刪除乙個目錄時,即使加上 『-f』 選項也會報錯,所以刪除目錄一定要加 『-r』 選項。

[root@localhost ~]# rm -f /tmp/test/123

rm: 無法刪除 '/tmp/test/123': 是乙個目錄

[root@localhost ~]# rm -rf /tmp/test/123

關於rm,使用最多便是 『-rf』 兩個選項合用了。不管刪除檔案還是目錄都可以。但是方便的同時也要多注意,萬一您的手太快後邊跟了/那樣就會把您的系統檔案全部刪除的,切記切記。

Linux菜鳥開始學

在linux中,分割槽是這樣表示的 dev hda dev hda1 dev hda2 dev hda5 dev sdb1 以 dev hda5 為例 因為在linux中,每乙個裝置都是用 dev 資料夾下的乙個檔案來表示,所以 dev hda5 中,dev 表示的是根目錄下的dev目錄,我們來看剩...

菜鳥學linux之一初識了解Linux系統

linux預設提供了六個命令視窗終端機讓我們來登入。預設我們登入的就是第乙個視窗,也就是tty1,這個六個視窗分別為tty1,tty2 tty6,您可以按下ctrl alt f1 f6 來切換它們。如果您安裝了圖形介面,預設情況下是進入圖形介面的,此時您就可以按ctrl alt f1 f6來進入其中...

菜鳥學Linux命令 chmod命令和數字檔案許可權

chmod是一條在unix系統中用於控制使用者對檔案的許可權的命令 change mode單詞字首的組合 和函式。只有檔案所有者和超級使用者可以修改檔案或目錄的許可權。可以使用絕對模式,符號模式指定檔案的許可權。命令格式 chmod options mode files mode可以是數字形式或以w...