成熟丰满熟妇高潮XXXXX,人妻无码AV中文系列久久兔费 ,国产精品一国产精品,国精品午夜福利视频不卡麻豆

您好,歡迎來到九壹網(wǎng)。
搜索
您的當(dāng)前位置:首頁Linux-文件與目錄管理簡介

Linux-文件與目錄管理簡介

來源:九壹網(wǎng)
?我們知道Linux的目錄結(jié)構(gòu)為樹狀結(jié)構(gòu),最頂級的目錄為根目錄 /。 其他目錄通過掛載可以將它們添加到樹中,通過解除掛載可以移除它們。 在開始本教程前我們需要先知道什么是絕對路徑與相對路徑。 ? 絕對路徑:

路徑的寫法,由根目錄 / 寫起,例如: /usr/share/doc 這個目錄。 ? 相對路徑:

路徑的寫法,不是由 / 寫起,例如由 /usr/share/doc 要到 /usr/share/man 底下時,可以寫成: cd ../man 這就是相對路徑的寫法啦!

處理目錄的常用命令

接下來我們就來看幾個常見的處理目錄的命令吧: ? ls: 列出目錄

? ? ? ? ? ? ?

cd:切換目錄 pwd:顯示目前的目錄 mkdir:創(chuàng)建一個新的目錄 rmdir:刪除一個空的目錄 cp: 復(fù)制文件或目錄 rm: 移除文件或目錄

mv: 移動文件與目錄,或修改文件與目錄的名稱

你可以使用 man [命令] 來查看各個命令的使用文檔,如 :man cp。 ls (列出目錄) 在Linux系統(tǒng)當(dāng)中, ls 命令可能是最常被運行的。 語法: [root ~]# ls [-aAdfFhilnrRSt] 目錄名稱 [root ~]# ls [--color={never,auto,always}] 目錄名稱 [root ~]# ls [--full-time] 目錄名稱 選項與參數(shù):

? -a :全部的文件,連同隱藏文件( 開頭為 . 的文件) 一起列出來(常用)

? ?

-d :僅列出目錄本身,而不是列出目錄內(nèi)的文件數(shù)據(jù)(常用) -l :長數(shù)據(jù)串列出,包含文件的屬性與權(quán)限等等數(shù)據(jù);(常用)

將家目錄下的所有文件列出來(含屬性與隱藏檔) [root ~]# ls -al ~ cd (切換目錄) cd是Change Directory的縮寫,這是用來變換工作目錄的命令。 語法: cd [相對路徑或絕對路徑] #使用 mkdir 命令創(chuàng)建 runoob 目錄 [root ~]# mkdir runoob #使用絕對路徑切換到 runoob 目錄 [root@~]# cd /root/runoob/ #使用相對路徑切換到 runoob 目錄 [root@~]# cd ./runoob/ # 表示回到自己的家目錄,亦即是 /root 這個目錄 [root runoob]# cd ~ # 表示去到目前的上一級目錄,亦即是 /root 的上一級目錄的意思; [root ~]# cd .. 接下來大家多操作幾次應(yīng)該就可以很好的理解 cd 命令的。 pwd (顯示目前所在的目錄) pwd 是 Print Working Directory 的縮寫,也就是顯示目前所在目錄的命令。 [root ~]# pwd [-P] 選項與參數(shù):

? -P :顯示出確實的路徑,而非使用連結(jié) (link) 路徑。 實例:單純顯示出目前的工作目錄: [root ~]# pwd /root <== 顯示出目錄啦~ 實例顯示出實際的工作目錄,而非連結(jié)檔本身的目錄名而已。

[root ~]# cd /var/mail <==注意,/var/mail是一個連結(jié)檔 [root mail]# pwd /var/mail <==列出目前的工作目錄 [root mail]# pwd -P /var/spool/mail <==怎么回事?有沒有加 -P 差很多~ [root mail]# ls -ld /var/mail lrwxrwxrwx 1 root root 10 Sep 4 17: /var/mail -> spool/mail # 看到這里應(yīng)該知道為啥了吧?因為 /var/mail 是連結(jié)檔,連結(jié)到 /var/spool/mail # 所以,加上 pwd -P 的選項后,會不以連結(jié)檔的數(shù)據(jù)顯示,而是顯示正確的完整路徑啊! mkdir (創(chuàng)建新目錄) 如果想要創(chuàng)建新的目錄的話,那么就使用mkdir (make directory)吧。 語法: mkdir [-mp] 目錄名稱 選項與參數(shù):

? -m :配置文件的權(quán)限喔!直接配置,不需要看默認(rèn)權(quán)限 (umask) 的臉色~

?

-p :幫助你直接將所需要的目錄(包含上一級目錄)遞歸創(chuàng)建起來!

