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