Linux

從磁碟操作中重定向輸出不起作用

  • June 14, 2021

我無法在使用磁碟操作的命令上成功重定向 STDOUT+STDERR。始終有效的標準重定向現在以某種方式擷取輸出。兩個實際例子:

範例 1:

# wipefs --all --force /dev/sda >>/var/log/custom.log 2>&1

[   20.169018 ]  sda: sda1

範例 2:

# mount --verbose --options defaults --types ext4 /dev/sda1 /path/is/here >>/var/log/custom.log 2>&1

[   30.947410 ] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)

有趣的是,這只發生在以某種方式接觸磁碟時。腳本中的所有其他重定向都按預期工作。

有任何想法嗎?

這不是命令的輸出,這是核心日誌消息。由於消息不是來自命令,因此它們不受重定向的影響。

核心日誌消息通常會進入日誌文件,並且重要消息還會顯示在控制台上。“重要”和“控制台”的確切含義取決於日誌記錄配置。如果您使用的是 sysklogd,則配置文件是/etc/syslog.conf. 如果你使用 rsyslog,它是/etc/rsyslog.confand /etc/rsyslog.d/*。如果你使用 systemd 的內置日誌,它是/etc/systemd/journal.conf. 核心也可以直接將日誌列印到控制台,而無需通過可以配置的日誌守護程序dmesg --console-…(但這通常通過日誌守護程序的配置間接完成)。

引用自:https://unix.stackexchange.com/questions/654233