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