我可以登录到 root 终端,然后通过tar -zcvf dspace_tar.gz /home/dspace
在 root 终端中运行命令来创建 tar zip 文件。
但我无法使用该命令进行复制
cp -av dspace_tar.gz /dev/sdb1
这是我的外部硬盘。
我收到两个错误stat error
:no such file or root directory.
答案1
不要尝试写入设备文件(/dev/sdxY
) - 您应该写入挂载点(/media/username/drive_name
)
由于您尝试复制为根你应该这样做:
cp -av dspace_tar.gz /media/username/external_hdd_name
如果你不知道设备的安装点,请先将其插入,然后执行此操作以获取地址:
lsblk -f
选项:
-f
选项提供了有关文件系统的更多信息。-a
:复制档案时使用-v
:在终端中显示进程
答案2
命令“man cp”表明 cp 复制文件和目录。这是一个基于文件系统的操作。您尝试直接复制文件 - 不使用文件系统 - 因此是设备 (/dev/sdb1)。以下是一些可满足您需求的选项:
1. 在 /dev/sdb1 上创建一个文件系统,然后使用 cp 复制文件,按照您已经尝试过的方式: mkfs -t ext4 /dev/sdb1 挂载 /dev/sdb1 /mnt/mydisk1 cp -av dspace_tar.gz /mnt/mydisk1/
或者
2. 使用 tar 将数据直接写入 sdb1 tar czvf /dev/sdb1 dspace_tar.gz
还有其他选择,但我认为这是两种主要方法。通常的方法是使用磁盘设备上的文件系统。
答案3
您正在尝试覆盖硬盘。我经常使用类似的命令来写入图像。
如果您的硬盘驱动器安装在某处,请尝试将文件复制到安装点。为此,请运行命令lsblk
并查看输出的右侧。
如果尚未安装,则必须先为安装点创建一个目录,然后运行 来安装它sudo mount /dev/sdb1 <path to folder>
。(替换为您的文件夹的路径)。然后,您可以将文件复制到硬盘上,该硬盘将显示为文件夹。