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

一、实验环境设定

本节实验需要两台虚拟机,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.tar  /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:解压

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值