fd 文件描述符
普通文件和設備文件
進程通過文件描述符來訪問該文件
0 標準輸入
1 標準輸出
2 錯誤輸出 / 標準錯誤
輸出重定向(覆蓋,追加)
正確輸出:1> 1>> 等價於 > >>
錯誤輸出:2> 2>>
ls /dsada 2> ttest.log 錯誤重定向,將錯誤日誌輸出到ttest.log
查看某個進程打開哪些文件
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