實例:請到/tmp底下嘗試創(chuàng)建數(shù)個新目錄看看: [root ~]# cd /tmp [root tmp]# mkdir test <==創(chuàng)建一名為 test 的新目錄 [root tmp]# mkdir test1/test2/test3/test4 mkdir: cannot create directory `test1/test2/test3/test4': No such file or directory <== 沒辦法直接創(chuàng)建此目錄?。?[root tmp]# mkdir -p test1/test2/test3/test4 加了這個 -p 的選項,可以自行幫你創(chuàng)建多層目錄! 實例:創(chuàng)建權(quán)限為 rwx--x--x 的目錄。 [root tmp]# mkdir -m 711 test2 [root tmp]# ls -l drwxr-xr-x 3 root root 4096 Jul 18 12:50 test drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1 drwx--x--x 2 root root 4096 Jul 18 12: test2 上面的權(quán)限部分,如果沒有加上 -m 來強制配置屬性,系統(tǒng)會使用默認(rèn)屬性。

如果我們使用 -m ,如上例我們給予 -m 711 來給予新的目錄 drwx--x--x 的權(quán)限。 rmdir (刪除空的目錄) 語法: rmdir [-p] 目錄名稱 選項與參數(shù):

? -p :連同上一級『空的』目錄也一起刪除 刪除 runoob 目錄 [root@www tmp]# rmdir runoob/ 將 mkdir 實例中創(chuàng)建的目錄(/tmp 底下)刪除掉! [root@www tmp]# ls -l <==看看有多少目錄存在? drwxr-xr-x 3 root root 4096 Jul 18 12:50 test drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1 drwx--x--x 2 root root 4096 Jul 18 12: test2 [root tmp]# rmdir test <==可直接刪除掉,沒問題 [root tmp]# rmdir test1 <==因為尚有內(nèi)容,所以無法刪除! rmdir: `test1': Directory not empty [root tmp]# rmdir -p test1/test2/test3/test4 [root tmp]# ls -l <==您看看,底下的輸出中test與test1不見了! drwx--x--x 2 root root 4096 Jul 18 12: test2 利用 -p 這個選項,立刻就可以將 test1/test2/test3/test4 一次刪除。 不過要注意的是,這個 rmdir 僅能刪除空的目錄,你可以使用 rm 命令來刪除非空目錄。 cp (復(fù)制文件或目錄) cp 即拷貝文件和目錄。 語法: [root ~]# cp [-adfilprsu] 來源檔(source) 目標(biāo)檔(destination) [root ~]# cp [options] source1 source2 source3 .... directory 選項與參數(shù):

? ?

-a:相當(dāng)於 -pdr 的意思,至於 pdr 請參考下列說明;(常用)

-d:若來源檔為連結(jié)檔的屬性(link file),則復(fù)制連結(jié)檔屬性而非文件本身;

?

-f:為強制(force)的意思,若目標(biāo)文件已經(jīng)存在且無法開啟,則移除后再嘗試一次;

?

-i:若目標(biāo)檔(destination)已經(jīng)存在時,在覆蓋時會先詢問動作的進行(常用)

? ? ? ? ?

-l:進行硬式連結(jié)(hard link)的連結(jié)檔創(chuàng)建,而非復(fù)制文件本身; -p:連同文件的屬性一起復(fù)制過去,而非使用默認(rèn)屬性(備份常用); -r:遞歸持續(xù)復(fù)制,用於目錄的復(fù)制行為;(常用)

-s:復(fù)制成為符號連結(jié)檔 (symbolic link),亦即『捷徑』文件; -u:若 destination 比 source 舊才升級 destination !

用 root 身份,將 root 目錄下的 .bashrc 復(fù)制到 /tmp 下,并命名為 bashrc [root ~]# cp ~/.bashrc /tmp/bashrc [root ~]# cp -i ~/.bashrc /tmp/bashrc cp: overwrite `/tmp/bashrc'? n <==n不覆蓋,y為覆蓋 rm (移除文件或目錄) 語法: rm [-fir] 文件或目錄 選項與參數(shù):

? -f :就是 force 的意思,忽略不存在的文件,不會出現(xiàn)警告信息;

? ? ?

-i :互動模式,在刪除前會詢問使用者是否動作

-r :遞歸刪除啊!最常用在目錄的刪除了!這是非常危險的選項?。。?p>將剛剛在 cp 的實例中創(chuàng)建的 bashrc 刪除掉! [root tmp]# rm -i bashrc rm: remove regular file `bashrc'? y 如果加上 -i 的選項就會主動詢問喔,避免你刪除到錯誤的檔名! mv (移動文件與目錄,或修改名稱)

語法: [root ~]# mv [-fiu] source destination [root ~]# mv [options] source1 source2 source3 .... directory 選項與參數(shù):

