如何将 /dev/tty 重定向到文件

问题描述 投票:0回答:1

我希望 tar 命令在我处理大文件时以某种方式在输出中显示进度,并了解状态是什么。 但是我不能使用一些流行的工具,比如 pv,因为系统上只允许使用默认程序。

所以在 tar 文档中我找到了这个选项:

--checkpoint-action=ttyout='%T\r'

虽然这可以很好地输出终端中的进度,但我想将进度存储在文件中以防终端断开连接。但是 tar 在这种情况下,因为它使用 ttyout,似乎将其输出定向到 /dev/tty。

所以我的问题是,有没有办法将 /dev/tty 重定向到文件中?并且没有一些花哨的程序,只有标准 linux 发行版中包含的默认工具。

或者另一个选项是 echo

--checkpoint-action='echo=\a %T'

但是那没有 仅输出单行并覆盖它的选项。至少我无法使用这种语法将 echo 修改为 echo -ne。 所以也许你对这个方向有一些想法

tar archive progress
1个回答
0
投票

这似乎应该有效:

tar -cvf archive.tar * | tee filename.log

或者也许你想要更多这样的东西?

tar --checkpoint --checkpoint-action='exec=echo $TAR_CHECKPOINT > filename.log ' --checkpoint-action='ttyout=%u\r' -cf archive.tar *
© www.soinside.com 2019 - 2024. All rights reserved.