pv 权限被拒绝,但 dd 可以正常工作

Tom*_*ica 5 dd cloning

pv是上面运行的程序dd。我正在将旧硬盘克隆到新 SSD。这是 500GB 的数据。我尝试运行以下命令复制sdasdb

ubuntu@ubuntu:/$ sudo pv < /dev/sda > /dev/sdb
bash: /dev/sda: Permission denied
Run Code Online (Sandbox Code Playgroud)

使用dd命令没有产生这个错误。

我正在从 DVD 运行系统 Ubuntu。sda是通过 SATA 连接的主要笔记本电脑硬盘sdb驱动器,是使用 USB-SATA 转换器通过 USB 连接的 SSD 驱动器。

Wre*_* T. 8

上面的重定向是在分叉和执行 sudo 之前由您的 shell 设置的。您可能需要类似以下内容:

sudo bash -c 'pv </dev/sda  >/dev/sdb`
Run Code Online (Sandbox Code Playgroud)

这将导致 bash 由 sudo 运行。Bash 会将-carg 的参数作为该 shell 中的命令执行,而不是以交互方式运行。

dd命令有效,因为大概您没有使用重定向。

此外,pv不会在dd. 该pv命令做了很多事情,包括显示其输出到 stdout 的进度或限制其输出的速率。