复习之linux系统中的文件传输

news2024/11/24 19:31:50

一、实验环境设定

本节实验需要两台虚拟机,ip与主机在同一网段,可实现ssh连接!

1.创建虚拟机westosb

因为之前实验已存在一台虚拟机westosa,因此还需创建一台虚拟机westosb!

使用# westos-vmctl   create  westosb  创建虚拟机出错,如下所示,还未解决!

只能用原始方法创建westos虚拟机! 详细步骤如下:

选择镜像!首先保证镜像存在!路径正确!

 

选择虚拟机内存大小和cpu个数,默认就可以!

 

选择第一个,下载系统!

接着配置系统特性!

注意:最小是无图形的系统,如果需要图形,选择最后一个 GUI!

到此虚拟机westosb创建成功!

2.配置westosb实现ssh连接

首先配置westosb的网络!添加ip:172.25.254.80,跟上次实验配置一致!

# nm-connection-editor

利用 # ifconfig  查看ip是否添加成功!出现ip即成功!

别忘了设置网桥模式!

 利用ping测试ip配置,真机和westosa都能ping通!成功!

修改westosa westosb虚拟机名,做实验方便!

# hostnamectl   set-hostname  westosa.westos.org

westosa--->westosa.westos.org

westosb---->westosb.westos.org

真机ssh连接westosa,westoab!成功!

 3.清空文件还原初始样

在两台虚拟机上清空.ssh/文件,方便实验!

# rm  -fr   .ssh/

 二、scp命令详解

1.scp命令

 scp (secure copy:安全复制) 可以实现远程主机之间的文件/目录复制!具体命令如下:

(1) 把远程文件复制到本地(下载)

# scp   root@172.25.254.80:/mnt/*    /mnt  :以root用户的身份复制172.25.254.80主机的/mnt目录下的所有文件到本机的/mnt目录下

# scp   -q   root@172.25.254.80: /mnt/*   /mnt : 传输文件时不显示进度

# scp   -r   root@172.25.254.80: /mnt/*  /mnt :  传输文件和目录

 (2)把本地文件复制到远程主机(上传)

# scp   hgxfile{1..3}   root@172.25.254.80: /mnt : 把本地的文件传输到80主机的/mnt目录下

# scp  -r  hgxdir/ root@172.25.254.80 : /mnt :上传目录

# scp -q hgxfile{1..3}   root@172.25.254.80:/mnt :不显示传输进度

2. 实验

(1)清空westosa,westosb /mnt目录下的文件

利用 rm 命令即可,但是清空westosa时遇到了问题!root用户也无法删除,

后来想起是上次实验设置了attr权限,关闭权限即可!

 (2)把远程文件复制到本地(下载)

首先在westosb上/mnt目录下建立一些文件

在westosa主机上如何获取这些文件?利用scp命令,将远程文件复制到本地

ps:第一次传输文件需要认证,后面就不需要了!

在westosb中mnt目录建立一个目录

 此时在westosa再次利用上次的命令下载文件,显示目录无法下载!文件仍然可以下载!

因此传输目录时,必须加 -r  ,表示递归的意思!

如果 不想显示传输进度,加-q 即可!

 (3)把本地文件复制到远程主机(上传) 

在westosa上建立一些文件,上传到westosb上!

上传文件到westosb!

westosb收到文件!

 

 上传目录到westosb!

westosb收到目录!

 

不显示传输进度!

 

 三、rsync命令详解

rsync(Remote synchronization:远程同步)作用是远程文件/目录同步,与scp的不同是rsync会检测已存在的文件,不再传输,只会传输不存在的文件!因此所用时间短!

1.rsync命令

(1)基本用法

# rsync   文件     远程用户@远程主机ip:远程主机目录 :上传文件

# rsync  远程用户@远程主机ip:远程主机目录  文件路径 :下载文件

(2)其他参数

参数含义
-r复制目录
-l复制链接
-p复制权限
-t复制时间戳
-o复制拥有者
-g复制拥有组
-D复制设备文件

2.实验

(1)在westosb上建立实验素材

(2) 在westosa主机复制目录

#  rsync   -r   root@172.25.254.80:/mnt    /mnt/ :下载整个mnt目录

#rsync   -r   root@172.25.254.80:/mnt/   /mnt/ :下载mnt目录里面的内容不包括mnt目录本身

