天天看點

I/O重定向 Redirection

fd 檔案描述符

普通檔案和裝置檔案

程序通過檔案描述符來通路該檔案

0 标準輸入

1 标準輸出

2 錯誤輸出 / 标準錯誤

輸出重定向(覆寫,追加)

正确輸出:1> 1>> 等價于 > >>

錯誤輸出:2> 2>>

ls /dsada 2> ttest.log 錯誤重定向,将錯誤日志輸出到ttest.log

I/O重定向 Redirection

檢視某個程序打開哪些檔案

ll /proc/pid/fd

echo $$ 目前bash的程序

ll /proc/$$/fd 檢視目前終端bash打開檔案

/dev/null 裝置被删除後重建 rm /dev/null

1、手動建立

mknod -m 666 /dev/null c 1 3

2、重新開機系統自動建立

兩條指令等價

dd if=/dev/zero of=/home/file.txt bs=1M count=20

dd /zero >/home/file bs=1M count=20

普通檔案和字元檔案的差別

字元檔案:主裝置号和從裝置号(8,0)(8,1)

主裝置号相同,表示為同一種裝置類型,也可以認為kernel子產品相同

從裝置号:在同一類型裝置中的一個序号

c:表示字元裝置 b:塊裝置

兩種裝置差別:

塊裝置有緩存(硬碟)

crw-rw-rw-. 1 root root 1, 3 Dec 17 01:51 /dev/null

-rw-r--r--. 1 root root 956 Nov 21 03:34 /etc/passwd

brw-rw----. 1 root disk 8, 0 Dec 17 01:51 /dev/sda

brw-rw----. 1 root disk 8, 1 Dec 17 01:51 /dev/sda1

brw-rw----. 1 root disk 8, 2 Dec 17 01:51 /dev/sda2

I/O重定向 Redirection