我想在自己的系统中移动/复制大量文件,并且想使用wget
命令及其-c
开关来实现可恢复传输。copy( cp
) 或 move( mv
) 命令不为我提供此选项。
是否可以将wget
这些文件从一个目录复制到我自己的系统中的另一个目录?
答案1
是的,但是您需要设置一个网络服务器来提供您需要复制的文件。
尝试一下这样的方法。在终端上,启动一个简单的 Web 服务器:
cd /etc/
python -m SimpleHTTPServer
然后打开另一个终端并执行:
wget http://localhost:8000/passwd
passwd 文件将被下载到您的当前目录。您实际上是将其从 /etc/ 复制到您的主目录。
我不确定你为什么要这样做,但原则上,正如你所看到的,这是可能的。
答案2
改用其他方式可能更有意义rsync
。例如:
rsync -aP /source ~/destination
-P
或标志--partial
可防止在发生中断时删除未完成的文件。如果再次运行相同的命令,将恢复任何未完成的传输。
这样,您就不需要再为所需的本地 Web 服务器操心了wget
。
答案3
尽管我强烈推荐rsync
,但您可以curl
在不运行 HTTP 服务器的情况下使用:
curl -O -C - file:///path/to/some/file
curl
与 不同wget
,但功能同样强大,甚至更强大。在任何系统上使用它都很方便。
从man curl
:
-C, --continue-at <offset>
Continue/Resume a previous file transfer at the given offset.
Use "-C -" to tell curl to automatically find out where/how to
resume the transfer
-O, --remote-name
Write output to a local file named like the remote file we get.
答案4
这是可能的。您需要有一个 Web 服务器,例如 apache 或 nginx。如果是 apache,要复制文件,您可以这样做
wget http://localhost/path/to/file/starting/from/var/www/
因为 apache 服务器的主目录是 /var/www