linux - 如果目标文件夹不存在,scp 会创建它吗

标签 linux bash scp

我想知道如果远程服务器上不存在目标文件夹,scp 是否会创建它。例如,这行得通吗?

scp -r /data/install/somefolder user@ftpserver.com:/data/install/somefolder

这里的文件夹 /data/install/somefolder 在 ftp 服务器上不存在,那么这个命令会创建它吗?

注意我已经阅读了有关 rsync 的信息,但还不确定它是如何工作的或如何使用它。

最佳答案

使用 ssh 和 scp(而不是 rsync)来完成任务:

解决方案

让我们分成两个步骤:

1。如果缺少则创建目录:

ssh user@ftpserver.com "mkdir -p /data/install/somefolder"

2。复制到它:

scp -r /data/install/somefolder user@ftpserver.com:/data/install/somefolder

把它们放在一起

server="user@ftpserver.com"
destiny="/data/install/somefolder"
src="/data/install/somefolder"
ssh "$server" "mkdir -p $destiny" && scp -r "$src" "$server:$destiny"

关于linux - 如果目标文件夹不存在,scp 会创建它吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12920947/

相关文章:

bash - 在 GNU 中并行执行 SCP

amazon-web-services - 使用 pem 从 amazon aws 下载文件

c++ - LD_LIBRARY_PATH 不工作,而 LD_PRELOAD 工作正常

php - 为什么我不能写到/dev/stdout,但是php ://stdout works?

python - 将变量从 python 传递到 shell 脚本

linux - Shell 脚本 - 两个 for 循环和更改文件扩展名

linux - scp 从 Linux 到 Windows

python - 如何在终端中的 Jupyter 上运行 python 脚本?

linux - Qt 项目文件没有看到环境变量

Mac 的 Bash 'cut' 命令