Linux下檔案鏈結函式

2021-09-27 07:24:43 字數 1479 閱讀 7851

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 是...