linux系統程式設計筆記03 軟鏈結和硬鏈結

2021-10-25 05:14:59 字數 1341 閱讀 3549

linux下的軟鏈結行為和windows下的快捷方式差不多,但是如果是用相對路徑建立的軟鏈結,在軟鏈結移動之後就會失效,無法訪問。這一點和windows快捷方式不同,windows快捷方式隨便放**都行。

硬鏈結總結

ln -s file file.s 建立乙個軟鏈結

軟鏈結就像windows下的快捷方式

建立軟鏈結最好使用絕對路徑

軟鏈結的許可權指的是這個軟鏈結本身的許可權,不是軟鏈結指向檔案的許可權

ln file file.h 建立乙個硬鏈結

現在我file.h 已經存在,此時硬鏈結已存在的檔案會報錯。

ln file file.s 建立乙個硬鏈結

可以看見file.s 檔案的硬鏈結計數+1,檔案硬鏈結數為2.

在建立乙個硬鏈結,可見檔案硬鏈結數為3

這裡對於file1,有2個硬鏈結file.s和file.hard,無論更改哪個硬鏈結或者檔案本身,這三個檔案的變化同步

可以看到檔案和硬鏈結的inode是相同的,每個檔案都有唯一的inode,直觀理解起來就像c++裡面的引用,對於同乙個檔案,無論有多少引用,在訪問時,都是這個檔案,所以修改就是同步的。

當刪除乙個硬鏈結時,檔案的硬鏈結計數-1,當這個計數減為0時,才會刪除這個檔案。

即使刪除硬鏈結指向的檔案,也只會讓硬鏈結計數-1

linux下的軟鏈結行為和windows下的快捷方式差不多,但是如果是用相對路徑建立的軟鏈結,在軟鏈結移動之後就會失效,無法訪問。這一點和windows快捷方式不同,windows快捷方式隨便放**都行。

linux系統程式設計學習筆記

關閉檔案 linux命令列引數解析 int creat const char filename,mode t mode mode指定新建檔案的訪問許可權 return 檔案描述符fd open const char pathname,o create,mode t mode 第二個引數flags為o...

linux系統程式設計筆記 程序

使用者許可權以及組許可權 system 程序會計 程序時間 守護程序 系統日誌 型別 pid t include include include include intmain else getchar printf pid d end n getpid return0 include includ...

Linux 系統程式設計

1 i o操作 2 檔案和目錄管理 3 記憶體管理 1 建立匿名記憶體對映 2 對映 dev zero檔案 類unix 作業系統中,dev zero是乙個特殊的檔案,當你讀它的時候,它會提供無限的空字元 null,ascii nul,0x00 其中的乙個典型用法是用它提供的字元流來覆蓋資訊,另乙個常...