scp 指令详细介绍

目录

[1. 基本语法](#1. 基本语法)

[2. 例子](#2. 例子)

从本地到远程

从远程到本地

从远程到远程

使用端口和指定私钥

递归复制目录

[3. 注意事项](#3. 注意事项)

如何拷贝文件的软链接


SCP(Secure Copy Protocol)是一种用于在计算机之间安全地传输文件的协议。它通过加密的方式在网络上安全地复制文件。SCP基于SSH(Secure Shell)协议,因此它提供了加密的连接和身份验证,确保数据在传输过程中的安全性。

下面是SCP指令的详细介绍:

1. 基本语法

复制代码
scp [选项] 源文件/目录 目标路径
  • 选项:
    • -r:递归复制,用于复制目录。
    • -P:指定SSH端口号。
    • -i:指定身份文件(私钥文件)。
    • -v:详细模式,显示详细的调试信息。

2. 例子

从本地到远程
复制代码
scp localfile.txt user@remote:/path/to/destination/
从远程到本地
复制代码
scp user@remote:/path/to/file.txt /local/destination/
从远程到远程
复制代码
scp user1@remote1:/path/to/sourcefile.txt user2@remote2:/path/to/destination/
使用端口和指定私钥
复制代码
scp -P 2222 -i /path/to/private_key.pem localfile.txt user@remote:/path/to/destination/
递归复制目录
复制代码
scp -r sourcedir user@remote:/path/to/destination/

3. 注意事项

  • 如果目标路径是目录,文件将会被复制到该目录中。
  • 如果目标路径包含文件名,文件将被复制并重命名为指定的文件名。
  • 使用递归选项 -r 可以复制整个目录及其内容。
  • 如果目标路径中包含空格,应该使用引号将其括起来。
  • 要连接到非标准SSH端口,可以使用 -P 选项。
  • 使用 -i 选项可以指定用于身份验证的私钥文件。

以上是基本的SCP指令用法,具体使用时,请根据你的实际情况调整参数。

如何拷贝文件的软链接

在SCP命令中,主要用于控制文件复制行为的参数是有限的,通常用来控制连接的选项、递归复制等。对于软链接(Symbolic Link)的处理,SCP默认会将软链接解析为实际文件进行传输,而不是复制软链接本身。

在传输软链接时,实际上会将链接指向的文件复制到目标位置,而不会在目标位置创建一个新的软链接。这是SCP默认的行为,因此目标位置会包含原始文件的内容而不是软链接。

如果你想要保留软链接的形式,可以使用rsync命令,它具有更多的灵活性,并且可以通过一些参数来控制软链接的处理。以下是一个例子:

复制代码
rsync -avl source/ user@remote:/path/to/destination/

这里的参数含义是:

  • -a:递归复制并保持文件属性。
  • -v:详细模式,显示详细的调试信息。
  • -L:保留软链接的形式,而不是复制链接指向的文件。

请注意,rsync可能需要在系统中安装,你可以使用系统包管理器安装它,例如在Ubuntu上使用sudo apt-get install rsync

相关推荐
键盘鼓手苏苏2 小时前
Flutter for OpenHarmony:markdown 纯 Dart 解析引擎(将文本转化为结构化 HTML/UI) 深度解析与鸿蒙适配指南
前端·网络·算法·flutter·ui·html·harmonyos
阿寻寻7 小时前
【云原生技术】API 网关主动探测的通常是“域入口”(srpcgw),不是直接探测后端 Pod,也不是通过 srpcsrv/Consul 来判域健康
网络·云原生·consul
时光书签8 小时前
概念理解:磁盘、磁盘分区、文件系统、挂载点、目录
网络·硬件架构
daad7778 小时前
USB_抓包
linux·运维·服务器
诚丞成8 小时前
指引代码方向的恒星:在代码的诗行中徜徉,Git工具的深邃与魅力
linux
道亦无名9 小时前
aiPbMgrSendAck
java·网络·数据库
未来之窗软件服务9 小时前
服务器运维(四十)日服务器linux-ps分析工具—东方仙盟
linux·运维·服务器·服务器运维·仙盟创梦ide·东方仙盟
c++逐梦人9 小时前
ELF文件和动态链接与动态库加载
linux·操作系统·进程
大尚来也10 小时前
跨平台全局键盘监听实战:基于 JNativeHook 在 Java 中捕获 Linux 键盘事件
java·linux
代码改善世界10 小时前
C语言项目实战:学生成绩管理系统(支持登录注册、随机考试、分数区间统计)
c语言·网络·课程设计