0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用SCP和Rsync在Linux中传输文件

jf_78858299 来源:运维漫谈 作者:运维漫谈 2023-05-12 14:32 次阅读

Linux 中,有时需要将文件从一台计算机传输到另一台计算机。为了完成这个任务,有两个主要的工具可以使用:SCP 和 Rsync。本文将介绍如何使用这两个工具在 Linux 中传输文件。

SCP

SCP (Secure Copy) 是一个用于在两台计算机之间传输文件的命令行工具。它是基于 SSH (Secure Shell) 协议的,因此可以保证传输的安全性。SCP 可以使用密码或密钥进行身份验证,并支持传输单个文件或整个目录。

传输单个文件

要使用 SCP 传输单个文件,请使用以下命令:

scp source_file user@host:destination_folder
  • source_file:要传输的文件路径和名称。
  • user:远程计算机的用户名。
  • host:远程计算机的主机名或 IP 地址。
  • destination_folder:文件传输的目标文件夹。

例如,如果要将名为 file.txt 的文件从本地计算机传输到远程计算机的 /home/user/ 目录下,请使用以下命令:

scp file.txt user@remote-host:/home/user/

传输整个目录

要使用 SCP 传输整个目录,请使用以下命令:

scp -r source_folder user@host:destination_folder
  • source_folder:要传输的目录路径和名称。
  • user:远程计算机的用户名。
  • host:远程计算机的主机名或 IP 地址。
  • destination_folder:目录传输的目标文件夹。

例如,如果要将名为 folder 的目录从本地计算机传输到远程计算机的 /home/user/ 目录下,请使用以下命令:

scp -r folder user@remote-host:/home/user/

Rsync

基本语法

Rsync 的基本语法格式为:

rsync [option] source destination

其中 sourcedestination 可以是本地路径,也可以是远程路径。

常用选项

Rsync 提供了很多选项来满足不同的需求。下面列举一些常用选项:

  • -a:表示归档模式,相当于 -rlptgoD 的缩写,保留文件的所有属性,并递归地复制子目录。
  • -r:表示递归复制子目录。
  • -l:表示复制软链接而不是目标文件。
  • -p:表示保留文件权限。
  • -t:表示保留文件时间戳。
  • -g:表示保留文件所属组。
  • -o:表示保留文件所属用户。
  • -D:表示保留设备文件和特殊文件。
  • -v:表示详细输出信息
  • -z:表示压缩传输。
  • --delete:表示删除目标目录中没有源目录中的文件。

示例

本地传输

将本地目录 /home/user1/mydir 复制到本地目录 /home/user2/backup

rsync -a /home/user1/mydir /home/user2/backup

将本地目录 /home/user1/mydir 复制到本地目录 /home/user2/backup,并压缩传输:

rsync -az /home/user1/mydir /home/user2/backup

将本地目录 /home/user1/mydir 复制到本地目录 /home/user2/backup,并删除目标目录中没有源目录中的文件:

rsync -av --delete /home/user1/mydir /home/user2/backup

远程传输

将本地目录 /home/user1/mydir 复制到远程主机的目录 /home/user2/backup

rsync -av /home/user1/mydir remote_host:/home/user2/backup

将远程主机的目录 /home/user1/mydir 复制到本地目录 /home/user2/backup

rsync -av remote_host:/home/user1/mydir /home/user2/backup

将本地目录 /home/user1/mydir 复制到远程主机的目录 /home/user2/backup,并压缩传输:

rsync -az /home/user1/mydir remote_host:/home/user2/backup

将本地目录 /home/user1/mydir 复制到远程主机的目录 /home/user2/backup,并删除目标目录中没有源目录中的文件:

rsync -av --delete /home/user1/mydir remote_host:/home/user2/backup
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11219

    浏览量

    208872
  • 计算机
    +关注

    关注

    19

    文章

    7409

    浏览量

    87691
  • 传输
    +关注

    关注

    0

    文章

    153

    浏览量

    27426
  • SCP
    SCP
    +关注

    关注

    0

    文章

    29

    浏览量

    9230
