linux 中一切皆文件:open(),read(),write(),close()
设备文件:关联至少一个设备驱动程序,进而能够跟与之对应硬件设备进行通信
设备号码:
- 主设备号:major number,标识设备类型
- 次设备号:minor number,标识同一类型下的不同设备
[01:22:56 root@localhost ~]#ll /dev/null
crw-rw-rw-. 1 root root 1, 3 Nov 22 01:12 /dev/null
1,3 1是主设备号 3是次设备号
范例:创建一个跟/dev/zero一样的文件
[01:23:04 root@localhost ~]#mknod /root/zero c 1 5
[01:27:23 root@localhost ~]#ll
total 8
-rw-------. 1 root root 1301 Nov 21 23:55 anaconda-ks.cfg
-rwxr-xr-x. 1 root root 1596 Nov 21 23:57 reset.sh
crw-r--r--. 1 root root 1, 5 Nov 22 01:27 zero
[01:28:25 root@localhost ~]#dd if=/root/zero of=/root/test bs=1 count=10
10+0 records in
10+0 records out
10 bytes (10 B) copied, 0.000166157 s, 60.2 kB/s
[01:28:52 root@localhost ~]#hexdump -C /root/test
00000000 00 00 00 00 00 00 00 00 00 00 |..........|
0000000a
设备类型:
- 块设备:block,存取单位“块”,磁盘
- 字符设备:char,存取单位“字符”,键盘
磁盘设备的设备文件命名:
/dev/DEV_FILE
/dev/sdX # SAS,SATA,SCSI,IDE,USB
/dev/nvme0n #nvme协议硬盘,如:第一个硬盘:nvme0n1,第二个硬盘:nvme0n2
虚拟磁盘:
/dev/vd
/dev/xvd
不同磁盘标识:a-z,aa,ab.....
同一设备的不同分区:1,2,...
/dev/sda1
/dev/sda2
dd:命令
dd可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。
dd if=/dev/zero of=/opt/test bs=1M count=1024 seek=1024
if=文件名:输入文件名,默认为标准输入。即指定源文件。
of=文件名:输出文件名,默认为标准输出。即指定目的文件。
ibs= 一次读size个byte
obs= 一次写size个byte
bs=同时设置读入/输出的块大小为bytes个字节。
count=复制n个bs
seek= 从开头忽略blocks个obs大小的块
skip= 从开头忽略blocks个ibs大小的块
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于