記憶體與IO,磁碟IO,網路IO

codingToMaster發表於2020-09-26

本節主要內容:

系統IO原理:Linux

VFS  FD

pagecache

[java]

1檔案系統的io

2記憶體和io關係

3網路io

任何程式都有

0:標準輸入

1:標準輸出

2:報錯輸出

/proc/$$進入當前程式目錄

$$表示當前bash的pid 

$BASHPID 也可以獲取程式pid

/proc/$$/fd  進入當前程式的檔案描述符目錄,可以檢視開啟哪些檔案

命令:lsof -op $$ 也可以檢視當前程式的詳細資訊

檔案重定向:

ls ./    /etc/    1> zzz02.out     2>&    1

語法注意:1> zzz02.out 必須在前,因為標準輸出2需要重定向到標準輸入1

一般都是重定向到檔案,但是這裡是標準輸出重定向到標準輸入,因此必須使用>&

管道  |   ------------非常重要

先掌握幾個基本的命令

head -n 檔名   顯示檔案的前n行,如果不帶n,預設顯示前10行

tail -n 檔名   顯示檔案的後n行,如果n不帶,顯示後10行

問題:怎麼顯示第八行的資料呢???

通過管道可以實現

head -8 zzz.txt | tail -1

export   變數名   export後的變數,會成為環境變數

程式碼塊---即執行多條指令

{ echo "123"; echo "abc"; }

原因是:管道兩邊都會起一個子程式,然後將兩個子程式並在一起。執行完管道後,又進入了父程式,因此a還是1

原因:$$ 的優先順序比 | 高            但是$BASHPID的優先順序比  |  低

 

相關文章