ps:默认情况 不复制链接。

 (3) 在westosa主机复制链接

# rsync   -lr   root@172.25.254.80:/mnt/   /mnt/ : -l  复制链接

 (4) 在westosa主机复制文件的权限

# rsync    -plr   root@172.25.254.80:/mnt/    /mnt/ :-p复制权限

 (5) 在westosa主机复制文件的所有者

# rsync  -oplr  root@172.25.254.80:/mnt/   /mnt/ : -o 复制文件的所有者

  (6) 在westosa主机复制文件的所有组

# rsync    -goplr   root@172.25.254.80:/mnt/     /mnt/ : -g 复制文件的所有组

  (7) 在westosa主机复制文件的时间戳

#   rsync   -tgoplr  root@172.25.254.80:/mnt/   /mnt/ : -t 复制时间戳

  (8) 在westosa主机复制字符设备

#  rsync  -r  root@172.25.254.80:/dev/pts/   /mnt/ :默认情况无法复制字符设备

#  rsync   -Dr   root@172.25.254.80:/dev/pts/   /mnt/ :-D复制字符设备

 四、tar归档命令详解

1.tar命令

归档,把多个文件整和在一起,常常用在备份上面,本身不具备压缩功能,但是可以指定其他压缩功能去压缩。

2.常用命令选项

命令含义
c创建归档文件
f指定文件
x解档
v显示过程
t查看归档文件
r向归档文件中添加文件
P不把绝对路径转换为相对路径,慎用!!
--get解档指定文件
--delete删除指定文件
-C指定解档路径

3.实验

当传输文件比较大时,scp传输时间就会很慢!

(1)下载etc文件到westosa主机上

# scp   -r   root@172.25.254.80:/etc/   /mnt

ps:传输的太慢了,因此可以利用归档tar,先归档在传输

 (2)创建归档文件:c

# tar  cf  etc.tar  /etc/ :将/etc/文件归档

  (3)查看归档文件:t

# tar tf etc.tar :查看归档文件

   (4)传输归档文件

# scp  -r  root@172.25.254.80:/mnt/etc.ta   /mnt

(5)解档文件 :   x

归档文件传输后,解档即可获得原文件!

#  tar   xf   etc.tar : 解档文件

(6)显示过程:v

归档和解档都不显示过程,如果想显示过程需要加v

# tar   cfv   etc.tar   /etc/ :显示归档过程

 #  tar  xfv  etc.tar :显示解档过程

 (7)向归档文件中添加文件 : r

# tar   rf  etc.tar   westos :将westos文件添加到归档文件中

查看归档文件,westos文件添加成功!

(8)解档指定文件:--get

当归档文件含有多种文件,解档时会分开全部解开,此时可以利用--get解档指定文件

# tar   f   etc.tar  --get   westos : 只解档westos文件!

(9)删除指定文件:--delete

# tar   f   etc.tar    --delete   westos :删除westos文件

 

(10)指定解档路径: -C

默认文件解档时在当前目录,-C可以指定解档目录

# tar   xf   etc.tar   -C   /opt/ : 指定解档目录为opt

 (11)不把绝对路径转换为相对路径: P (慎用!!)

一般默认解档在当前目录,所以用的是相对路径!自动把路径前的  "  /  "  号去掉!!

加了 P后,不再把绝对路径转换为相对路径,所以会解档在绝对路径中,会覆盖原本的内容,慎用!!!

# tar  Pxf   opt.tar :将文件解档在/opt目录中,而不是/mnt/opt

 (12) tar归档命令不具备压缩能力

# du  -sh  /mnt/etc.tar : 查看归档文件大小

# du  -sh  /etc :查看原文件大小

ps: 两者相差的是重复文件,tar没有压缩能力

 五、文件的压缩

1.文件压缩命令

Linux 系统中经常用来对文件进行压缩和解压缩的命令:zip,  gzip, bzip2, xz!

ps:  必须先将文件归档在进行压缩!

2.命令使用方法

(1) zip压缩

首先将/etc文件归档,归档后利用zip压缩!

# zip  etc.tar.zip   etc.tar :将归档文件etc.tar压缩为zip文件

# du   -sh   etc.tar.zip :查看压缩文件的大小