? -f :force 強制的意思,如果目標(biāo)文件已經(jīng)存在,不會詢問而直接覆蓋;

? ?

-i :若目標(biāo)文件 (destination) 已經(jīng)存在時,就會詢問是否覆蓋! -u :若目標(biāo)文件已經(jīng)存在,且 source 比較新,才會升級 (update)

復(fù)制一文件,創(chuàng)建一目錄,將文件移動到目錄中 [root ~]# cd /tmp [root tmp]# cp ~/.bashrc bashrc [root tmp]# mkdir mvtest [root tmp]# mv bashrc mvtest 將某個文件移動到某個目錄去,就是這樣做! 將剛剛的目錄名稱更名為 mvtest2 [root tmp]# mv mvtest mvtest2

Linux 文件內(nèi)容查看

Linux系統(tǒng)中使用以下命令來查看文件的內(nèi)容: ? cat 由第一行開始顯示文件內(nèi)容

? ? ? ? ? ?

tac 從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫! nl 顯示的時候,順道輸出行號! more 一頁一頁的顯示文件內(nèi)容

less 與 more 類似,但是比 more 更好的是,他可以往前翻頁! head 只看頭幾行 tail 只看尾巴幾行

你可以使用 man [命令]來查看各個命令的使用文檔,如 :man cp。 cat

由第一行開始顯示文件內(nèi)容 語法: cat [-AbEnTv] 選項與參數(shù):

? -A :相當(dāng)於 -vET 的整合選項,可列出一些特殊字符而不是空白而已;

? ? ? ? ?

-b :列出行號,僅針對非空白行做行號顯示,空白行不標(biāo)行號! -E :將結(jié)尾的斷行字節(jié) $ 顯示出來;

-n :列印出行號,連同空白行也會有行號,與 -b 的選項不同; -T :將 [tab] 按鍵以 ^I 顯示出來; -v :列出一些看不出來的特殊字符

檢看 /etc/issue 這個文件的內(nèi)容: [root ~]# cat /etc/issue CentOS release 6.4 (Final) Kernel \\r on an \\m tac tac與cat命令剛好相反,文件內(nèi)容從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫!如: [root ~]# tac /etc/issue Kernel \\r on an \\m CentOS release 6.4 (Final) nl 顯示行號 語法: nl [-bnw] 文件 選項與參數(shù):

?

-b :指定行號指定的方式,主要有兩種:

-b a :表示不論是否為空行,也同樣列出行號(類似 cat -n); -b t :如果有空行,空的那一行不要列出行號(默認(rèn)值);

?

-n :列出行號表示的方法,主要有三種: -n ln :行號在熒幕的最左方顯示;

-n rn :行號在自己欄位的最右方顯示,且不加 0 ; -n rz :行號在自己欄位的最右方顯示,且加 0 ; -w :行號欄位的占用的位數(shù)。

?

實例一:用 nl 列出 /etc/issue 的內(nèi)容 [root ~]# nl /etc/issue 1 CentOS release 6.4 (Final) 2 Kernel \\r on an \\m more 一頁一頁翻動 [roo ~]# more /etc/man_db.config # # Generated automatically from man.conf.in by the # configure script. # # man.conf from man-1.6d ....(中間省略).... --More--(28%) <== 重點在這一行喔!你的光標(biāo)也會在這里等待你的命令 在 more 這個程序的運行過程中,你有幾個按鍵可以按的: ? 空白鍵 (space):代表向下翻一頁;

? ?

Enter :代表向下翻『一行』;

/字串 :代表在這個顯示的內(nèi)容當(dāng)中,向下搜尋『字串』這個關(guān)鍵字;

:f :立刻顯示出檔名以及目前顯示的行數(shù);

q :代表立刻離開 more ,不再顯示該文件內(nèi)容。 b 或 [ctrl]-b :代表往回翻頁,不過這動作只對文件有用,對管線無用。

? ? ?

less 一頁一頁翻動,以下實例輸出/etc/man.config文件的內(nèi)容: [root ~]# less /etc/man.config # # Generated automatically from man.conf.in by the # configure script. # # man.conf from man-1.6d ....(中間省略).... : <== 這里可以等待你輸入命令! less運行時可以輸入的命令有: ? 空白鍵 :向下翻動一頁;

? ? ? ? ? ? ?

[pagedown]:向下翻動一頁; [pageup] :向上翻動一頁;

/字串 :向下搜尋『字串』的功能; ?字串 :向上搜尋『字串』的功能;

n :重復(fù)前一個搜尋 (與 / 或 ? 有關(guān)!) N :反向的重復(fù)前一個搜尋 (與 / 或 ? 有關(guān)!) q :離開 less 這個程序;

head 取出文件前面幾行 語法: head [-n number] 文件 選項與參數(shù):

