您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Linux中怎么設(shè)置文件權(quán)限和目錄,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
第一個(gè)字符代表這個(gè)文件是“目錄、文件或鏈接文件等等”: 當(dāng)為[ d ]則是目錄,例如上表文件名為“.config”的那一行; 當(dāng)為[ - ]則是文件,例如上表文件名為“initial-setup-ks.cfg”那一行; 若是[ l ]則表示為鏈接文件(link file); 若是[ b ]則表示為設(shè)備文件里面的可供儲存的周邊設(shè)備(可隨機(jī)存取設(shè)備); 若是[ c ]則表示為設(shè)備文件里面的序列埠設(shè)備,例如鍵盤、鼠標(biāo)(一次性讀取設(shè)備)。
接下來的字符中,以三個(gè)為一組,且均為“rwx” 的三個(gè)參數(shù)的組合。其中,[ r ]代表可讀(read)、[ w ]代表可寫(write)、[ x ]代表可執(zhí)行(execute)。 要注意的是,這三個(gè)權(quán)限的位置不會改變,如果沒有權(quán)限,就會出現(xiàn)減號[ - ]而已。 第一組為“文件擁有者可具備的權(quán)限”,以“initial-setup-ks.cfg”那個(gè)文件為例, 該文件的擁有者可以讀寫,但不可執(zhí)行; 第二組為“加入此群組之帳號的權(quán)限”; 第三組為“非本人且沒有加入本群組之其他帳號的權(quán)限”。
如何改變文件屬性與權(quán)限
chgrp :改變文件所屬群組 chown :改變文件擁有者 chmod :改變文件的權(quán)限, SUID, SGID, SBIT等等的特性
數(shù)字類型改變文件權(quán)限:
r:4 > w:2 > x:1
舉例:如果要將權(quán)限變成“ -rwxr-xr-- ”呢?那么權(quán)限的分?jǐn)?shù)就成為 [4+2+1][4+0+1] [4+0+0]=754 啰!所以你需要下達(dá)“ chmod 754 filename”。
可執(zhí)行文件權(quán)限:chmod 755 test.sh
符號類型改變文件權(quán)限:
我們就可以借由u, g, o來代表三種身份的權(quán)限!此外, a 則代表 all 亦即全部的身份!那么讀寫的權(quán)限就可以寫成r, w, x 啰!也就是可以使用下面的方式來看:
| chmod | u g o a | +(加入) -(除去) =(設(shè)置) | r w x | 文件或目錄 |
舉例: -rwxr-xr-x : chmod u=rwx,go=rx .bashrc
-rwxr-xr-- : chmod u=rwx,g=rx,o=r filename
如果我不知道原先的文件屬性,而我只想要增加.bashrc這個(gè)文件的每個(gè)人均可寫入的權(quán)限
chmod a+w .bashrc
而如果是要將權(quán)限去掉而不更動(dòng)其他已存在的權(quán)限呢?例如要拿掉全部人的可執(zhí)行權(quán)限
chmod a-x .bashrc
權(quán)限對文件和目錄的作用
元件 | 內(nèi)容 | 疊代物件 | r | w | x |
---|---|---|---|---|---|
文件 | 詳細(xì)數(shù)據(jù)data | 文件數(shù)據(jù)夾 | 讀到文件內(nèi)容 | 修改文件內(nèi)容 | 執(zhí)行文件內(nèi)容 |
目錄 | 文件名 | 可分類抽屜 | 讀到文件名 | 修改文件名 | 進(jìn)入該目錄的權(quán)限 |
注意:要查看文件目錄下的文件,此文件夾需要具有X權(quán)限。
Linux文件種類與擴(kuò)展名
正規(guī)文件(regular file ): 一個(gè)字符為 [ - ],例如 [-rwxrwxrwx ]。依照文件的內(nèi)容,又大略可以分為:
純文本文件(ASCII): 舉例,你可以下達(dá)“ cat~/.bashrc ”就可以看到該文件的內(nèi)容。
二進(jìn)制檔(binary): 舉例,剛剛下達(dá)的指令cat就是一個(gè)binary file。
數(shù)據(jù)格式文件(data): 舉例,我們的Linux在使用者登陸時(shí),都會將登錄的數(shù)據(jù)記錄在 /var/log/wtmp那個(gè)文件內(nèi),該文件是一個(gè)data file,他能夠通過last這個(gè)指令讀出來!
目錄(directory): 就是目錄啰~第一個(gè)屬性為 [ d ],例如 [drwxrwxrwx]。
鏈接文件(link): 就是類似Windows系統(tǒng)下面的捷徑啦! 第一個(gè)屬性為 [ l ](英文L的小寫),例如 [lrwxrwxrwx] ;
設(shè)備與設(shè)備文件(device): 通常都集中在/dev這個(gè)目錄之下!通常又分為兩種:
區(qū)塊(block)設(shè)備文件 :舉例,硬盤與軟盤等就是啦! 第一個(gè)屬性為[ b ]、
字符(character)設(shè)備文件:鍵盤、鼠標(biāo)等!這些設(shè)備的特色就是“一次性讀取”的,第一個(gè)屬性為 [ c ]。
數(shù)據(jù)接口文件(sockets): 這種類型的文件通常被用在網(wǎng)絡(luò)上的數(shù)據(jù)承接了。第一個(gè)屬性為 [ s ] 數(shù)據(jù)輸送檔(FIFO, pipe):他主要的目的在解決多個(gè)程序同時(shí)存取一個(gè)文件所造成的錯(cuò)誤問題。 FIFO是first-in-first-out的縮寫。第一個(gè)屬性為[p] 。
Linux文件擴(kuò)展名:
不像window中文件的擴(kuò)展名具有實(shí)際作用,基本上,Linux的文件是沒有所謂的“擴(kuò)展名”的,擴(kuò)展名只做表示作用,表示該文件是什么種類的。
Linux目錄配置
Linux目錄配置的依據(jù)--FHS(Filesystem Hierarchy Standard)
目錄 | 應(yīng)放置文件內(nèi)容 |
---|---|
第一部份: FHS要求必須要存在的目錄 | |
/bin | 主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的指令。 |
/boot | 這個(gè)目錄主要在放置開機(jī)會使用到的文件。 |
/dev | 任何設(shè)備與周邊設(shè)備都是以文件的型態(tài)存在于這個(gè)目錄當(dāng)中。 |
/etc | 系統(tǒng)主要的配置文件幾乎都放置在這個(gè)目錄內(nèi),例如人員的帳號密碼檔、各種服務(wù)的啟始檔等等。FHS建議不要放置可可執(zhí)行文件(binary)在這個(gè)目錄。 |
/lib | 系統(tǒng)的函數(shù)庫非常的多,而/lib放置的則是在開機(jī)時(shí)會用到的函數(shù)庫, 以及在/bin或/sbin下面的指令會調(diào)用的函數(shù)庫。 |
/media | 這個(gè)/media下面放置的就是可移除的設(shè)備啦! 包括軟盤、光盤、DVD等等 |
/mnt | 如果你想要暫時(shí)掛載某些額外的設(shè)備,一般建議你可以放置到這個(gè)目錄中。 |
/opt | 這個(gè)是給第三方協(xié)力軟件放置的目錄。如果你想要自行安裝額外的軟件那么也能夠?qū)⒛愕能浖惭b到這里來。 不過,以前的Linux系統(tǒng)中,我們還是習(xí)慣放置在/usr/local目錄下呢! |
/run | 系統(tǒng)開機(jī)后所產(chǎn)生的各項(xiàng)信息。 |
/srv | srv可以視為“service”的縮寫,是一些網(wǎng)絡(luò)服務(wù)啟動(dòng)之后,這些服務(wù)所需要取用的數(shù)據(jù)目錄。 |
/tmp | 正在執(zhí)行的程序暫時(shí)放置文件的地方。 |
/usr | 第二層 FHS 設(shè)置,后續(xù)介紹。 |
/var | 第二曾 FHS 設(shè)置,主要為放置變動(dòng)性的數(shù)據(jù),后續(xù)介紹。 |
第二部份:FHS建議可以存在的目錄 | |
/home | 系統(tǒng)默認(rèn)的使用者主文件夾(home directory) |
/lib | 用來存放與 /lib 不同的格式的二進(jìn)制函數(shù)庫,例如支持 64 位的 /lib64 函數(shù)庫等 |
/root | 系統(tǒng)管理員(root)的主文件夾。 |
除了FHS定義的目錄外,下面是幾個(gè)在Linux當(dāng)中也是非常重要的目錄喔:
目錄 | 應(yīng)放置文件內(nèi)容 |
---|---|
/lost+found | 這個(gè)目錄是使用標(biāo)準(zhǔn)的ext2/ext3/ext4文件系統(tǒng)格式才會產(chǎn)生的一個(gè)目錄,目的在于當(dāng)文件系統(tǒng)發(fā)生錯(cuò)誤時(shí), 將一些遺失的片段放置到這個(gè)目錄下。不過如果使用的是 xfs 文件系統(tǒng)的話,就不會存在這個(gè)目錄了! |
/proc | 這個(gè)目錄本身是一個(gè)“虛擬文件系統(tǒng)(virtual filesystem)”。 |
/sys | 這個(gè)目錄其實(shí)跟/proc非常類似,也是一個(gè)虛擬的文件系統(tǒng),主要也是記錄核心與系統(tǒng)硬件信息較相關(guān)的信息。 |
/usr 的意義與內(nèi)容:
很多讀者都會誤會/usr為user的縮寫,其實(shí)usr是Unix Software Resource的縮寫, 也就 是“Unix操作系統(tǒng)軟件資源”所放置的目錄,而不是使用者的數(shù)據(jù)啦!
一般來說,/usr的次目錄建議有下面這些:
目錄 | 應(yīng)放置文件內(nèi)容 |
---|---|
第一部份: FHS 要求必須要存在的目錄 | |
/usr/bin/ | 所有一般用戶能夠使用的指令都放在這里! |
/usr/lib/ | 基本上,與 /lib 功能相同,所以 /lib 就是鏈接到此目錄中的! |
/usr/local/ | 系統(tǒng)管理員在本機(jī)自行安裝自己下載的軟件. |
/usr/sbin/ | 非系統(tǒng)正常運(yùn)行所需要的系統(tǒng)指令。最常見的就是某些網(wǎng)絡(luò)服務(wù)器軟件 |
的服務(wù)指令(daemon). | |
/usr/share/ | 主要放置只讀架構(gòu)的數(shù)據(jù)文件,當(dāng)然也包括共享文件。 |
第二部份: FHS 建議可以存在的目錄 | |
/usr/games/ | 與游戲比較相關(guān)的數(shù)據(jù)放置處 |
/usr/include/ | c/c++等程序語言的文件開始(header)與包含檔(include)放置處 |
/usr/libexec/ | 某些不被一般使用者慣用的可執(zhí)行文件或腳本(script)等等 |
/usr/lib/ | 與 /lib/功能相同,因此目前 /lib 就是鏈接到此目錄中 |
/usr/src/ | 一般源代碼建議放置到這里,src有source的意思。 |
/var 的意義與內(nèi)容:
如果/usr是安裝時(shí)會占用較大硬盤容量的目錄,那么/var就是在系統(tǒng)運(yùn)行后才會漸漸占用硬盤 容量的目錄。例如MySQL數(shù)據(jù)庫的文件等等。常見的次目錄有:
目錄 | 應(yīng)放置文件內(nèi)容 |
---|---|
第一部 份:FHS要求必須要存在的目錄 | |
/var/cache/ | 應(yīng)用程序本身運(yùn)行過程中會產(chǎn)生的一些暫存盤; |
/var/lib/ | 程序本身執(zhí)行的過程中,需要使用到的數(shù)據(jù)文件放置的目錄。 |
/var/lock/ | |
/var/log/ | 這是登錄文件放置的目錄!里面比較重要的文件如/var/log/messages, /var/log/wtmp(記錄登陸者的信息)等。 |
/var/mail/ | 放置個(gè)人電子郵件信箱的目錄 |
/var/run/ | 某些程序或者是服務(wù)啟動(dòng)后,會將他們的PID放置在這個(gè)目錄下喔! |
/var/spool/ | 這個(gè)目錄通常放置一些佇列數(shù)據(jù),所謂的“佇列”就是排隊(duì)等待其他程序使用的數(shù)據(jù)啦! |
目錄樹:
絕對路徑與相對路徑
絕對路徑:由根目錄(/)開始寫起的文件名或目錄名稱, 例如 /home/dmtsai/.bashrc; 相對路徑:相對于目前路徑的文件名寫法。 例如 ./home/dmtsai 或 ../../home/dmtsai/ 等 等。反正開頭不是 / 就屬于相對路徑的寫法
. :代表當(dāng)前的目錄,也可以使用 ./ 來表示; .. :代表上一層目錄,也可以 ../ 來代表。
上述就是小編為大家分享的Linux中怎么設(shè)置文件權(quán)限和目錄了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。