收藏 人收藏

    评论

    相关推荐

    Linux命令详解之scp命令

    -6强制scp命令只使用IPv6寻址-B使用批处理模式(传输过程中不询问传输口令或短语)-C允许压缩。(将-C标志传递给ssh,从而打开压缩功能)-p 保留原文件的修改时间,访问时间和
    发表于 08-27 13:41

    Linux文件系统的如何传输

    Linux文件系统传输
    发表于 06-03 08:58

    Linux文件如何在系统传输

    Linux文件系统传输
    发表于 06-10 16:09

    linuxscp命令怎么用_linux的grep命令用法

    linuxscp命令用于Linux之间复制文件和目录,即在一台
    发表于 09-04 15:36 4401次阅读
    <b class='flag-5'>linux</b>的<b class='flag-5'>scp</b>命令怎么用_<b class='flag-5'>linux</b>的grep命令用法

    Windows与Linux之间相互传输文件的方法

    Windows与Linux之间相互传输文件,最常用的工具是使用winscp,它的原理是使用ssh协议传输文件,即通过ssh的端口
    的头像 发表于 02-11 16:25 4914次阅读

    Rsync远程数据同步工具简介

    同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快;Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试;此外,它在windows平台下也有相应的版本,如
    的头像 发表于 09-16 09:13 1057次阅读

    Rsync远程数据同步工具介绍

    同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快; Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试; 此外,它在windows平台下也有相应的版本
    的头像 发表于 09-23 10:32 1020次阅读

    如何在Linux使用Rsync命令复制和同步文件和目录

    Rsync用于两个远程计算机之间同步文件文件夹。它仅通过传输源和目标之间的差异来提供快速的增量文件传
    的头像 发表于 12-07 09:47 1.1w次阅读

    如何使用cp和rsync命令复制文件和目录

    复制文件和目录是使用命令行时最常见的任务之一。Linux,有两个命令用于复制文件cp和rsync
    的头像 发表于 12-07 17:39 6870次阅读

    如何在Linux使用rsync命令排除文件和目录

    Rsync是一种快速同步的命令行程序,用于两个计算机之间同步文件文件夹。借助Rsync,您可以镜像数据,创建增量备份。
    的头像 发表于 12-23 16:49 7525次阅读

    一篇文章学会数据备份利器rsync

    Linux系统下数据备份的工具很多,但阿铭只用一种,那就是rsync,从字面意思上可以理解为remote sync(远程同步)。rsync不仅可以远程同步数据(类似于
    的头像 发表于 01-04 14:38 627次阅读

    如何在Linux和类Unix操作系统中使用SCP安全地传输文件

    在网络上文件传输可以通过各种不同的方式和协议来完成。远程复制文件最常用的协议是 RsyncSCP 和 SFTP。
    的头像 发表于 02-23 09:25 1488次阅读
    如何在<b class='flag-5'>Linux</b>和类Unix操作系统中使用<b class='flag-5'>SCP</b>安全地<b class='flag-5'>传输</b><b class='flag-5'>文件</b>

    什么是rsync?如何安装rsync?如何恢复中断的传输

    我们都使用过 scp传输文件。当传输中途或甚至 99% 时被中断时,(每当我想起99%的
    的头像 发表于 08-24 09:16 1415次阅读

    linux系统备份与还原工具

    Linux系统备份与还原工具是用于备份和恢复Linux操作系统的工具。日常使用,备份和还原是非常重要的操作,可以帮助我们保护数据并快速恢复系统。本文将介绍一些常用的
    的头像 发表于 11-23 10:04 2547次阅读

    如何使用SCPRsync远程拷贝文件

    scp是secure copy的简写,用于Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是本机进行拷贝不能跨服务器
    的头像 发表于 09-29 15:54 331次阅读