温故Linux 操作系统09:文件传输、归档与压缩

温故Linux 操作系统09:文件传输、归档与压缩

1文件传输

本文这里的文件传输仅限指文件的在多台主机间的远程拷贝,方式有scp和rsync两种

1.1scp

在08节的时候我们用到了scp这一命令,是远程拷贝的意思

scp file username@ip:/dir			##上传
scp username@ip:/dir/file  /dir		##下载
scp -r								##递归复制整个目录
scp -p								##保留源文件修改时间,访问时间和访问权限

在这里插入图片描述

1.2rsync

远程同步,相当于远程镜像,速度快,默认会忽略:文件属性,链接文件,设备文件

rsync [参数]	file username@ip:/dir
rsync	-r							##同步目录
		-l							##不忽略链接
		-p							##不忽略文件权限
		-t							##不忽文件时间戳
		-g							##不忽文件所有组
		-o							##不忽文件所有人
		-D							##不忽略设备文件

在这里插入图片描述
scp和rsync的区别:

  1. scp是相当于复制,黏贴,如果有的话是覆盖,比较耗时间,不智能。rsync是复制,如果有重复的文件,会直接跳过,而且他自己的算法优化。
  2. scp是把文件全部复制过去,当文件修改后还是把所有文件复制过去,rsync第一次是把所有文件同步过去,当文件修改后,只把修改的文件同步过去。
    注意:
    (1)scp命令中,目录后加不加/ 没有区别,因为是一个新建的过程
    (2)rsync命令中,目录后加不加/ 有区别
    如:
rsync /etc   ##传输目录(目录里的还是原来内容)
rsync /etc/  ##传输目录里的内容

2文件归档

文件归档,,就是把多个文件变成一个文件,也称将多个文件打包成一个文件

注:
①文件在主机之间传输的更快;
②传输速度快不快取决于文件大小,并不是看文件数量的多少;
③打包不是压缩,文件大小并没有改变。

下面是tar命令的参数以及其注释:

tar 参数			注释
----------------------------------------
tar	-c			##创建(create)
	-f			##指定归档文件名称
	-t			##显示归档文件中的内容
	-v			##归档过程中显示文件
	-p			##使用源文件的原属性
	-P			##可以使用绝对路径来归档
	-r			##向归档文件中添加文件
	--get		##取出单个文件
	--delete	##删除单个文件
	-x			##取出归档文件中的所有内容
	-C			##指定解档目录

常用的文件归档tar命令组合:

tar cf 目标文件.tar 源文件				##打包源文件,-c 表示创建文档;-f指定目标文件名
tar cfv 目标文件.tar 源文件				##显示打包的过程(显示都打包了哪些文件)
tar tf 归档文件.tar						##查看归档中的内容
tar rf 归档文件.tar filename				##添加文件filename到归档中
tar f 归档文件.tar --delete filename		##指定删除文档中的哪个文件
tar xf 归档文件.tar						## 解档(将包解开)
tar xf 归档文件.tar --get filename 		##指定将哪个文件解出来
tar xf 归档文件.tar 源文件 -C 新目录		##指定解档目录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3文件压缩与解压缩

压缩是一种通过特定的算法来减小计算机文件大小的机制。这种机制是一种很方便的发明 , 尤其是对网络用户 , 因为它可以减小文件的字节总数 ,
使文件能够通过较慢的互联网连接实现更快传输 , 此外还可以减少文件的磁盘占用空间

(1)linux下的压缩格式一共有4种 : zip 压缩 、gz压缩、bz2压缩、xz压缩
(2)压缩对于来说i大文件更明显,压缩时间长效果更明显
(3)压缩的过程包括:先打包再压缩;打包的同时压缩,解压
(4)每次压缩前后使用du -sh 目录名, 查看大小,进行对比
(5)效果优先级(小到大): zip 压缩 、gz压缩、bz2压缩、xz压缩

du -sh xxx   					##查看文件的大小
------------------------------------------------
zip -r xxx.tar.zip xxx.tar		##将打包的文件(xxx.tar)压缩成zip文件(xxx.tar.zip)
unzip xxx.tar.zip				##将这个压缩文件解压
------------------------------------------------
gzip xxx.tar					##直接压缩后面的打包文件
tar zcf xxx.tar.gz /xxx			##打包的同时压缩
gunzip xxx.tar.gz				##解压
tar zxf xxx.tar.gz				##解压并解档gz格式压缩包
------------------------------------------------
bzip2 xxx.tar					##直接压缩打包的文件
tar jcf xxx.tar.bz2 /xxxx		##打包的同时压缩
bunzip2 xxx.tar.bz2				##解压
tar jxf xxx.tar.bz2				##解压并解档bz2格式压缩包
------------------------------------------------
xz xxx.tar						##直接压缩打包文件
tar Jcf xxx.tar.xz /xxx			##打包的同时压缩
tar Jxf xxx.tar.xz				##解压
tar Jcf xxx.tar.xz /xxx			##打包的同时压缩

在这里插入图片描述
对etc.tar.gz解压缩并且解档,我们可以查看etc目录解档正常:
在这里插入图片描述

发布了39 篇原创文章 · 获赞 4 · 访问量 723

猜你喜欢

转载自blog.csdn.net/weixin_44718794/article/details/102926863
今日推荐