linux下檔案組成部分:inode結點(儲存檔案的屬性資訊)、目錄項(dentry)
inode內部存放的資訊:檔案大小、檔案許可權、檔案型別、檔案儲存指標位址(指向資料塊的首位址)
建立硬鏈結其實就是建立乙個目錄項,所以刪除檔案硬鏈結時刪除的是目錄項
目錄項包含:檔名、inode編號
一、link函式——為檔案建立乙個硬連線
int link(const char *oldpath, const char *newpath);
二、symlink函式 為檔案建立乙個軟連線
int symlink(const char *oldpath, const char *newpath);
三、readlink函式——讀取乙個軟連線
ssize_t readlink(const char *path, char *buf, size_t bufsiz);
buf:讀出的軟連線內容, bufsiz軟連線大小
軟連線中儲存的是對應原始檔的路徑
int main(int argc, char **ar**)
char buf[512];
int ret = readlink(ar**[1], buf, sizeof(buf));
if(ret == -1)
buf[ret] = 0;
printf("buf = %s\n", buf);
return 0;
}
四、unlink函式——int unlink(const char *pathname); _
作用:1、刪除乙個檔案的目錄項並減少此檔案的鏈結數
2、建立臨時檔案
臨時檔案暫存資料,檔案關閉後自動刪除自己
int main(void)
int ret = unlink("tmpfile"); //刪除臨時檔案,因被open開啟,此時檔案不可以馬上被刪除
write(fd, "hello", 5); //write file
//把臨時檔案的資料讀出到螢幕
lseek(fd, 0, seek_set); //前面對檔案進行過寫操作,所以需改變檔案指標位置
char buf[100] = ;
int len = read(fd, buf, sizeof(buf));
//讀出資料顯示到螢幕 螢幕檔案描述符stdout
write(stdout, buf, len); //stdin 0 stdout 1 stderr 2
close(fd);
return 0;
}
Linux 下檔案操作
include include include include include include include include include define s 100 void treedisplay void treecreat void filecreatopen void fileread ...
Linux下檔案操作
1.linux下檔案操作的途徑 1 通過底層檔案系統來實現,要求熟悉底層檔案系統的結構,並且編寫大量 來完成 2 通過呼叫shell來完成,訪問shell介面,但shell返回的資訊不便於程式的分析 3 通過系統呼叫來實現,能夠完成相應的功能,並且返回足夠的資訊 2.linux下檔案操作的方式 1 ...
Linux下檔案許可權
1.所謂檔案許可權,是指對檔案的訪問許可權,包括對檔案的讀,寫和執行的許可權。而檔案的許可權分為三類,所屬使用者對檔案的許可權,使用者所屬的組對檔案的許可權,以及其它使用者和其它組對檔案的許可權。在linux下,用ls al顯示檔案或目錄的許可權資訊。其中 a是顯示所有的檔案,包括 和 目錄。l 是...