5 檔案許可權操作

2022-09-09 10:00:18 字數 1452 閱讀 4748

1 #include 2

int stat(const

char *path, struct stat *buf);

函式功能:獲得指定pat**件的所有資訊儲存於buf結構中

返回值:操作成功返回0,失敗返回-1

stat結構體:

struct

stat

;

與stat類似功能的函式fstat:

#include int fstat(int fd, struct stat *buf);
與stat的區別在於輸入的引數是乙個檔案描述符。

1)普通檔案

最常見的檔案型別,包含一些資料。

2)目錄檔案

這種檔案包含了其他檔案的名字以及指向這些檔案有關資訊的指標。

3)塊特殊檔案

這種型別的檔案提供對裝置(如磁碟)的帶緩衝訪問,每次訪問以固定長度的單位進行。

4)字元特殊檔案

這種型別的檔案提供對裝置不帶緩衝的訪問,每次訪問長度可變。系統中的裝置要麼是塊特殊檔案,要麼是字元特殊檔案。

5)fifo

命名管道,常用於程序間通訊。

6)套接字

用於程序間的網路通訊。

7)符號鏈結

這種型別的檔案指向另乙個檔案。

1

s_islnk (st_mode)   // 判斷是否為符號連線

2s_isreg (st_mode)   // 是否為一般檔案

3s_isdir (st_mode)   // 是否為目錄

4s_ischr (st_mode)   // 是否為字元裝置檔案

//...其他不常用的略

access函式:

1 #include2

int access(const

char* pathname, int mode);

函式功能:判斷pathname路徑的檔案是否有指定許可權,成功則返回0,否則返回-1。mode的取值為:

1

f_ok 值為0,判斷檔案是否存在

2x_ok 值為1,判斷對檔案是可執行許可權

3w_ok 值為2,判斷對檔案是否有寫許可權

4r_ok 值為4,判斷對檔案是否有讀許可權

5 可以使用或「|」的方式,一起使用,如w_ok|r_ok

view code

函式chmod與fchmod:

#include int chmod( const

char *pathname, mode_t mode );

int fchmod( int

fd, mode_t mode );

兩個函式返回值:若成功則返回0,若出錯則返回-1

chmod函式功能:修改指定檔案的許可權。

fchmod函式功能:修改已開啟的檔案的許可權。

5 檔案許可權設定

注 test1 使用者預設屬於test1 使用者組 建立test檔案 內含test1.txt 和 test2.txt chgrp test1 test1.txt 修改test1.txt 使用者組屬於test1 chgrp r test1 test 遞迴修改test檔案 包含內部檔案 使用者組屬於te...

5 檔案許可權 檔案壓縮打包

命令 解釋ls lh 顯示許可權 chmod ugo rwx dir1 新增所有者 群組 其他人在dir1的讀 寫 執行許可權 chmod go rex dir1 刪除群組 其他人對dir1讀 寫 執行許可權 chown user1 file1 更改file1的所有者為user1 chown r u...

06 檔案許可權的操作

資料夾也是乙個檔案,所以在linux中許可權的表示只有一種形式。資料夾的內容表示目錄的東西,即資料夾裡的檔名稱和資料夾名稱,而檔案的內容就表示檔案的內容。上圖中每行的drwxrwxrwx字眼表示對該檔案或資料夾的許可權資訊 接下來的數字表示大小,一般以位元組為單位 第三個串表示該檔案或者資料夾的所屬...