Slackware 中文手册
  • 翻译说明
    • 贡献力量
  • 前言
    • 目标读者
    • 为什么会有一版新的 Slackware 手册?
    • 本书中使用的约定
    • 致谢
  • Slackware 介绍
    • 为何使用 Slackware?
    • 与其他 Linux 发行版的差异
    • 许可
  • 安装
    • 从安装介质启动
    • 分区
    • 安装程序
      • Help
      • Keymap
      • Addswap
      • Target
      • Source
      • Select
      • Install
      • Configure
  • 引导
    • mkinitrd
    • LILO
    • 多重引导
      • 引导多个分区
      • 引导多个硬盘
  • 基本 Shell 命令
    • 系统文档
    • 处理文件和目录
      • 列出文件和目录内容
      • 在文件系统中移动
      • 文件和目录的创建与删除
    • 归档和压缩
      • zip、unzip
      • gzip
      • bzip2
      • XZ、LZMA
      • tar
    • 阅读文档
      • more
      • less
    • 链接
  • Bourne Again Shell
    • 什么是 Shell?
    • 环境变量
    • 通配符
    • TAB 键补全
    • 输入、输出重定向
    • 任务管理
    • 终端
    • 制定
  • 进程控制
    • ps
    • kill 和 killall
    • top
    • 计划任务
  • X 视窗系统
    • X 是什么?
    • 配置 X 服务器
    • 选择窗口管理器
    • 设置图形界面登陆
  • 打印
    • 选择打印程序
    • 获取驱动
    • 在 CUPS 中设置打印机
    • 从命令行打印
      • 打印格式化数据
  • 用户和组
    • 用户和组是什么?
    • 管理用户和组
    • 管理用户和组的其他工具
    • 手动管理用户和组
  • 文件系统权限
    • 权限概述
    • chmod、chown 和 chgrp
    • SUID、SGID 和粘滞位
  • 使用文件系统
    • 文件系统的层次
    • 本地文件系统类型
      • ext2
      • ext3
      • ext4
      • reiserfs
      • XFS
      • JFS
      • iso9660
      • vfat
      • swap
    • 使用 mount 指令
    • 网络文件系统
      • NFS
      • SMB
  • vi
    • vi 是什么?
    • vi 的不同模式
    • 打开、保存和退出
    • 移动光标
    • 编辑文本
    • vi 小纪
  • Emacs
    • Emacs 是什么?
    • 起步
    • 移动光标
    • 获得帮助
    • 调用函数
    • Emacs 小纪
  • 网络
    • netconfig
    • 手动配置
    • 使用 rc.inet1.conf 自动配置网络
  • 无线网络
    • iwconfig
    • 有线等(无)效保密
    • Wifi 登陆保护
      • 再看 rc.inet1.conf
    • wicd
  • 基本网络工具
    • 网络诊断工具
      • ping
      • traceroute
      • telnet
      • ssh
      • tcpdump
      • nmap
      • host
      • dig
      • finger
    • 网页浏览器
      • lynx
      • links
      • wget
    • 邮件客户端
      • pine
      • mutt
      • mailx
    • FTP 客户端
      • ftp
      • ncftp
      • lftp
    • rsync
  • 包管理
    • pkgtool
    • 软件包的安装、移除和升级
    • 软件包的压缩格式
      • slackpkg
      • rpm2tgz
  • 追踪系统更新
    • 稳定分支
    • 订阅安全更新邮件列表
    • 升级 Slackware 版本
  • Linux 内核
    • 内核是做什么的?
    • 设置内核模块
    • 编译以及为什么要编译内核
由 GitBook 提供支持
在本页

这有帮助吗?

在GitHub上编辑
  1. 基本网络工具

rsync

你准备好看一些很酷的东西了吗?你是否遇到过需要把服务器上一个巨大的目录中改变的内容下载下来,却不知道你需要下载哪些文件?你可以重新下载整个目录,但是那样会做很多重复的工作;你也可以手动比较并选择下载,但是这样非常繁琐。也许你已经下载了一个大文件,如光盘镜像,但是仅仅只要出现了几个字节的错误,你就不得不重新下载整个文件,这并不合理不是吗?让我们开始使用 rsync(1),一个快速而灵活的远程文件同步工具。

rsync 使用一些简单有效的技术来检查服务器上哪些内容发生了改变。通过检查时间戳和大小,rsync 可以确定两个文件是否不同,如果文件一些信息发生了变化,它可以确定文件哪些字节发生了改变。并直接下载改变的部分而不是整个文件,这是现代技术的奇迹。

在最简单的使用情景下,rsync 连接到rsync协议服务器下载文件和目录信息,包括时间戳和大小等信息。然后,rsync 会将此和本地文件比较(如果有的话),以确定它需要传输的文件。另外,它把大文件分解成小块,并且使用一个简单快速的哈希函数进行比较,只有不匹配的块才会被同步,因此同步的数据量大大减少。 rsync 也支持压缩、详细输出、文件删除、权限管理以及更多可选的选项。如果需要一个完整的列表,你可以查看手册。在此,我们列出了一些常用的选项。

Table 1.6 rsync Arguments

选项
说明

-v

更详细的输出

-c

通过校验和检查每个文件而不是时间戳和大小

-a

归档模式(与-rlptgoD 相同)

-e

使用指定的远程 shell

-r

递归模式

-u

更新模式-跳过时间戳更新的本地文件

-p

保留权限信息

-n

测试运行,不更改任何数据

-z

压缩-方便低速的网络环境

rsync 的强大功能还在于能通过不同的方式调用。下面的两个例子使用 rsync 连接到rsync协议的服务器检索一些信息,然后使用ssh传输到另一台服务器。

darkstar:~# rsync -avz rsync://ftp.osuosl.org/pub/slackware/slackware-current/ \
/src/slackware-current/
darkstar:~# rsync -e ssh ftp.slackware.com:/home/alan/foo /tmp/foo
上一页lftp下一页包管理

最后更新于1年前

这有帮助吗?