如何仅复制文件夹(包括子文件夹的文件)的文件,而不复制shell中的文件夹本身

时间:2013-12-06 09:47:38

标签: shell ssh scp

在Openssh中,在客户端上,必须将path / to / file的内容复制到Server。必须将客户端上/ path / to / file中的所有文件复制到服务器上的/ path / to / files。注意:只复制文件,没有文件夹!和子文件夹的文件。请给出命令。

1 个答案:

答案 0 :(得分:1)

您可能想尝试以下命令:

find DIR -type f \
| tar cf - --files-from=- --transform='s+^.*/++' \
| ssh user@hostname 'tar xvf - --directory=DIR'

find选择目录DIR中的文件。 然后tar创建一个包含这些文件的动态存档并展平其路径(通过删除最后一个斜杠的所有内容,请参阅How to create flat tar archive)。 最后ssh允许tar将接收服务器上的平面存档解压缩到指定的目标目录中。