0

0

CentOS6.5怎么复制_CentOS 6.5文件复制与远程传输命令教程

看不見的法師

看不見的法師

发布时间:2025-09-03 13:44:01

|

950人浏览过

|

来源于php中文网

原创

答案:CentOS 6.5中文件复制与传输主要依赖cp、scp和rsync命令。cp用于本地复制,支持递归复制、属性保留等选项,需注意误覆盖和权限问题;scp基于SSH实现安全远程传输,支持压缩和端口指定,但无断点续传;rsync则在增量同步、带宽控制、排除过滤等方面优势明显,特别适合大量或频繁变更的文件传输场景。

centos6.5怎么复制_centos 6.5文件复制与远程传输命令教程

在CentOS 6.5中,文件复制和远程传输主要通过几个核心命令实现。本地文件复制我们通常会用到

cp
命令,它功能强大且灵活。而涉及不同服务器之间的文件传输,
scp
rsync
则是我们的首选工具,它们各自在安全性、效率和功能上有着不同的侧重。

解决方案

本地文件复制:

cp
命令

cp
命令是CentOS 6.5中最基本的本地文件复制工具。它的基本用法非常直观:

  • 复制文件:
    cp 源文件 目标文件

    例如:

    cp /etc/fstab /tmp/fstab.bak

  • 复制目录: 当需要复制整个目录及其内容时,必须使用
    -r
    (recursive,递归)选项。
    cp -r 源目录 目标目录

    例如:

    cp -r /var/log/nginx /tmp/nginx_logs

  • 常用选项:
    • -i
      (interactive):在覆盖已存在文件前进行提示,这是个好习惯,能避免误操作。
    • -p
      (preserve):保留源文件的属性,如修改时间、访问权限等。
    • -a
      (archive):相当于
      -dR --preserve=all
      ,通常用于备份,它会保留文件所有属性,并复制符号链接的源文件而非链接本身。
    • -u
      (update):只复制源文件比目标文件新,或目标文件不存在的情况。
    • -v
      (verbose):显示复制过程中的详细信息。

远程文件传输:

scp
rsync
命令

1.

scp
(Secure Copy) 命令

scp
基于SSH协议,因此它在传输过程中是加密的,非常安全。它适用于简单的远程文件或目录传输。

  • 从本地复制到远程:
    scp 源文件 用户名@远程主机IP:/目标路径

    例如:

    scp /tmp/my_script.sh user@192.168.1.100:/home/user/scripts/
    复制目录:

    scp -r 源目录 用户名@远程主机IP:/目标路径

    例如:

    scp -r /var/www/html user@192.168.1.100:/opt/web_backup/

  • 从远程复制到本地:
    scp 用户名@远程主机IP:/源文件 本地目标路径

    例如:

    scp user@192.168.1.100:/etc/httpd/conf/httpd.conf /tmp/
    复制目录:

    scp -r 用户名@远程主机IP:/源目录 本地目标路径

    例如:

    scp -r user@192.168.1.100:/var/log/nginx /tmp/remote_nginx_logs

  • 指定端口: 如果SSH服务运行在非标准端口,需要使用
    -p
    选项(注意是大写P)。
    scp -P 2222 源文件 用户名@远程主机IP:/目标路径

2.

rsync
命令

rsync
是一个功能更强大的文件同步和传输工具,尤其擅长处理大量文件、增量备份和保持文件一致性。它的核心优势在于“增量传输”——只传输文件发生变化的部分。

  • 基本用法(本地到远程):
    rsync -avz 源路径/ 用户名@远程主机IP:/目标路径/
    • -a
      (archive):归档模式,等同于
      -rlptgoD
      ,保留文件所有属性(权限、时间、组等),并递归复制。
    • -v
      (verbose):显示详细输出。
    • -z
      (compress):传输过程中压缩数据。
    • 注意源路径和目标路径末尾的
      /
      :如果源路径以
      /
      结尾,表示复制目录内的内容;如果不带
      /
      ,则复制目录本身。
  • 从远程到本地:
    rsync -avz 用户名@远程主机IP:/源路径/ 本地目标路径/
  • 常用选项:
    • --delete
      :删除目标路径中源路径不存在的文件,用于保持两边完全同步。
    • --exclude=PATTERN
      :排除符合PATTERN的文件或目录。
    • --progress
      :显示传输进度。
    • --dry-run
      -n
      :模拟传输过程,不实际执行,用于检查命令是否正确。
    • --bwlimit=KBPS
      :限制带宽,单位为KB/s。

