linux系統中將一切存在的內容視為檔案,那麼用於不同場景的檔案便利用檔案屬性來區別,這也是為linux系統多工、多使用者的特點做準備的。
可以利用ll指令可以檢視檔案屬性。
如圖所示,顯示了四個檔案,分別為main.cpp、main.g、main.o和main_r。
如圖所示,檔案具有型別、許可權、檔案連線數、所有者與組使用者、大小、最後更改時間和檔名等屬性。
在linux上將檔案大體分了五類,分別是普通檔案、目錄檔案、鏈結檔案、管道檔案和裝置檔案。
其中,普通檔案以『-』表示,常見的.pdf檔案、.txt檔案、.c檔案、.cpp檔案都是普通檔案。
目錄檔案以『d』表示。鏈結檔案以『l』表示,大概可以理解為windows上的快捷方式。管道檔案以『p』表示。裝置檔案以『c』、『b』或『s』表示。日後學習到該類檔案時再進行解釋。
linux系統是乙個多使用者作業系統,對於使用者的許可權管理很是嚴格,並且給不同的使用者分配了不同的許可權。將不同的使用者集合起來,便產生了群組的概念,具有相同許可權的一類使用者便可劃入相同群組,以方便管理。
乙個檔案對操作它的使用者進行分類,具有三個群組,分別是所有者,組使用者和其它使用者。
如圖所示,在所有者與組使用者那欄,由於只有乙個使用者,所以其所有者與組使用者均為同一名稱。
關於使用者的檔案許可權包括三種:分別是讀(r)、寫(w)和可執行許可權(x)。對於目錄檔案來說,x代表著可進行入許可權。
『-』代表的是相應組使用者沒有該項權利。所以說對於main.cpp檔案,所有者擁有對其的讀寫許可權、同組使用者擁有對其的讀寫許可權、其它使用者擁有對其的讀許可權。
那麼,如何更改其使用者許可權呢?
更改許可權需要用到chmod函式。
可以以字元方式或者數字方式更改其許可權。
字元方式:
語法為 chmod a/u/g/o +/-/= rwx(子集) file_name
其中,『a』代表所有組,『u』代表擁有者,『g』代表同組使用者,『o』代表其它使用者。比如說在當前路徑下輸入
chmod a = r main.cpp
將會把main.cpp檔案對所有人、組使用者和其它使用者的許可權更改為唯讀。
數字方式:
語法結構為 chmod nnn file_name
其中,n的取值範圍為 0-7。用二進位制表示n值,其表示的含義為對應位上若為1,則其擁有該許可權,0表示不擁有。
若輸入以下函式,
chmod 664 main.cpp
由於 6轉化為二進位制為 110
4轉化為二進位制為 100
則,擁有者對其擁有 讀寫許可權
同組使用者對其擁有 讀寫許可權
其它使用者對其擁有 唯讀許可權
。。。
linux檔案管理
判斷是否為目錄 bool is dir const char path return false 判斷是否為常規檔案 bool is file const char path 判斷是否是特殊目錄 bool is special dir const char path 生成完整的檔案路徑 void g...
Linux檔案管理
對於計算機來說,所謂的資料就是0和1的序列。這樣的乙個序列可以儲存在記憶體中,但記憶體中的資料會隨著關機而消失。為了將資料長久儲存,我們把資料儲存在光碟或者硬碟中。根據我們的需要,我們通常會將資料分開儲存到檔案這樣乙個個的小單位中 所謂的小,是相對於所有的資料而言 但如果資料只能組織為檔案的話,而不...
Linux檔案管理
對於計算機來說,所謂的資料就是0和1的序列。這樣的乙個序列可以儲存在記憶體中,但記憶體中的資料會隨著關機而消失。為了將資料長久儲存,我們把資料儲存在光碟或者硬碟中。根據我們的需要,我們通常會將資料分開儲存到檔案這樣乙個個的小單位中 所謂的小,是相對於所有的資料而言 但如果資料只能組織為檔案的話,而不...