20155236 《信息安全系統設計基礎》第11周學習總結
阿新 • • 發佈:2017-12-03
學習總結 user 修改 一個數 tps 說明 一級目錄 教學 錯誤
20155236 《信息安全系統設計基礎》第11周學習總結
教材學習內容總結
ls -l
:可以顯示當前目錄下目錄或文件的詳細屬性信息- 1
- 詳細屬性說明:
- 第一位表示類型,
-
代表文件,d
代表目錄; - 二至四位代表文件創建者權限,
-
代表無權限,r
代表具有讀權限,w
代表具有寫權限,x
代表具有執行權限; - 五至七位代表同組用戶權限;
- 八至十位代表其他用戶權限。
- 第一位表示類型,
- 第二列為文件硬鏈接數,或目錄、子目錄數。若為目錄的,該字段至少是2,表示該目錄下至少有兩個子目錄
- 第三列為所有者
- 第四列為所屬用戶組
- 第五列為文件大小
- 第六列為文件最後修改時間
- 第七列為文件名
- 編寫ls三大問題
- 1、如何列出目錄內容
- 2、如何讀取文件屬性
- 3、如何判斷目錄名與文件名
- 目錄文件永遠不會為空,因為每一個目錄會表示當前文件夾,以及他的父文件夾,所以每個目錄至少包含兩個特殊項
.
和..
,其中.表示當前目錄,..表示上一級目錄
echostate.c
- 功能:查看在命令行中輸入命令時是否可見,可見返回1,否則返回0
- echo is on:命令可見
- echo is off:命令不可見
setecho.c
- 功能:設置echo的狀態,用來改變輸入指令是否可見。
- 輸入y(或是以y開頭的一串字符),命令可見
- 否則(即輸入不以y開頭的字符),命令不可見
fileinfo.c
- 功能:查看文件信息
- 其中各變量的含義是:(通過
grep -nr XXX /usr/include
- mode:
st_mode 文件的類型和存取的權限
- links:
st_nlink 連到該文件的硬鏈接數目,剛建立的文件值為1
- user:
st_uid 用戶ID
- group:
st_gid 組ID
- size:
st_size 文件字節數
- modtime:
st_mtime 最後一次修改時間
- mode:
ls1.c
- 功能:顯示指定目錄下的所有文件(默認為當前目錄)
ls2.c
- 顯示指定目錄下的文件詳細信息(默認為當前目錄)
spwd.c
- 功能:顯示當前目錄路徑
testioctl.c
- 查看窗體大小信息
教材學習中遇到的問題
who.c
- 我重點學習了上一屆學長學姐的博客
- 參考博客:Linux下who命令之C語言實現
cp1.c
- 第一遍的輸入是錯誤的,第二遍的輸入正常
- 2
- 通過錯誤提示,我們可以觀察其報錯部分的代碼,調用了
oops()
自定義函數
void oops(char *s1, char *s2)
{
fprintf(stderr, "Error: %s ", s1);
perror(s2);
exit(1);
}
- 經查找相關資料可以得到,
perror(s)
用來將上一個函數發生錯誤的原因輸出到標準設備(stderr)。參數 s 所指的字符串會先打印出,後面再加上錯誤原因字符串。此錯誤原因依照全局變量errno
(這裏的說法不準確,errno是一個宏,該宏返回左值) 的值來決定要輸出的字符串。 - 在庫函數中有個errno變量,每個errno值對應著以字符串表示的錯誤類型。當你調用"某些"函數出錯時,該函數已經重新設置了errno的值。perror函數只是將你輸入的一些信息和現在的errno所對應的錯誤一起輸出。
- 這就是函數自動輸出錯誤信息的原因。
結對學習
1、頁表:是一個數據結構,存放在物理存儲器中,將虛擬頁映射到物理頁,就是一個頁表條目的數組。
頁表就是一個頁表條目PTE的數組。
PTE:由一個有效位和一個n位地址字段組成的,表明了該虛擬頁是否被緩存在DRAM中。 頁表的組成:有效位+n位地址字段
2、如果設置了有效位:
地址字段表示DRAM中相應的物理頁的起始位置,這個物理頁中緩存了該虛擬頁。
如果沒有設置有效位:
空地址:表示該虛擬頁未被分配
不是空地址:這個地址指向該虛擬頁在磁盤上的起始位置。
其他(感悟、思考等,可選)
- 本周主要是對上一周學習的精進,通過實驗和代碼實踐,能幫助我們更好理解本章內容;並使我們通過親身的編譯鏈接執行,慢慢體會Linux的運作,強大的系統調用,可以幫助我們完成更多的事情,有一種通過C語言通過代碼“操控”系統的感覺。但這種體驗是要建立在熟悉使用各種Linux查詢指令的基礎上的,只有學會怎樣搜索有用信息、學會思考分析,才能應對更多的陌生的指令。
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一周 | 200/200 | 1/1 | 20/20 | |
第二周 | 79/279 | 1/2 | 30/50 | |
第三周 | 182/461 | 1/3 | 25/75 | |
第四周 | 36/497 | 1/4 | 3/78 | |
第五周 | 194/691 | 1/5 | 28/106 | |
第六周 | 520/1211 | 2/7 | 27/133 | |
第七周 | 85/1296 | 1/8 | 21/153 | |
第八周 | 0/1296 | 2/10 | 20/173 | |
第九周 | 234/1530 | 1/11 | 30/203 | |
第十周 | 453/1983 | 2/13 | 20/223 | |
第十一周 | 200/2183 | 1/14 | 10/234 |
參考資料
- 《深入理解計算機系統》
- 2016-2017-1 《信息安全系統設計基礎》教學進程
20155236 《信息安全系統設計基礎》第11周學習總結