📜  scp 使用 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:20:00.892000             🧑  作者: Mango

使用scp的介绍

scp (secure copy protocol) 是一个用于在SSH协议上进行远程文件拷贝的工具。scp的基本使用形式如下:

scp [-r] source_file destination_file

其中,-r参数表示递归拷贝,用于拷贝目录。

scp的用途

scp可以用于以下几种场景:

  • 在本地主机和远程主机之间复制文件和目录。
  • 在远程主机和本地主机之间复制文件和目录。
  • 在两个远程主机之间复制文件和目录,需要使用SSH隧道。
scp的使用方法
从远程主机复制文件到本地主机
scp username@remote:/path/to/remote/file /path/to/local/directory

示例:从远程主机的 /var/log/nginx/access.log 复制到本地主机 /tmp 目录下。

scp example@192.168.1.100:/var/log/nginx/access.log /tmp/
从本地主机复制文件到远程主机
scp /path/to/local/file username@remote:/path/to/remote/directory

示例:将本地主机的 /tmp/access.log 文件复制到远程主机的 /var/log/nginx/ 目录下。

scp /tmp/access.log example@192.168.1.100:/var/log/nginx/
从远程主机复制目录到本地主机
scp -r username@remote:/path/to/remote/directory /path/to/local/directory

示例:从远程主机的 /var/log/nginx/ 目录复制到本地主机 /tmp 目录下。

scp -r example@192.168.1.100:/var/log/nginx/ /tmp/
从本地主机复制目录到远程主机
scp -r /path/to/local/directory username@remote:/path/to/remote/directory

示例:将本地主机的 /tmp/nginx/ 目录复制到远程主机的 /var/log/ 目录下。

scp -r /tmp/nginx/ example@192.168.1.100:/var/log/
scp的其他常用参数
  • -P 指定远程主机的SSH端口
  • -C 开启压缩传输
  • -q 禁止显示传输进度条
  • -p 保留文件权限和访问时间
  • -v 显示调试信息
scp的安全性

scp使用SSH协议进行传输,传输过程中的所有数据都会被加密,因此是一种安全可靠的文件传输方式。但是,需要注意的是,如果SSH服务器没有开启权限限制,那么在传输过程中有可能会被攻击者截获并篡改文件。因此,我们需要在使用scp时,尽可能避免使用公共网络传输文件,或者在传输过程中做好数据加密保护。