Linux scp命令 | 菜鸟教程-从本地复制到远程/从远程复制到本地

目录

Linux scp命令

语法

实例

1、从本地复制到远程

2、从远程复制到本地

说明


文章来源:Linux scp命令 | 菜鸟教程

Linux scp命令

nux scp 命令用于 Linux 之间复制文件和目录。

scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。

scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。

语法

scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2

简易写法:

scp [可选参数] file_source file_target 

参数说明:

  • -1: 强制scp命令使用协议ssh1
  • -2: 强制scp命令使用协议ssh2
  • -4: 强制scp命令只使用IPv4寻址
  • -6: 强制scp命令只使用IPv6寻址
  • -B: 使用批处理模式(传输过程中不询问传输口令或短语)
  • -C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
  • -p:保留原文件的修改时间,访问时间和访问权限。
  • -q: 不显示传输进度条。
  • -r: 递归复制整个目录。
  • -v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
  • -c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
  • -F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
  • -i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
  • -l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
  • -o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
  • -P port:注意是大写的P, port是指定数据传输用到的端口号
  • -S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

实例

1、从本地复制到远程

命令格式:

scp local_file remote_username@remote_ip:remote_folder 
或者 
scp local_file remote_username@remote_ip:remote_file 
或者 
scp local_file remote_ip:remote_folder 
或者 
scp local_file remote_ip:remote_file 

  • 第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
  • 第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;

应用实例:

scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music 
scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3 
scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music 
scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music/001.mp3 

复制目录命令格式:

scp -r local_folder remote_username@remote_ip:remote_folder 
或者 
scp -r local_folder remote_ip:remote_folder 
  • 第1个指定了用户名,命令执行后需要再输入密码;
  • 第2个没有指定用户名,命令执行后需要输入用户名和密码;

应用实例:

scp -r /home/space/music/ root@www.runoob.com:/home/root/others/ 
scp -r /home/space/music/ www.runoob.com:/home/root/others/ 

上面命令将本地 music 目录复制到远程 others 目录下。

2、从远程复制到本地

从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可,如下实例

应用实例:

scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3 
scp -r www.runoob.com:/home/root/others/ /home/space/music/

说明

1.如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,命令格式如下:

#scp 命令使用端口号 4588
scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator

2.使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。

个人使用记录

要使用 scp 命令将远程服务器上的文件复制到你的服务器上,你可以使用以下格式:

scp -P 3XXXXX XXX@X.X.X.X:/data5/zhangrui/project/AnyDoor-main /data1/zhangjiening

解释一下这个命令的各个部分:

  • scp:安全复制命令,用于在网络上复制文件。
  • -P 3XXXX:指定远程服务器的端口号。
  • XXX@X.X.X.X:远程服务器的用户名和IP地址。
  • :/data5/zhangrui/project/AnyDoor-main:远程服务器上要复制的文件或目录路径。
  • /data1/zhangjiening:本地服务器上目标路径。

scp: /data5/zhangrui/project/AnyDoor-main: not a regular file 的错误信息表示你尝试复制的目标 /data5/zhangrui/project/AnyDoor-main 不是一个常规文件。它可能是一个目录、符号链接、设备文件等。

如果 /data5/zhangrui/project/AnyDoor-main 是一个目录,你需要使用 -r 选项来递归复制整个目录。可以使用以下命令:

scp -P 3XXXXX -r XXX@X.X.X.X:/data5/zhangrui/project/AnyDoor-main /data1/zhangjiening

这里的 -r 选项表示递归复制目录及其内容。确保你在执行命令时有相应的权限。

### 如何使用 `scp` 命令进行文件拷贝 #### 本地远程文件拷贝 当需要将本地文件或目录复制到远程服务器时,可以按照以下格式执行命令: ```bash scp 【源文件路径】 【用户名】@【远程IP地址】:【目标路径】 ``` 例如,如果要将本地文件 `/home/user/file.txt` 复制到远程服务器上的 `/tmp/` 路径下,则可运行如下命令[^1]: ```bash scp /home/user/file.txt user@192.168.1.100:/tmp/ ``` 对于目录的复制,需加上 `-r` 参数表示递归操作。例如,将本地目录 `/home/user/folder/` 整体复制远程服务器上相同位置[^3]: ```bash scp -r /home/user/folder/ user@192.168.1.100:/home/user/ ``` #### 远程本地文件拷贝 反之,若想把远程服务器中的某个文件下载到当前机器上,其基本形式为: ```bash scp 【用户名】@【远程IP地址】:【远端文件路径】 【本地存储路径】 ``` 比如获取位于 IP 地址为 `192.168.1.100` 的服务器里名为 `/var/log/syslog` 日志记录保存在本机桌面作为备份副本之一[^4]: ```bash scp user@192.168.1.100:/var/log/syslog ~/Desktop/syslog_backup.log ``` 同样支持批量转移整个资料夹内容回客户端设备内部特定区域之中去完成同步工作流程需求[^5]. --- #### 高级选项说明 为了满足不同场景下的实际应用情况考虑到了更多细节方面的调整可能需要用到额外附加参数来实现特殊定制化功能效果: - **压缩传输**: 添加 `-C` 开启压缩机制减少网络流量消耗提升效率. - **限速控制**: 利用 `-l` 设定最大允许使用的带宽(Kbits/sec),防止占用过多资源影响其他服务正常运作. - **SSH协议版本切换**: 可通过强制指定采用哪种类型的加密通信方式(-1 或者 -2 对应 SSH v1/v2). - **自定义身份认证材料加载**: 当存在多套私钥公钥配对组合情形之下就需要明确定义哪一个应该被选用来进行验证过程。 以上提到的各种增强特性都可以灵活组合运用起来构建更为强大实用的数据交换解决方案[^3]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值