10.1.4. 复制语法
如下是用不同的工具复制整个 “./source
“ 目录中的内容。
本地复制: “
./source
“ 目录 → “/dest
“ 目录远程复制:本地主机上的 “
./source" 目录
→ “user@host.dom
“ 主机上的 “/dest
“ 目录
rsync(8):
# cd ./source; rsync -aHAXSv . /dest
# cd ./source; rsync -aHAXSv . user@host.dom:/dest
你能够选择使用“源目录上的反斜杠”语法。
# rsync -aHAXSv ./source/ /dest
# rsync -aHAXSv ./source/ user@host.dom:/dest
或者,如下所示。
# cd ./source; find . -print0 | rsync -aHAXSv0 --files-from=- . /dest
# cd ./source; find . -print0 | rsync -aHAXSv0 --files-from=- . user@host.dom:/dest
GNU cp(1) 和 openSSH scp(1):
# cd ./source; cp -a . /dest
# cd ./source; scp -pr . user@host.dom:/dest
GNU tar(1):
# (cd ./source && tar cf - . ) | (cd /dest && tar xvfp - )
# (cd ./source && tar cf - . ) | ssh user@host.dom '(cd /dest && tar xvfp - )'
cpio(1):
# cd ./source; find . -print0 | cpio -pvdm --null --sparse /dest
你能够在所有包含 “.
“ 的例子里用 “foo
“ 替代 “.
“,这样就可以从 “./source/foo
“ 目录复制文件到 “/dest/foo
“ 目录。
在所有包含 “.
“ 的列子里,你能够使用绝对路径 “/path/to/source/foo
“ 来代替 “.
“,这样可以去掉 “cd ./source;
“. 如下所示,这些文件会根据工具的不同,拷贝到不同的位置。
“
/dest/foo
“: rsync(8), GNU cp(1), 和 scp(1)“
/dest/path/to/source/foo
“: GNU tar(1), 和 cpio(1)
提示 | |
---|---|
rsync(8) 和 GNU cp(1) 可以用 “ |