教材7.8章讀書筆記
教材7/8章讀書筆記
by 20201321 周慧琳
學習目標
第七章:文件操作
第七章主要是關于操作系統中的各種操作級別:文件存儲準備存儲設備,內核中的文件系統支持函數、系統調用、文件流上的I/O函數、用戶命令和各種操作sh腳本。描述了各種操作,包括從用戶空間的文件流讀/寫到內核空間的系統分區表的示例程序、文件系統的格式化分區以及掛載磁盤分區。
第八章:使用系統調用進行文件操作
- 第八章解釋了系統調用的作用和Linux的在線手冊頁【這部分和婁老師上課重點要求我們掌握的內容是有重疊的】
- 展示了如何使用系統調用進行文件操作,列舉并解釋了文件操作中最常用的系統調用,闡明了硬鏈接和符號鏈接文件,具體解釋了系統調用,基于stat信息,開發了一個類似于ls的程序來顯示目錄內容和文件信息,接著講解了open-close-lseek系統調用和文件描述符;然后展示了如何使用讀寫系統調用來讀寫文件內容;
- 在此基礎上,說明了如何使用系統調用來顯示和復制文件;還演示了如何開發選擇性文件復制程序,其行為類似于一個簡化的Linux dd實用程序。
詳細知識點的歸納



學習收獲和心得
- 這部分和婁老師上課講的內容密切相關,通過看書我能夠建立更加完整的知識框架,尤其是之前對“系統調用”所涉及的概念有所混淆,通過婁老師的上課內容我覺得通過一個C程序文件可以算是系統調用,后來發現常用Linux系統命令這些也是系統調用,而sh腳本也是系統調用,并且書上說比寫C程序更方便,之后需要進一步對sh腳本進行實踐
- stat結構體
struct stat{
dev_t st_dev ; / * device * /
ino_t st_ino; / * inode * /
mode_t st_mode; / * protection */
nlink_t st_nlink ; /* number of hard links * /
uid_t st_uid; / * user ID of owner * /
gid_t st_gid; / *group ID of owner */
dev_t st_rdev; /* device type (if inode device)*/
off_t st_size; /* total size, in bytes * /
u32 st_blksize; / * blocksize for filesystem
I/O */
u32 st_blocks; / *number of blocks allocated*/
time_t st_atime; / * time of last access */
time_t st_mtime; /* time of last modification */
time_t st_ctime; /* time of last change * /
};
通過系統調用實現文件復制

一開始出現錯誤,發現是fopen的路徑寫錯了,還是把txt文件放在和代碼同一文件夾下比較方便操作
posted on 2022-09-25 19:41 20201321周慧琳 閱讀(38) 評論(0) 收藏 舉報
浙公網安備 33010602011771號