Linux 系統程式設計

2021-05-25 02:15:24 字數 1596 閱讀 1482

1、i/o操作

2、檔案和目錄管理

3、記憶體管理

1、建立匿名記憶體對映

2、對映/dev/zero檔案

類unix

作業系統中,/dev/zero是乙個特殊的檔案,當你讀它的時候,它會提供無限的空字元(null, ascii nul, 0x00)。其中的乙個典型用法是用它提供的字元流來覆蓋資訊,另乙個常見用法是產生乙個特定大小的空白檔案。bsd就是通過mmap

把/dev/zero對映到虛位址空間實現共享記憶體的。可以使用mmap將/dev/zero對映到乙個虛擬的記憶體空間,這個操作的效果等同於使用一段匿名的記憶體(沒有和任何檔案相關)。

使用/dev/null

把/dev/null看作"黑洞". 它非常等價於乙個只寫檔案. 所有寫入它的內容都會永遠丟失. 而嘗試從它那兒讀取內容則什麼也讀不到. 然而, /dev/null對

命令行和指令碼都非常的有用.

禁止標準

輸出

cat $filename >/dev/null

# 檔案內容丟失,而不會輸出到標準輸出.

禁止標準錯誤

rm $badname 2>/dev/null

# 這樣錯誤資訊[標準錯誤]就被丟到太平洋去了

禁止標準輸出和標準錯誤的輸出

cat $filename 2>/dev/null >/dev/null

# 如果"$filename"不存在,將不會有任何錯誤資訊提示.

# 如果"$filename"存在, 檔案的內容不會列印到標準輸出.

# 因此therefore, 上面的**根本不會輸出任何資訊.

# 當只想測試命令的退出碼而不想有任何輸出時非常有用。

cat $filename &>/dev/null

# 也可以, 由 baris cicek 指出

自動清空

日誌檔案的內容

(特別適合處理這些由商業web站點傳送的討厭的"cookies"):

if [ -f ~/.netscape/cookies ] # 如果存在則刪除.

then

rm -f ~/.netscape/cookies fi

ln -s /dev/null ~/.netscape/cookies

現在所有的cookies都會丟入黑洞而不會儲存在磁碟上了.

使用/dev/zero

像/dev/null一樣, /dev/zero也是乙個偽檔案, 但它實際上產生連續不斷的null的流(二進位制的零流,而不是ascii型的). 寫入它的輸出會丟失不見, 而從/dev/zero讀出一連串的null也比較困難, 雖然這也能通過od或乙個十六進製制編輯器來做到. /dev/zero主要的用處是用來建立乙個指定長度用於初始化的空檔案,就像臨時交換檔案.

關於 /dev/zero 的另乙個應用是為特定的目的而用零去填充乙個指定大小的檔案, 如掛載乙個檔案

系統到環迴裝置(loopback device)或"安全地" 刪除乙個檔案.

Linux系統程式設計

1.linux程序 守護程序 脫離終端的後台程序 2.linux程序 殭屍程序 3.linux 下程序通訊 其中setsockopt server sockfd,sol socket,so reuseaddr,on,sizeof on 因為每乙個連線都由本地位址和遠端位址的組合唯一確定,所以只要遠端...

Linux系統程式設計 Linux系統呼叫

linux 系統呼叫 庫函式 目錄 系統呼叫概述 系統呼叫的實現 系統呼叫和庫函式的區別 系統呼叫,顧名思義,說的是作業系統提供給使用者程式呼叫的一組 特殊 介面。使用者程式可以通過這組 特殊 介面來獲得作業系統核心提供的服務,比如使用者可以通過檔案系統相關的呼叫請求系統開啟檔案 關閉檔案或讀寫檔案...

Linux系統程式設計 Linux系統呼叫

這系統呼叫,顧名思義,說的是作業系統提供給使用者程式呼叫的一組 特殊 介面。使用者程式可以通過這組 特殊 介面來獲得作業系統核心提供的服務,比如使用者可以通過檔案系統相關的呼叫請求系統開啟檔案 關閉檔案或讀寫檔案,可以通過時鐘相關的系統呼叫獲得系統時間或設定定時器等。從邏輯上來說,系統呼叫可被看成是...