CentOS 6.5中,使用
cp
命令复制文件有哪些实用技巧和常见陷阱?

cp
命令虽然基础,但用起来也有不少门道。我个人觉得,最实用的技巧就是善用它的各种选项来避免一些不必要的麻烦。

首先,

cp -i
这个选项,我强烈建议你养成习惯。我记得有一次,就是没注意用
-i
,直接把一个重要配置文件给覆盖了,那会儿真是一头汗,因为那个配置文件是手动调整了很久的,没有备份。加上
-i
,至少在覆盖前它会问你一句,给你个反悔的机会。

另外,

-a
(archive)模式在备份时特别好用。它会保留文件所有属性,包括权限、修改时间、所有者和组。这对于系统配置文件或者Web服务器文件来说,至关重要。你总不希望复制过去的文件因为权限不对导致服务起不来吧?比如,你想备份
/etc/nginx
目录到
/tmp

cp -a /etc/nginx /tmp/nginx_backup

这样复制出来的

/tmp/nginx_backup
目录,里面的文件和原目录的文件权限、所有者等都保持一致,省去了后续手动调整的麻烦。

百度智能云·曦灵
百度智能云·曦灵

百度旗下的AI数字人平台

下载

至于常见陷阱,除了上面提到的误覆盖,权限问题也是一个大坑。特别是当你以

root
用户复制文件,然后期望普通用户能访问或修改时,如果源文件的权限设置不当,或者目标目录的
umask
值导致新文件的权限不符合预期,就可能出现问题。复制后,可能还需要手动使用
chown
chmod
来调整目标文件的所有者和权限。

还有一个小点,就是符号链接(symbolic link)。默认情况下,

cp
会复制符号链接所指向的实际文件内容。但如果你想复制的是符号链接本身,而不是它指向的内容,你需要使用
-p
--no-dereference
选项。这在处理一些复杂的配置结构时,可能会有影响。

如何利用
scp
命令在CentOS 6.5系统间安全高效地传输文件?

说起

scp
,我个人觉得它最大的魅力就是“开箱即用”的安全性,不用像FTP那样额外配置一堆东西。只要两台机器都能SSH连接,
scp
就能工作。在CentOS 6.5这种老版本系统上,它的稳定性和兼容性更是没得说。

要安全高效地传输,有几个点需要注意:

安全性方面:

scp
本身就是基于SSH的,所以数据传输是加密的,安全性没得说。但更进一步,你可以使用密钥对认证来代替密码认证。这不仅更安全,也更方便自动化。

  1. 生成SSH密钥对: 在你的本地机器上(通常是你要发起传输的机器)执行
    ssh-keygen
  2. 将公钥复制到远程主机: 使用
    ssh-copy-id
    命令,或者手动将
    ~/.ssh/id_rsa.pub
    的内容添加到远程主机的
    ~/.ssh/authorized_keys
    文件中。
    ssh-copy-id user@remote_host_ip

    这样,你就可以在不输入密码的情况下使用

    scp
    了。如果你的私钥不在默认位置,或者有多个私钥,可以用
    -i
    选项指定:

    scp -i ~/.ssh/my_custom_key.pem /local/file user@remote_host:/remote/path

