scp
(secure copy)是一个用于在网络上的两台计算机之间安全地复制文件的命令行工具。它使用SSH(Secure Shell)协议进行数据传输,确保文件在传输过程中的安全性。
scp local_file user@remote_host:/path/to/remote/directory
scp user@remote_host:/path/to/remote/file local_directory
-r
选项可以递归复制整个目录。如果你在使用 scp
复制文件夹时想要过滤掉某些子目录或文件,可以使用以下方法:
rsync
rsync
是一个更强大的文件传输工具,支持复杂的过滤规则。
rsync -avz --exclude='folder_to_exclude' local_directory/ user@remote_host:/path/to/remote/directory/
-a
归档模式,保持文件权限和时间戳。-v
显示详细信息。-z
压缩数据传输。--exclude
排除指定的文件夹或文件。tar
和管道你可以先将文件夹打包,然后通过管道传输,并在远程解压时排除特定文件夹。
本地端:
tar czf - --exclude='folder_to_exclude' local_directory | ssh user@remote_host "tar xzf - -C /path/to/remote/directory/"
tar czf -
创建一个压缩的 tar 包并输出到标准输出。ssh
将压缩包通过 SSH 传输到远程主机。tar xzf - -C /path/to/remote/directory/
在远程主机解压到指定目录。问题:复制过程中遇到权限问题,无法写入远程目录。
原因:可能是由于远程目录的权限设置不允许当前用户写入。
解决方法:
ls -ld /path/to/remote/directory
sudo
提升权限,但要注意安全性。通过上述方法,你可以有效地使用 scp
或相关工具进行文件传输,并根据需要进行文件夹的过滤。
领取专属 10元无门槛券
手把手带您无忧上云