# unzip   etc.tar.zip : 解压文件

 (2)gzip 压缩

# gzip   etc.tar : 压缩归档文件

 # gunzip   etc.tar.gz:解压文件

 (3) bzip2 压缩

# bzip2   etc.tar : 压缩文件

# bunzip2   etc.tar.bz2 :解压文件

 

 (4) xz 压缩

# xz   etc.tar:压缩文件

 

# unxz  etc.tar.xz :解压文件

 六、tar+压缩一步完成

1.支持tar+压缩的命令

上节介绍了四种压缩命令,但是必须先归档再压缩,很麻烦!

因此我们可以归档压缩一步完成,支持一步完成的命令只有3种:

(1)gzip

tar  zcf    etc.tar.gz   /etc : 归档压缩
tar   zxf   etc.tar.gz :解压

(2) bzip2

tar   jcf   etc.tar.bz2    /etc : 归档压缩
tar    jxf    etc.tar.bz2 :解压

(3) xz

tar   Jcf    etc.tar.xz   /etc :归档压缩
tar   Jxf   etc.tar.xz:解压

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/616771.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个软件测试工程师的岗位职责

其实软件测试入门并不难 我们自己生活中就有接触过很多跟软件测试相关的操作。而要是从事软件测试的工作,就是需要对软件进行更加系统的测试,并把你所测试的东西进行归纳总结,对软件整个使用和运行情况做一个系统、规范的报告。 软件测试的学…

初识哈希表

哈希表 1.引入2.哈希思想3.哈希技术的三个关键问题3.1 哈希表容量的设计3.2 哈希技术关键之二:哈希函数哈希函数构造方法哈希函数示例:线性函数哈希函数示例:除留余数法 3.3 哈希技术关键之三:解决冲突策略开放定址法开放定址法——线性探测法…

路径规划算法:基于动物迁徙优化的路径规划算法- 附代码

路径规划算法:基于动物迁徙优化的路径规划算法- 附代码 文章目录 路径规划算法:基于动物迁徙优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化…

C#实例:多功能Windows窗体应用程序Helloworld_WinForm

有了创建一个Windows窗体应用程序的经验,就可以开始尝试运用更多的控件实现更多丰富的功能界面。以下分享我基于项目Helloworld_WinForm使用常用C#Windows窗体控件实现一些小功能。 每一节标题为所用到的控件,全文以实际制作过程为序编制。 目录 WinFor…

Explorer.exe系统错误,电脑重启后刚开始一段时间正常,过一会桌面任务栏就卡死,可以打开任务管理器

环境: 联想E14 Win10专业版 问题描述: 1.重启系统后刚开始一段时间点击任务栏正常,过一会桌面任务栏就卡死,可以打开任务管理器,任务管理器查看shell infrastructure占用cpu比较多,网上说是微软图片查看软件导致,重置改了默认照片查看器,恢复这个应该不是主要原因 …

数组题目总结 -- 随机数问题

目录 一. O(1) 时间插入、删除和获取随机元素思路和代码:I. 博主的做法II. 东哥的做法III. 其他做法 二. 黑名单中的随机数思路和代码:I. 博主的做法II. 东哥的做法 一. O(1) 时间插入、删除和获取随机元素 题目链接:https://leetcode.cn/pr…

如何提升邮件点击率?诀窍速递

相比邮件的打开率,邮件点击率可以更好地评估邮件营销的表现,帮助营销人员评估营销活动是否有帮助推动销售、培养潜在客户或提升品牌知名度等。如何更好地提升电子邮件的点击率,本文6个小贴士来助力。 这里给大家推荐一站式客服系统SaleSmartl…

芒种忙什么呢?当然是抢个中国人民大学与加拿大女王大学金融硕士项目的入学名额了

今日是农历的芒种,大家都在忙什么呢?“芒种”一词最早出自《周礼》中的“泽草所生,种之芒种。”其中“芒”指的是在阳光照耀下如波浪般摇摆的麦芒,表明此时已经成熟可以收割了。而“种”则代表稻谷,这时候是种稻谷的最…

066:cesium flyto一个具体的点位置

第066个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中设置飞行定位功能,如果你知道位置的经纬度和高度,你可以使用相机的 flyTo 函数直接飞到 CesiumJS 中的那个位置。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式…

