我正在尝试将一个非常大的文件从一个主机移动到另一个主机。另外,文件名太长了,所以我必须使用xargs。所有子目录也需要被复制。 我正在源主机当前目录中使用以下命令: find . -name "*" -type f -print0 | xargs -0 scp -r UserName@host:/path/to/destination 但是它抛出了以下错误scp: /path/to/destination: not a regular file
在目的地之前使用{}来放置源文件名。这是新命令: find . -name "*" -type f -print0 | xargs -0 -I {} scp -r {} UserName@host:/path/to/destination
-f
,但是子目录的文件会被复制两次。一次在/path/to/destination
,另一次在/path/to/destination/source_folder/
。希望您能理解我的问题。 - Anirban Nag 'tintinmj'