Linux中的scp 如何使用

scp(Secure Copy Protocol)是一个用于在不同计算机之间安全地传输文件的命令行工具。它基于 SSH(Secure Shell)协议,因此传输过程是加密的。以下是一些常见的 scp 用法示例:

基本语法

bash 复制代码
scp [options] source_file destination

常见的用法示例

  1. 从本地复制文件到远程服务器

    bash 复制代码
    scp /path/to/local/file username@remote_host:/path/to/remote/directory

    示例:

    bash 复制代码
    scp /home/user/file.txt user@192.168.1.2:/home/user/
  2. 从远程服务器复制文件到本地

    bash 复制代码
    scp username@remote_host:/path/to/remote/file /path/to/local/directory

    示例:

    bash 复制代码
    scp user@192.168.1.2:/home/user/file.txt /home/localuser/
  3. 从本地复制目录到远程服务器 (使用 -r 选项递归复制目录):

    bash 复制代码
    scp -r /path/to/local/directory username@remote_host:/path/to/remote/directory

    示例:

    bash 复制代码
    scp -r /home/user/directory user@192.168.1.2:/home/user/
  4. 从远程服务器复制目录到本地 (使用 -r 选项递归复制目录):

    bash 复制代码
    scp -r username@remote_host:/path/to/remote/directory /path/to/local/directory

    示例:

    bash 复制代码
    scp -r user@192.168.1.2:/home/user/directory /home/localuser/

常用选项

  • -P port:指定连接的端口号(默认是 22)。

    bash 复制代码
    scp -P 2222 /path/to/local/file username@remote_host:/path/to/remote/directory
  • -i identity_file:指定用于身份验证的私钥文件。

    bash 复制代码
    scp -i /path/to/private_key /path/to/local/file username@remote_host:/path/to/remote/directory
  • -C:启用压缩。

    bash 复制代码
    scp -C /path/to/local/file username@remote_host:/path/to/remote/directory

注意事项

  1. SSH 配置scp 使用 SSH 进行连接,因此你需要确保远程服务器上已经配置了 SSH 并且你有正确的访问权限。
  2. 权限问题:确保你在目标目录有写权限,否则会导致传输失败。
  3. 网络连接:确保本地计算机和远程服务器之间的网络连接正常。

总结

scp 是一个强大且易于使用的工具,用于在不同计算机之间安全地传输文件。通过掌握基本的语法和常见选项,你可以高效地进行文件传输操作。

相关推荐
梅见十柒2 分钟前
wsl2中kali linux下的docker使用教程(教程总结)
linux·经验分享·docker·云原生
Koi慢热6 分钟前
路由基础(全)
linux·网络·网络协议·安全
传而习乎16 分钟前
Linux:CentOS 7 解压 7zip 压缩的文件
linux·运维·centos
soulteary17 分钟前
突破内存限制:Mac Mini M2 服务器化实践指南
运维·服务器·redis·macos·arm·pika
我们的五年25 分钟前
【Linux课程学习】:进程程序替换,execl,execv,execlp,execvp,execve,execle,execvpe函数
linux·c++·学习
爱吃青椒不爱吃西红柿‍️1 小时前
华为ASP与CSP是什么?
服务器·前端·数据库
IT果果日记1 小时前
ubuntu 安装 conda
linux·ubuntu·conda
Python私教1 小时前
ubuntu搭建k8s环境详细教程
linux·ubuntu·kubernetes
羑悻的小杀马特1 小时前
环境变量简介
linux
小陈phd2 小时前
Vscode LinuxC++环境配置
linux·c++·vscode