标签: scp

用 `scp` 或 `rsync` 中的标志定义目标目录(如 `cp -t`)

由于我经常通过网络将不同数量的特定文件复制到(相当复杂的)目标目录中,如果我可以使用cp's-t标志,我的生活会容易得多:有了它,您可以指定目标目录“在开始”——而不是作为最后的论点。

这样,我可以CTRL-R先复制命令,然后再CTRL-W复制以前复制的文件,而不管之前有多少文件,始终保留(复杂的)设置和目标目标系统和目录。

但是我找不到任何合适的标志,无论是 forscp还是 for rsync。(如果其中一个提供此选项,我会使用其中之一。)

scprsync提供类似的东西cp -t

在绝望中,我什至玩弄了bash的历史控制,尤其是参数提取机制:不幸的是,似乎不可能以“第x个参数到最后一个参数”的形式指定范围。but-one”,这是我需要的,因为我并不总是有参数的数量(除非我计算......)。

bash scp cp rsync

0
推荐指数
1
解决办法
220
查看次数

SCP 需要密码,但如果我通过 SSH 连接到同一台服务器,则不需要

所以我设置了 ssh 密钥,通过 cli 对其进行了测试,并且一切正常。当我运行 SCP 文件传输时,它会询问我两台机器的密码,但如果我只是 ssh 到同一台服务器,它不会。

下面是我正在运行的 scp。如果我在提示文件传输通过时输入密码,我只是想避免每次都输入密码。

sudo scp -r root@xxx.xxx.xxx.xxx:/var/spool/servera/backup/2018Backups /home/serverb/Documents/2018Backups
Run Code Online (Sandbox Code Playgroud)

ssh scp

0
推荐指数
1
解决办法
123
查看次数

如何在 bash 脚本中复制多个文件

我想知道如何在 bash 脚本中复制或 shell 复制多个文件。我的意思是

cp /path/to/source/{file1,file2,file3} /path/to/dest
Run Code Online (Sandbox Code Playgroud)

scp /path/to/source/{file1,file2,file3} user@host:/path/to/dest
Run Code Online (Sandbox Code Playgroud)

会工作正常,但作为例子

#!/bin/sh
scp /path/to/source/{file1,file2,file3} user@host:/path/to/dest
Run Code Online (Sandbox Code Playgroud)

会抛出这样的错误:

/path/to/source/{file1,file2,file3}: No such file or directory
Run Code Online (Sandbox Code Playgroud)

如果您将复制或 shell 复制单个文件,则它可以工作,因此问题是多个文件。如果我将*用于所有文件但我不想复制所有文件,它也有效。我应该只复制选定的文件,因为在两个文件夹中都是名称相同但内容不同的文件。从而复制所有文件然后删除不需要的文件是行不通的。

为了更好地理解以下内容将起作用:

#!/bin/sh
scp /path/to/source/file1 user@host:/path/to/dest
Run Code Online (Sandbox Code Playgroud)

还有以下内容:

#!/bin/sh
scp /path/to/source/* user@host:/path/to/dest
Run Code Online (Sandbox Code Playgroud)

所以它与正确使用{ ... }多个文件有关,这些文件将在终端内工作,但如果我在其中运行 bash 脚本则不会。

提前致谢。

//编辑:

如果我用 cp 尝试,我会添加错误:

cp: cannot stat '/path/to/source/{file1,file2,file3}': No such file or directory
Run Code Online (Sandbox Code Playgroud)

scp cp shell-script

0
推荐指数
1
解决办法
96
查看次数

scp: 非法选项 -- 0

我正在尝试通过 shh 连接将数据复制到远程服务器。

我收到以下错误:

[localhost]: scp: illegal option -- 0
[localhost]: usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[localhost]: [-l limit] [-o ssh_option] [-P port] [-S program]
[localhost]: [[user@]host1:]file1 ... [[user@]host2:]file2
Run Code Online (Sandbox Code Playgroud)

我使用的脚本执行此请求:

 scp -p10012 /Users/trst/Docs/repositories/pro/.envoydeploy/tmp/servers/172.12.11.150 admin@172.12.11.150:/var/www/pro/tmp/service_owner
Run Code Online (Sandbox Code Playgroud)

scp

-1
推荐指数
1
解决办法
1327
查看次数

scp远程文件到本地

我可以使用以下方法将存档从本地复制到服务器:

scp forum.tar.gz root@servername:/root/
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试从服务器发送到本地时

[root@iz2ze9wve43n2nyuvmsfx5z ~]# scp draft.md root@localhot:/
ssh: Could not resolve hostname localhot: Name or service not known
lost connection
Run Code Online (Sandbox Code Playgroud)

我怎样才能完成这项工作,
我是否必须依赖 github 来提交和拉取?

scp git

-1
推荐指数
1
解决办法
1571
查看次数

我的网卡速度是每秒 1g 为什么 scp 速度是每秒 120MB

我的网络接口卡读写速率是 1000MB/S,但是当我 scp 一个文件时,它显示复制速度是 120MB/S。如:scp test.gz localhost:/data/test.gz

linux scp

-5
推荐指数
1
解决办法
4394
查看次数

标签 统计

scp ×6

cp ×2

bash ×1

git ×1

linux ×1

rsync ×1

shell-script ×1

ssh ×1