檔案描述符和檔案系統
對檔案描述符的理解:
檔案描述符,作業系統通過一個整數代表開啟的檔案,將這個整數稱為~。
檔案流指標用於庫函式操作io檔案
檔案描述符用於系統呼叫介面操作函式
檔案流指標的結構體裡面的一個成員就是檔案描述符
程式如何通過檔案一個數字(檔案描述符)來操作檔案呢?
每個PCB 有個指標file*指向一個檔案結構體,裡面有個陣列指標,而陣列中的每個與元素則是存放開啟檔案的指標file*
檔案描述符就是程式pcb中file_stuct結構體中陣列的下標
file 結構體中除了有一個成員是檔案描述符,結構體中還有使用者態的緩衝區
檔案描述符分配規則:
檔案描述符的分配是有限的,因為它就是下標,所以檔案開啟一定要關閉
分配規則:每次找未使用的最小位
重定向
將(檔案描述符)下標所對應的檔案描述替換成另外一個檔案描述)
例如原本指向 test.txt,用dup2重新指向test.fd
標準輸入輸出重定向:
標準輸入重定向:原本從標準輸入讀取資料重新定向為從其他檔案讀取資料
標準輸出重定向:把原來要輸出的標準內容(輸出到螢幕),重新定向後輸出到指定的檔案當中。
- 標準輸入重定向(很少用)
< - 標準輸出重定向
清空原有內容後新增新內容 <br>
在原來的內容後新增新內容
ls 2>&1 >/dev/null // 2裡面的內容放在1裡面輸出,1裡面的內容放在檔案/dev/null
ls >/dev/null 2>&1 // >前面數字,預設1
對 ls 2>&1 >/dev/null 解釋如下圖:
![這裡寫圖片描述](https://img-blog.csdn.net/20180823152913594?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3J1b19iaW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
檔案系統
檔案系統板塊:
超級塊:存放檔案本身結構資訊
索引塊:檔案在磁碟從放的位置
inode點陣圖:在inode節點區搜尋哪裡有空的inode
date點陣圖:在inode節點區搜尋哪裡有存放資料的空位置
inode節點區:存放檔案的其他一些兒資訊
資料區:檔案的內容
軟連線:
如何產生:ln -s 原檔案 tmp.soft(軟連線檔名)
硬連結:
如何產生 ln 檔名 檔名.hard
對軟連線和硬連結的理解:
軟連線可看做是一個快捷方式,通過軟連線檔案可以找到其他位置的檔案,軟連線檔案中儲存的是所指的另一個檔案的路徑名,通過路徑定位來定位所指檔案。它針對的是一個檔名,硬連結更像是對目錄項(或檔案)的備份
硬連結更像是一個檔案的別名,它有自己的目錄項,但並沒有單獨的inode節點和資料區,硬連結的inode號,與原始檔的相同。那麼我們刪除一個檔案時,實際上是將inode節點的連線數-1,當連結數為0時,檔案就真的刪除了,釋放節點和資料區
兩者區別:
- 軟連線有自己的inode結點,硬連結的inode號,與原始檔的相同
- 軟連線可以對目錄進行操作(比如建立),硬連結不可以
3 刪除原始檔對硬連結檔案沒有影響,只是inode中的連結數-1,對軟連線有影響,軟連線將斷開,就找不到檔案 - 硬連結不能跨分割槽建立但連線可以
有幾個檔名對應著同一個incode,就叫硬連結幾,比如有兩個檔案對應著同一個incode,就叫軟連線2
相關文章
- 檔案和檔案系統
- UNIX根檔案系統和附加檔案系統
- 檔案描述符
- linux系統程式設計之檔案與IO(一):檔案描述符、open,closeLinux程式設計
- 檔案描述符、開啟檔案表以及inode
- Linux檔案系統-目錄和檔案管理Linux
- Linux 檔案描述符和重定向Linux
- Linux檔案描述符Linux
- 檔案包含之包含了Linux檔案描述符Linux
- 檔案系統和檔案 API 安全性缺失指南API
- 檔案系統
- Linux系統篇-檔案系統&虛擬檔案系統Linux
- 檔案系統(五):exFAT 檔案系統原理詳解
- 微信小程式檔案預覽和下載-檔案系統微信小程式
- Linux下檔案描述符Linux
- ASM與檔案系統之間copy資料檔案--檔案系統到ASMASM
- windows系統清理磁碟臨時檔案,及緩衝檔案,及離線檔案和空閒檔案Windows
- asm拷貝檔案到檔案系統ASM
- linux磁碟和檔案系統Linux
- Linux--檔案描述符、檔案指標、索引節點Linux指標索引
- 關於檔案系統在建立目錄檔案和普通檔案時的區別
- Linux系統檔案系統及檔案基礎篇Linux
- 【檔案系統】嵌入式檔案系統Fatfs簡介
- 檔案系統(十):一文看懂 UBI 檔案系統
- 檔案的基本管理和XFS檔案系統備份恢復
- 檔案系統--fstab
- tmpfs檔案系統
- 系統配置檔案
- 檔案系統安全
- FUSE檔案系統
- 智慧小程式檔案館——檔案系統能力
- cifs檔案系統{samba檔案共享服務}Samba
- windows下檔案系統支援的檔案大小Windows
- windows 檔案描述符 _open_osfhandleWindows
- linux中的檔案描述符Linux
- 使用檔案描述符恢復誤刪除的資料檔案
- 【Solaris】Solaris檔案系統管理1 UFS檔案系統的建立
- 【Solaris】Solaris檔案系統管理3 ZFS檔案系統的建立