Linux筆記 5 linux下的檔案描述符

2021-10-04 09:09:51 字數 2953 閱讀 4143

linux下的檔案描述符

輸入輸出標準說明

檢視乙個程序開啟了那些檔案;

語法:ll /proc/程序id/fd

測試:step1: 開啟終端,shift+ctrl+t,開啟第二個終端

step2: 在終端1上,執行

step3: 切換到終端2上,執行

// 終端1

vim /etc/passwd

// 終端2

ps -axu | grep vim

ll /proc/3586/fd

結果如下:

**注:**這些0,1,2,4就是檔案的描述符。乙個程序啟動時,都會開啟3個檔案:標準輸入、標準輸出和標準出錯處理。這3 個檔案分別對應檔案描述符為012也就是巨集替換stdin_filenostdout_filenostderr_fileno

檢視和臨時設定乙個程序最多可開啟幾個檔案,(即:乙個程序可以開啟的檔案描述符限制)

ulimit -n      // 檢視可以有幾個

ulimit -n 512 // 臨時設定

重定向

輸出重定向

-1.1>+檔名: 表示將標準輸出的內容,寫到後面的檔案中,如果此檔名已經存在,將會覆蓋原檔案中的內容

-1.2>>+檔名: 表示將標準輸出的內容,追加到後面的檔案中。若重定向的輸出的檔案不存在,則會新建該檔案

eg:

// 將passwd檔案的內容 ,覆蓋到test.txt 檔案中

cat /etc/passwd > test.txt

// 將核心的版本資訊追加到test.txt

uname -a >> test.txt

輸入重定向

-2.1 將命令中接收輸入的途徑由預設的鍵盤改為其他檔案.而不是等待從鍵盤輸入

eg:

grep root < /etc/passwd // 過濾從/etc/passwd上獲得的檔案內容裡符合root的字串
-2.2 mysql中資料匯入

eg:

mysql -uroot -pxiaoye2020 < test.sql // 匯入資料庫
eof

注:eof本意是end of file,表明到了檔案末尾。eof通常與<<結合使用,錯誤重定向輸出

-4.12>: 使用2>操作符時,會像使用》 一樣覆蓋目標檔案的內容

-4.22>>: 使用2>>追加而不覆蓋檔案的內容即可使用2>> 操作符

dev/null/dev/zero

-5.1/dev/null: 把/dev/null看作黑洞,所有寫入它的內容都會永遠丟失. 而嘗試從它那兒讀取內容則什麼也讀不到. 然而/dev/null對命令列和指令碼都非常的有用

eg:

echo aaa > "/dev/null" // 將aaa 寫入null檔案

cat /dev/null // 檢視檔案內容 => 看不到任何內容

-5.2/dev/zero在類unix作業系統中,/dev/zero是乙個特殊的檔案,當你讀它的時候,它會提供無限的空字元(null, ascii nul, 0x00)。典型用法是用它來產生乙個特定大小的空白檔案

eg:

// if == input file ; 代表輸入檔案。如果不指定if,預設就會從stdin中讀取輸入

// of == out file ; 代表輸出檔案。如果不指定of,預設就會將stdout作為預設輸出

// bs == bit size ; 代表位元組為單位的塊大小

// count : 代表被複製的塊數

dd if=/dev/zero of=b.txt bs=1m count=50 // 使用dd命令產生乙個50m的檔案

&>>&符號

1>&2把標準輸出重定向到標準錯誤

2>&1把標準錯誤重定向到標準輸出

工作中shell指令碼中的>/dev/null 2>&1是什麼意思?

注:將標準輸出和錯誤輸出全部重定向到/dev/null中,也就是將產生的所有資訊丟棄.

eg : 把正確和錯誤的訊息輸入到相同的位置

ls /tmp  ***x  >1.txt   2>&1

// or

ls /tmp***x 2>2.txt 1>&2

5 Linux時間程式設計

include time t time time t calptr 返回距計算機元年的秒數 define time t long include struct tm gmtime const time t calptr 獲取世界標準時間utc struct tm include struct tm ...

5 linux下檢視memcache是否正常

在xshell中輸入ps ef grep mem,顯示結果如下,說明memcache已經啟動。檢視apache 是否安裝成功 在瀏覽器中輸入伺服器的 ip位址 如出現如圖的所示的介面說明 apache 安裝成功。檢視memcache 是否執行正常 在瀏覽器的輸入位址 phpinfo.php 並查詢 ...

Linux學習筆記 5 Linux引導流程解析

linux引導流程 1 按下電源的第乙個啟動步驟 啟動韌體firmware post加電自檢 檢查硬體的載入情況,如,鍵盤,記憶體等。跟作業系統無關。因此,當你新新增了一塊硬碟,第一步就是應該首先進入到韌體模式,檢測韌體是否已經識別出這塊網絡卡!同步軟硬體時鐘 理論上這兩個時間應該是一致的 hwcl...