? -n :后面接數(shù)字,代表顯示幾行的意思 [root ~]# head /etc/man.config 默認(rèn)的情況中,顯示前面 10 行!若要顯示前 20 行,就得要這樣:

[root ~]# head -n 20 /etc/man.config tail 取出文件后面幾行 語法: tail [-n number] 文件 選項與參數(shù):

? -n :后面接數(shù)字,代表顯示幾行的意思

?

-f :表示持續(xù)偵測后面所接的檔名,要等到按下[ctrl]-c才會結(jié)束tail的偵測

[root ~]# tail /etc/man.config # 默認(rèn)的情況中,顯示最后的十行!若要顯示最后的 20 行,就得要這樣: [root ~]# tail -n 20 /etc/man.config 1.Linux 鏈接概念

Linux 鏈接分兩種,一種被稱為硬鏈接(Hard Link),另一種被稱為符號鏈接(Symbolic Link)。默認(rèn)情況下,ln 命令產(chǎn)生硬鏈接。 硬連接

硬連接指通過索引節(jié)點來進行連接。在 Linux 的文件系統(tǒng)中,保存在磁盤分區(qū)中的文件不管是什么類型都給它分配一個編號,稱為索引節(jié)點號(Inode Index)。在 Linux 中,多個文件名指向同一索引節(jié)點是存在的。比如:A 是 B 的硬鏈接(A 和 B 都是文件名),則 A 的目錄項中的 inode 節(jié)點號與 B 的目錄項中的 inode 節(jié)點號相同,即一個 inode 節(jié)點對應(yīng)兩個不同的文件名,兩個文件名指向同一個文件,A 和 B 對文件系統(tǒng)來說是完全平等的。刪除其中任何一個都不會影響另外一個的訪問。

硬連接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬連接到重要文件,以防止“誤刪”的功能。其原因如上所述,因為對應(yīng)該目錄的索引節(jié)點有一個以上的連接。只刪除一個連接并不影響索引節(jié)點本身和其它的連接,只有當(dāng)最后一個連接被刪除后,文件的數(shù)據(jù)塊及目錄的連接才會被

釋放。也就是說,文件真正刪除的條件是與之相關(guān)的所有硬連接文件均被刪除。 軟連接

另外一種連接稱之為符號連接(Symbolic Link),也叫軟連接。軟鏈接文件有類似于 Windows 的快捷方式。它實際上是一個特殊的文件。在符號連接中,文

件實際上是一個文本文件,其中包含的有另一文件的位置信息。比如:A 是 B 的軟鏈接(A 和 B 都是文件名),A 的目錄項中的 inode 節(jié)點號與 B 的目錄項中的 inode 節(jié)點號不相同,A 和 B 指向的是兩個不同的 inode,繼而指向兩塊不同的數(shù)據(jù)塊。但是 A 的數(shù)據(jù)塊中存放的只是 B 的路徑名(可以根據(jù)這個找到 B 的目錄項)。A 和 B 之間是“主從”關(guān)系,如果 B 被刪除了,A 仍然存在(因為兩個是不同的文件),但指向的是一個無效的鏈接。 2.通過實驗加深理解 [oracle]$ touch f1 #創(chuàng)建一個測試文件f1 [oracle]$ ln f1 f2 #創(chuàng)建f1的一個硬連接文件f2 [oracle]$ ln -s f1 f3 #創(chuàng)建f1的一個符號連接文件f3 [oracle]$ ls -li # -i參數(shù)顯示文件的inode節(jié)點信息 total 0 97978 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f1 97978 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f2 97979 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08:11 f3 -> f1 從上面的結(jié)果中可以看出,硬連接文件 f2 與原文件 f1 的 inode 節(jié)點相同,均為 97978,然而符號連接文件的 inode 節(jié)點不同。 [oracle]$ echo \"I am f1 file\" >>f1 [oracle]$ cat f1 I am f1 file [oracle]$ cat f2 I am f1 file [oracle@]$ cat f3 I am f1 file [oracle]$ rm -f f1 [oracle]$ cat f2 I am f1 file [oracle@L]$ cat f3 cat: f3: No such file or directory 通過上面的測試可以看出:當(dāng)刪除原始文件 f1 后,硬連接 f2 不受影響,但是符號連接 f1 文件無效 3.總結(jié)

依此您可以做一些相關(guān)的測試,可以得到以下全部結(jié)論:

? ? ? ?

1).刪除符號連接f3,對f1,f2無影響; 2).刪除硬連接f2,對f1,f3也無影響;

3).刪除原文件f1,對硬連接f2沒有影響,導(dǎo)致符號連接f3失效; 4).同時刪除原文件f1,硬連接f2,整個文件會真正的被刪除。

因篇幅問題不能全部顯示,請點此查看更多更全內(nèi)容

Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號-2

違法及侵權(quán)請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)