【数据存储:揭开内存中数据存储的神秘面纱】

本节重点 -- 重中之重 数据类型详细介绍 整形在内存中的存储:原码、反码、补码 大小端字节序介绍及判断 浮点型在内存中的存储解析 准备好了,开始啰,在小小的花园里面......最近被这个歌曲洗脑,但是我们并不是要唱歌,而…

分布式数据库HBase

大数据基础-分布式数据库HBase 概述HBase简介HBase与传统关系数据库的对比分析 HBase数据模型数据模型概述数据模型相关概念数据坐标 HBase的实现原理HBase功能组件表和RegionRegion的定位HBase框架结构HMasterRegionServerHBase协作组件RegionColumnFamilyKeyValue小结 HBase运…

Vue基础第四篇

一、计算属性 计算属性是基于它们的依赖进行缓存的 计算属性只有在它的相关依赖发生改变时才会重新求值 计算属性就像Python中的property&#xff0c;可以把方法/函数伪装成属性 1.通过计算属性实现名字首字母大写 <!DOCTYPE html> <html lang"en">…

k8s入门(三)之StatefulSet、Service、Ingress

一、StatefulSet操作 – 1、初体验 可以发现等待前一个启动好了&#xff0c;在启动下一个&#xff0c;因此容器的健康检查失败也会影响启动 域名&#xff1a;web-2.nginx.default.svc.cluster.local,一般写到web-2.nginx.default就可以了 [rootmaster01 ~]# cat ssweb.yaml a…

2023 年 10 个最佳 Java IDE 和编辑器

集成开发环境或 IDE 是构建软件项目所需的最关键部分之一。它们使开发变得简单高效。 IDE 通过缩短设置时间、加速开发任务、让开发人员了解最新的危险和最佳实践以及标准化开发过程以便任何人都可以参与来提高开发人员的生产力。 IDE 还可以帮助重构开发过程。它们使程序员能…

HTTP请求报文解剖

HTTP请求报文解剖 HTTP请求报文由3部分组成&#xff08;请求行请求头请求体&#xff09;&#xff1a; 下面是一个实际的请求报文&#xff1a; ①是请求方法&#xff0c;GET和POST是最常见的HTTP方法&#xff0c;除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。不过&#…

Thread 类基本用法详解

Thread 类基本用法详解 Thread类的作用线程创建继承 Thread, 重写 run实现 Runnable, 重写 run继承 Thread, 重写 run, 使用匿名内部类实现 Runnable, 重写 run, 使用匿名内部类使用 lambda 表达式(最推荐) 线程中断1.使用标志位来控制线程是否要停止2.使用Thread自带的标志位来…

软件测试商城项目----优惠券测试流程

优惠券冒烟测试 后台添加优惠券&#xff0c;前端领取&#xff0c;消费并成功扣除对应金额&#xff0c;如果冒烟测试不通过不进行下面的测试。 优惠券基本信息测试 &#xff08;1&#xff09;优惠券名称 &#xff08;2&#xff09;优惠券副标题 &#xff08;3&#xff09;优惠券…

ubuntu2204server虚拟机创建

ubuntu2204 虚拟机创建系统安装系统配置 虚拟机创建ubuntu2204&#xff0c;然后配置清华源&#xff0c;修改网卡已经ssh文件&#xff0c;实现远程连接 虚拟机创建 一路回车默认到创建磁盘 一路回车到自定义硬件 添加一块网盘&#xff0c;其他的是否添加自己根据实际情况&…

【C刷题笔记】找单身狗问题

目录 版本1:在数组内只有一个元素没有成对出现 版本2:在数组内有两个元素没有成对出现 第一步:异或所有元素,异或就是相同为0&#xff0c;相异为1 第二步:计算ret的二进制中哪一位元素是1 第三步:开始分组异或 1.分组: 2.异或 版本1:在数组内只有一个元素没有成对出现 单…

基于C/C++将派生类赋值给基类的详细讲解

目录 将派生类对象赋值给基类对象 将派生类指针赋值给基类指针 将派生类引用赋值给基类引用 本期推荐书目 在 C/C中经常会发生数据类型的转换&#xff0c;例如将 int 类型的数据赋值给 float 类型的变量时&#xff0c;编译器会先把 int 类型的数据转换为 float 类型再赋值&a…