Linux系统中的文件传输

Linux系统中的文件传输


  • 实验环境:
  • 需要两台可以通信的主机
  • 需要先关火墙:
    systemctl disable firewalld
    systemctl stop firewalld

1 SCP命令

(1)

  • scp 本地文件 远程主机用户@远程主机ip:远程主机目录的绝对路径
  • scp 远程主机用户@远程主机ip:远程主机文件的绝对路径 本地文件

实验步骤:
[1] 在node2建立实验需要的素材

[root@westoslinux ~]# touch westos #创建一个westos文件
[root@westoslinux ~]# mkdir westosdir #创建一个westosdir目录
实验素材

[2] 测试

【1】把本地文件复制到远程主机 (上传

[root@westoslinux ~]# scp westos root@172.25.254.101:/root/Desktop #将westos文件传输给node1
文件传输
[root@westoslinux ~]# scp -r westosdir root@172.25.254.101:/root/Desktop #将westosdir目录传输给node1
传输目录
[root@westoslinux ~]# scp -q westos root@172.25.254.101:/root/Desktop #将westos传输给node1,但是不显示传输过程
无过程显示传输文件

  • node1结果显示:

[root@westoslinux ~]# cd /root/Desktop #切换目录到/root/Desktop目录下
[root@westoslinux Desktop]# ls #查看目录下是否有westos文件和westosdir文件
传输成功

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

[root@westoslinux Desktop]# scp root@172.25.254.201:/root/Desktop/westosfile /root/Desktop #将node2中的/root/Deskrop/westosfile下载到node1的/root/Desktop下
下载

  • node1结果显示:
    显示结果

【3】time scp

  • 显示传输时间

2 rsync

【1】rsyncscp命令的对比

实验环境:需要在node2中生成密钥

[root@westoslinux Desktop]# ssh-keygen #生成密钥
生成密钥

[root@westoslinux .ssh]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.101 #将私钥发给node1
发送似钥

【2】创建测试脚本

  • scp

[root@westoslinux Desktop]# vim check_scp.sh #编写脚本文件
scp脚本文件

[root@westoslinux Desktop]# sh check_scp.sh #运行脚本文件
scp脚本运行结果截图

  • rsync

[root@westoslinux Desktop]# vim check_rsync.sh #编写rsync脚本测试文件
rsync测试脚本内容

[root@westoslinux Desktop]# sh check_rsync.sh #运行脚本文件
运行脚本文件

【3】rsync用法

  • rsync 文件 远程用户@远程主机ip:远程主机目录

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

  • rsync
    [1]-r
    #复制目录
    [2]-l
    #复制连接
    [3]-p
    #复制权限
    [4]-t
    #复制时间戳
    [5]-o
    #复制拥有者
    [6]-g
    #复制拥有组
    [7]-D
    #复制设备文件

  • 实验环境:
    在node1中
    watch -n 1 ls -lR /mnt
    在node2中

[root@westoslinux Desktop]# touch westosdir/westosfile{1…5} #建立westosdir目录下的westosfile1~5文件
[root@westoslinux Desktop]# ls westosdir/ #查看是否创建成功
创建文件

[root@westoslinux Desktop]# ln -s /root/Desktop/westosdir/westosfile1 westosdir/test #创建链接
[root@westoslinux Desktop]# ls -l westosdir/ #察看是否创建成功
创建链接

  • node2

[root@westoslinux Desktop]# rsync -r westosdir root@172.25.254.101:/mnt/ #复制文件

  • node1
  • -r 复制目录
    复制目录
  • -lr 复制链接以及目录
    备注:

[root@westoslinux Desktop]# ssh root@172.25.254.101 'rm -rf /mnt/* ’ #远程删除node1下mnt目录下的所有文件目录

[root@westoslinux Desktop]# rsync -lr westosdir root@172.25.254.101:/mnt/ #复制链接及目录
lr

  • -plrtog 复制权限,拥有者拥有组,时间戳,目录以及链接

[root@westoslinux Desktop]# rsync -ptoglr westosdir root@172.25.254.101:/mnt/ #复制权限,拥有者拥有组,时间戳,目录以及链接
ptlogr

  • -poglrtD 复制设备文件的权限,拥有者,拥有组,时间戳,目录,链接

[root@westoslinux Desktop]# rsync -poglrtD /dev/pts root@172.25.254.101:/mnt/
设备文件

3 文件的归档压缩

【1】文件归档

tar
c
#创建
f
#指定文件名称
x
#解档
v
#显示过程
t
#查看
r
#向归档文件中添加文件
–get
#解档指定文件
–delete
#删除指定文件
-C
#指定解档路径
-P
#不删除“/

  • 查看文件大小:

[root@westoslinux mnt]# du -sh etc #查看etc文件大小
[root@westoslinux mnt]# du -sh etc.tar #查看etc.tar文件大小
查看文件大小

文件归档解档

[root@westoslinux mnt]# tar tf etc.tar #查看指定文档
查看指定文档

【2】文件的压缩

  • 压缩格式有gzip bzip2 zip xz “rar”(其中rar是闭源的linux中无法使用)
  • .tar已经是压缩文档了,还可以再进行压缩
  • 压缩成其他形式后,用un命令进行解压缩后,再用tar命令进行解档
  • un命令解压缩需要先将原文档删除,要么解压缩时就会报错

[1]zip

[root@westoslinux mnt]# zip -r etc.tar.zip etc.tar #zip格式压缩etc.tar
[root@westoslinux mnt]# ls #查看是否压缩成功
[root@westoslinux mnt]# du -sh etc.tar.zip #查看.zip文件大小
[root@westoslinux mnt]# du -sh etc.tar #查看.tar格式文件大小
zip

[2]gzip

[root@westoslinux mnt]# gzip etc.tar #以gzip格式压缩文件
[root@westoslinux mnt]# ls #查看是否建立成功
[root@westoslinux mnt]# du -sh etc.tar.gz #查看gzip格式文件大小
[root@westoslinux mnt]# gunzip etc.tar.gz #解压缩gzip格式文件
[root@westoslinux mnt]# ls #查看是否解压缩成功
gzip

[3]bzip2

[root@westoslinux mnt]# bzip2 etc.tar #以bzip2的形式压缩文件
[root@westoslinux mnt]# ls #察看是否压缩成功
[root@westoslinux mnt]# du -sh etc.tar.bz2 #查看bzip2文件大小
[root@westoslinux mnt]# bunzip2 etc.tar.bz2 #解压缩
[root@westoslinux mnt]# ls 察看是否解压成功
bzip2

[4]xz

[root@westoslinux mnt]# xz etc.tar #以xz形式压缩文件
[root@westoslinux mnt]# ls #查看是否压缩成功
[root@westoslinux mnt]# du -sh etc.tar.xz #查看压缩文件大小
[root@westoslinux mnt]# unxz etc.tar.xz #解压
[root@westoslinux mnt]# ls #查看是否解压成功
xz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值