文件对于 /dev/null 来说太大了

Zog*_*atz 7 linux find dd

在测试有问题的 LUN 的读取错误时,我遇到了以下问题:

find /mnt/problem_lun/ -type f -print -exec dd if={} of=/dev/null bs=8k \;
...
/mnt/problem_lun/a_file
dd: writing `/dev/null': File too large
33619977+0 records in
33619976+0 records out
275414843392 bytes (275 GB) copied, 804.171 s, 342 MB/s
Run Code Online (Sandbox Code Playgroud)

IBM 硬件,RHEL 6.6

谁是罪魁祸首,前提是可以读取此特定文件而不会出现任何错误?

use*_*517 13

看起来您/dev/null可能在某个时候已被删除,因此当您开始写入它时,您正在写入一个普通文件而不是字符特殊空设备。

您可以通过查看 ls 的输出来确认这一点

$ ls -l /dev/null
crw-rw-rw-. 1 root root 1, 3 Sep 28 08:11 /dev/null
Run Code Online (Sandbox Code Playgroud)

如果我是对的,那么您将看不到角色特殊设备。您可以通过首先删除您创建的文件然后运行来修复此问题

MAKEDEV std 
Run Code Online (Sandbox Code Playgroud)

哪个应该适用于 EL6 或

mknod -m 666 /dev/null c 1 3
Run Code Online (Sandbox Code Playgroud)