系統編程知識點

 

#api

行緩存會輸出的時機: 行緩存滿,程序結束,遇到fflush刷新,遇到換行符。 
磁盤一般是全緩存。 標準錯誤通常是無緩存,但願儘快被輸出到終端上。

系統調用api不帶緩衝,C庫函數api帶緩衝。

#數組

調用read系統調用讀取大量磁盤數據時:    
先經過df命令查看磁盤文件系統(通常是/dev/sda1) 。   
而後經過sudo tune2fs -l  /dev/sda1, 查看block size 參數值,

咱們每次調用read系統調用去讀取的數據大小最好和該值相同,此時讀取效率會很高。

#緩存

文件描述符fd是文件描述符表內的數組的下標,能夠經過該數組下標進而找到文件表項和i節點。

#函數

  1. cat cat命令執行,無參數時,表示從標準輸入(鍵盤)讀取內容,並輸出到標準輸出。spa

2. cat filename   cat命令後面跟文件名,表示從文件讀取內容,並輸出到標準輸出。
3. cat>filename   表示從標準輸入讀取內容,並將內容輸出到強制新建的filename文件中。

4.  cat<filename 表示從文件file讀取內容,並將內容輸出到標準輸出去。

 

記憶法則: 
若是使用了<或者>符號,那麼大於的一側(也就是符號開口的那一側)永遠表示輸入端。 小於的一側(也就是尖角的一側)永遠表示輸出端。
默認的輸入端和輸出端就是標準輸入和標準輸出。

若是單獨使用cat filename, 這是執行一個輸出動做,即表示將file內容輸出到標準輸出。

若是隻單獨使用cat,這是執行一個輸入又輸出的動做,即表示從標準輸入獲取內容並輸出到標準輸出去(行緩衝)。

#blog

 

#效率


#file


#終端


#程序


#


#


#


#


#


#


#


#


#


#


#


#

 

 

 

 

 

 

.

相關文章
相關標籤/搜索