试图用 cp 复制一个目录,它需要永远(我认为)

Dan*_*tzi 4 command-line mount cp

我在我的电脑上连接了一个外部硬盘。我切换到root。我已经成功挂载了磁盘!(耶我!!)

现在我想将整个目录从外部硬盘复制到我的本地文件夹。

所以我这样做了:

cp /mnt/external/directory_to_be_copied /home/danai/destination_folder
Run Code Online (Sandbox Code Playgroud)

它没有提出错误。但是当我在下一行按下 Enter 键时,这个 _ 下划线就会闪烁。现在已经至少 5 分钟了。

那么是我尝试复制的目录太大还是有问题?

Bex*_*Bex 7

当您遇到这种事情(时不时发生)时,您可以做一些事情。

首先,您需要一个新的提示。如果您使用的是图形用户界面,这应该就像打开一个新的终端窗口一样简单。如果你不是,你应该能够切换到另一个tty使用Ctrl+ Alt+F2的例子。另一种选择是使用Ctrl+暂停当前​​命令z。您可以使用该命令检查已暂停的作业,并使用jobs例如bg 1wherebg代表后台让程序再次运行。

一旦你有一个提示,并且你认为需要太多时间的程序仍在执行,你就可以开始做一些调查了。要查看的一件事是目的地是否真的被填充:

ls /home/danai/destination_folder
Run Code Online (Sandbox Code Playgroud)

运行命令几次。输出有变化吗?如果是这样,你很好。如果没有,我们需要进一步检查。

检查您的驱动器是否已满:

df
Run Code Online (Sandbox Code Playgroud)

运行该命令几次 - 或者对其进行监视:

watch df
Run Code Online (Sandbox Code Playgroud)

输出有变化吗?是否有驱动器(包含您的主目录)填满?如果是这样,则该命令正在运行,并且正在运行,并且正在复制某些内容。

看看你复制的内容:

du --summarize -h /mnt/external/directory_to_be_copied
Run Code Online (Sandbox Code Playgroud)

这将告诉您大约要复制的目录的大小。这可以为您提供有关需要多长时间的提示。

如果这一切都失败了,源可能不是真正的目录,而是某种填充文件系统的平均设备。有这样的设备。如果您观看,df您可以查看文件系统是否已满。如果是这样,您可能想中止。

返回到您用来启动的终端或 tty cp(可能是 tty1 at Ctrl+ Alt+ F1,如果您还没有更改它)或使用fg 1(或您的工作拥有的任何数字,但可能是 1)将命令放回前台,并用Ctrl+中止它C

附带说明 - 当您复制目录时,您可能还想cp -r用来复制任何子目录。