效率方面:

  1. 压缩传输: 使用
    -C
    选项可以在传输过程中启用压缩。这对于文本文件或可压缩性好的数据非常有效,能显著减少传输时间,尤其是在网络带宽有限的情况下。
    scp -C /large/text/file.log user@remote:/tmp/
  2. 保留文件属性:
    -p
    选项(preserve)可以保留源文件的修改时间、访问时间和权限。这在同步文件或备份时很有用,可以避免目标文件因为时间戳改变而触发不必要的后续操作。
    scp -p /etc/hosts user@remote:/tmp/
  3. 大文件传输中断与续传:
    scp
    本身并没有内置的续传机制。如果传输大文件时网络中断,你需要重新开始。在这种情况下,
    rsync
    会是更好的选择,因为它能够识别已传输的部分并从中断处继续。但对于一般的单个文件传输,
    scp
    的简洁性依然是它的优势。

总的来说,

scp
就像一个可靠的邮差,点对点地把你的文件安全送达。对于日常的、不太频繁的远程文件操作,它是非常趁手的工具。

在CentOS 6.5环境下,
rsync
相比
cp
scp
有哪些独特优势,尤其是在处理大量或增量文件传输时?

老实说,一开始我只知道

cp
scp
,直到有一次需要同步一个几十G的日志目录,每次都全量复制简直是噩梦。后来同事推荐了
rsync
,简直是打开了新世界的大门。
rsync
的独特优势,尤其是在CentOS 6.5这种可能资源相对有限的环境下,体现得淋漓尽致。

1. 增量传输(Delta Transfer Algorithm): 这是

rsync
最核心也是最强大的功能。它不是简单地复制整个文件,而是比较源文件和目标文件,只传输两者之间不同的部分(数据块)。这意味着:

  • 极大减少传输量: 如果你有一个1GB的文件,只修改了其中几行,
    rsync
    可能只需要传输几KB甚至几字节的数据,而不是重新传输整个1GB。这对于网络带宽和传输时间来说,是巨大的节约。
  • 断点续传的“变种”: 虽然
    rsync
    没有传统意义上的断点续传(比如FTP客户端那种),但它的增量特性使得即使传输中断,再次运行命令时,它也能快速识别已传输的部分,并从上次中断的地方继续同步,这在实际操作中非常实用。

2. 灵活的同步和备份能力:

rsync
不仅仅是复制,它更侧重于“同步”。

  • 单向同步: 可以轻松实现从源到目标的单向同步,确保目标目录与源目录内容一致。
  • 删除目标多余文件: 结合
    --delete
    选项,
    rsync
    可以删除目标目录中源目录不存在的文件,这对于保持两个目录的完全一致性非常关键,比如网站内容的部署或镜像同步。
  • 排除文件/目录: 通过
    --exclude
    --exclude-from
    选项,你可以精确控制哪些文件或目录不参与同步,这在备份时排除日志、缓存等临时文件非常有用。

3. 效率与资源控制:

  • 带宽限制:
    rsync --bwlimit=KBPS
    允许你限制传输速度,避免传输任务占用所有网络带宽,影响其他服务的正常运行。这在生产环境中尤为重要。
  • Dry Run模式: 使用
    -n
    --dry-run
    选项,
    rsync
    会模拟执行同步过程,但不会实际修改任何文件。这让你可以在执行前检查命令是否会产生预期结果,避免误操作。

cp
scp
的对比:

  • cp
    相比:
    cp
    是本地文件操作的王者,简单直接。但它没有增量传输能力,每次都是全量复制。当处理大量文件或目录,且这些文件经常有小幅改动时,
    rsync
    的效率远超
    cp
  • scp
    相比:
    scp
    在远程传输单个文件或少量文件时非常方便,它的语法简洁。但
    scp
    也是全量传输,且缺乏
    rsync
    的同步、排除、带宽限制等高级功能。对于需要持续同步、增量备份或处理复杂远程同步场景,
    rsync
    是更优解。

所以,如果你只是偶尔复制一两个文件,

cp
scp
足够了。但如果你需要进行系统级的备份、服务器之间的数据同步、或者管理大型项目的文件部署,
rsync
绝对是你的首选,它能帮你省下大量的时间和精力。

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

229

2023.07.27

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

496

2023.08.04

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

498

2023.08.04

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

227

2024.02.23

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

333

2024.07.09

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

3508

2024.08.07

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

7

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

9

2026.01.13

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

36

2026.01.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Rust 教程
Rust 教程

共28课时 | 4.4万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号