命令行中scp命令怎么用

这篇文章将为大家详细讲解有关命令行中scp命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

     scp 全称为secure copy,它能够对文件加密后进行服务器之间,或者同一服务器不同用户之间的传输。scp默认使用和ssh一样的22端口来通信,有的服务器为了防止攻击会更改这个端口号。

命令格式

scp [参数] [原路径] [目标路径]

具体例子

1. 从本地服务器复制到远程服务器,下面的命令表示把t1.fasta从本地拷贝到202.202.202.202这个服务器的zbl用户的home主目录下。

$ scp t1.fasta zbl@202.202.202.202:~/  

2. 也可以复制整个文件夹到远程服务器,加入-r参数。下面的命令表示把t2_dir文件夹及里面的所有文件拷贝过去了

$ scp -r t2_dir zbl@202.202.202.202:~/  

3. 同样的,也可以从远程服务器负责到本地。只需要把顺序调换一下即可。下面的命令表示把远程服务器zbl主目录下的t2_dir文件夹复制到本地路径下(“.”表示本地当前路径)

$ scp -r zbl@202.202.202.202:~/t2_dir .  

4. 本地服务器上从一个用户复制到另一个用户。下面的命令表示把文件从本地用户复制给使用同一个服务器的zbl,把ip改为localhost即可

$ scp t1.fasta zbl@localhost:~/  

注意如果服务器由于安全原因,scp需要走特殊端口,使用-P参数,后面跟上对应的端口就行。

命令参数

  • -1 强制scp命令使用协议ssh2

  • -2 强制scp命令使用协议ssh3

  • -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)的选项。

关于“命令行中scp命令怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/tech/opensource/208322.html

(0)
上一篇 2021年12月7日 09:59
下一篇 2021年12月7日 09:59

相关推荐

发表回复

登录后才能评论