鸟哥的linux私房菜-文件压缩于打包-1

简介:

 linux操作系统数据的存取是以byte为单位的,如果存数字1,其实是占用了1bit的空间,但是为了满足linux操作系统的要求,必须将数字1转换为一个byte来存储,这样,就浪费了7bit的存储空间。

压缩的命令就是让将操作系统所需要的byte单位化成最小的bit单位来存储数据,这样就能减少很多存储空间,达到压缩的目的。

 

完全手册,linux系统与网络服务管理技术大全

 

compress命令:

compress这个压缩命令是非常老旧的一款,大概只有在非常旧的Unix 机器上面还会找到这个软件。

CentOS 默认并没有安装这个软件到系统当中,所以想要了解这个软件的使用时,请先安装ncompress 这个软件。 不过,由於gzip 已经可以解开使用compress 压缩的文件,因此,compress 可以不用学习啦! 但是,如果你所在的环境还是有老旧的系统,那么还是得要学一学就是了。好了,如果你有网络的话,那么安装其实很简单;

安装compress yum install ncompress

参数:

-r : 可以连通目录下的文件也同时给予压缩

-c : 将压缩数据输出成为standard output(输出到荧幕)

-v : 可以秀出压缩后的文件咨讯以及压缩过程中的一些档名变化

uncompress 文件.Z

compress -v 222 : 压缩222文件,并且有信息输出来,包括压缩率

compress -v man.config :压缩man.config文件(注:压缩后只有man.config.Z存在,man.config被覆盖)

man.config: -- replaced with man.config.Z Compression: 41.86%(分别有压缩man.config的一些信息出来,包括压缩后的文件名:man.config.Z,压缩率:41.86%)

uncompress man.config.Z : 解压缩man.config.Z

 

compress -c man.config>man.config.back.Z  : man.config压缩成man.config.back.Z文件来备份;

 

gzip 命令和zcat命令:

-c :将压缩的数据输出到萤幕上,可透过数据流重导向来处理;(-c参数,不覆盖原先的文件,备份出来源文件.gz文件)

-d :解压缩的参数;

-t :可以用来检验一个压缩档的一致性~看看文件有无错误;

f  :新增一个参数,f为不提醒的意思;

 

-v :可以显示出原文件/压缩文件的压缩比等资讯;

-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是-6

zcat 命令:

22是个文档,若压缩后成为了22.gz文件,则,可以用zcat来读取;

常用的命令为:

gzip -c -9 111 > 111.gz :保留111,备份111.gz文件(-9为压缩等级,1-9,默认为6,压缩时间比较长,但压缩比比较高的参数)

gzip -c 111 > 111.gz :同上(默认的为-6)

gzip -v 111 gzip -v 111 > 111.zip 一样,都是在屏幕上显示压缩信息,但是覆盖源文件;

zcat 111.gz :查看111.gz的源文件111的内容

 

bzip2命令和bzcat命令:

若说gzip 是为了取代compress 并提供更好的压缩比而成立的,那么bzip2 则是为了取代gzip 并提供更佳的压缩比而来的。()

-c :将压缩的过程产生的数据输出到萤幕上!

-d :解压缩的参数

-k :保留原始文件,而不会删除原始的文件喔!

-z :压缩的参数

-f  若有冲突,则不予提醒;

-v :可以显示出原文件/压缩文件的压缩比等资讯;

-# :与gzip 同样的,都是在计算压缩比的参数,-9 最佳,-1 最快!

bzcat 命令:专门查看用bzip2命令压缩的文本文件

bzcat passwd.bz2 : 查看压缩文件passwd文件的内容(不能用bzcat passwd来查看普通文件passwd的内容)

 

(值得注意的是,前面几个压缩命令bzip2,gzip,compress都是针对一个单文件进行压缩的,tar命令式对文件的压缩与打包)

 

 

 

tar 命令:

-c :创建打包文件,可搭配-v 来察看过程中被打包的档名(filename)

-t :察看打包文件的内容含有哪些档名,重点在察看『档名』就是了;

-x :解打包或解压缩的功能,可以搭配-C (大写在特定目录解开

特别留意的是,-c, -t, -x 不可能同时出现在一串命令列中。

-j :透过bzip2 的支持进行压缩/解压缩:此时档名最好为*.tar.bz2

-z :透过gzip 的支持进行压缩/解压缩:此时档名最好为*.tar.gz

-v :在压缩/解压缩的过程中,将正在处理的档名显示出来!

-f filename-f 后面要立刻接要被处理的档名!建议-f 单独写一个选项罗!

-C 目录  :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。

其他后续练习会使用到的选项介绍:

-p(小写p) :保留备份数据的原本权限与属性,常用於备份(-c)重要的配置档

-P :保留绝对路径,亦即允许备份数据中含有根目录存在之意;

--exclude=FILE:在压缩的过程中,不要将FILE 打包!

 

tar -jpcv -f ./etc.tar.bz2 /etc : 调用bzip2压缩将etc目录打包成etc.tar.bz2,在压缩过程中,显示压缩的过程,c属性为指定目录,没有c不行,并存放在当前目录下;

也可以写成:tar -jcpvf ./etc.tar.bz2 /etc   ;

tar -jtvf etc.tar.bz2 :查看当前文件夹内的etc.tar.bz2压缩包里面的内容,参数t是查看打包文件的内容含有哪些文档名;-v参数是显示的比较全面的文件信息(包括文件的权限/属性都会被列出来)-j参数是调用bzip2压缩命令;-f参数必须写到最后,后面立刻接要被处理的文档名,所以-f一般另外写出来;

 

 

tar -jxv -f etc.tar.bz2 -C /tmp/userpro :将当前目录下的etc.tar.bz2文件解压到tmpuserpro目录里;-x参数为解压,j为调用bzip2命令,-v参数为显示解压过程中的文档名(可要可不要)

 

 

 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称

 询:tar -jtv -f filename.tar.bz2

解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

 

总结:

tar -jpcvf etc.tar.bz2 etc :压缩etc文件为etc.tar.bz2p参数可以不写,备份的时候p是为了确保文件的属性为原来的属性;c参数为创建压缩文件;j为调用bzip2命令,v为显示压缩的文件名(可以不写)f参数后立马跟要压缩的文件(必须写,最好另外写)

tar -jpcf etc.tar.bz2 etc : 和上边的意思一样;

tar -jtvf etc.tar.gz :用长格式查看参数j(也就是gzip命令)压缩的文件,参数v为长格式查看;

tar -jtf etc.tar.bz2 : 查看用参数j(也就是由bzip2命令)压缩的文件

tar -tf etc.tar.bz2 :和上边的一样,压缩参数z可以去掉;

tar -jxvf etc.tar.bz2 -C /u01/userpro/111 :解压etc.tar.bz2文件到/u01/userpro/111文件夹下,-C参数为制定解压到的目录;

tar -jxvf etc.tar.bz2 :解压用参数j(也就是bzip2命令)压缩的文件,v参数为查看

tar -jxf etc.tar.bz2 :解压用参数j(也就是bzip2命令)压缩的文件

tar -xf etc.tar.bz2 :和上边的一样,j参数可以省略;

 

tar -zpcvf etc.tar.gz etc : 压缩etc文件为etc.tar.gzv参数可以不写,写上v可以查看压缩的文件;

tar -zpcf etc.tar.gz etc :和上一个一样,没有v参数,不能看到压缩了哪些文件。

tar -ztvf etc.tar.gz :查看用参数z(也就是gzip命令)压缩的文件etc.tar.gzv参数以长文件格式查看压缩档里面的文件;

tar -ztf etc.tar.gz :查看用参数z(也就是gzip命令)压缩的文件etc.tar.gz

tar -zxvf etc.tar.gz -C /u01/userpro/111 : 解压当前目录下的etc.tar.gz文件到/u01/userpro/111目录下,-C参数为制定解压目录;

tar -zxvf etc.tar.gz :解压etc.tar.gz文件到当前目录下,v参数为查看解压出来的文件;

tar -(z可用可不用)xf etc.tar.gz :解压etc.tar.gz文件到当前目录下,静默解压;

 


 

 

 

 

 

 

 本文转自 murongqingqqq  51CTO博客,原文链接:http://blog.51cto.com/murongqingqqq/1092348

 

 

 

 

 

 

 

 

 

 

 



目录
打赏
0
0
0
0
344
分享
相关文章
|
11天前
|
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
66 19
|
2月前
|
Linux基础:文件和目录类命令分析。
总的来说,这些基础命令,像是Linux中藏匿的小矮人,每一次我们使用他们,他们就把我们的指令准确的传递给Linux,让我们的指令变为现实。所以,现在就开始你的Linux之旅,挥动你的命令之剑,探索这个充满神秘而又奇妙的世界吧!
76 19
|
27天前
|
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
78 6
|
2月前
|
Linux 常用文件查看命令
`cat` 命令用于连接文件并打印到标准输出,适用于快速查看和合并文本文件内容。常用示例包括:`cat file1.txt` 查看单个文件,`cat file1.txt file2.txt` 合并多个文件,`cat > filename` 创建新文件,`cat >> filename` 追加内容。`more` 和 `less` 命令用于分页查看文件,`tail` 命令则用于查看文件末尾内容,支持实时追踪日志更新,如 `tail -f file.log`。
75 5
Linux 常用文件查看命令
|
29天前
|
如何创建Linux交换文件?Linux交换文件最新创建方法
Swap是Linux中的虚拟内存空间,用于在物理内存不足时将非活动进程移至磁盘,从而优化活动进程的性能。通过创建交换文件(如1GB),可灵活调整交换空间而无需重新分区。步骤包括:使用`fallocate`或`dd`创建文件、设置权限 (`chmod 600`)、格式化 (`mkswap`)、启用交换 (`swapon`)、修改`/etc/fstab`以持久化配置,以及调整`vm.swappiness`值(默认60,建议从10开始)来平衡内存与交换的使用。最后通过`swapon -s`检查状态并重启生效。此方法适用于VPS和专用服务器,需以root用户操作。
51 2
Linux|Transfer.sh 轻松实现文件共享
Linux|Transfer.sh 轻松实现文件共享
Linux|Transfer.sh 轻松实现文件共享
【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件
本文详细介绍了Linux中的进程IO与系统调用,包括 `open`、`write`、`read`和 `close`函数及其用法,解释了文件描述符(fd)的概念,并深入探讨了Linux中的“一切皆文件”思想。这种设计极大地简化了系统编程,使得处理不同类型的IO设备变得更加一致和简单。通过本文的学习,您应该能够更好地理解和应用Linux中的进程IO操作,提高系统编程的效率和能力。
130 34
linux怎么把文件传到docker里面
在现代应用开发中,Docker作为流行的虚拟化工具,广泛应用于微服务架构。文件传输到Docker容器是常见需求。常用方法包括:1) `docker cp`命令直接复制文件;2) 使用`-v`选项挂载宿主机目录,实现数据持久化和实时同步;3) 通过SCP/FTP协议传输文件;4) 在Dockerfile中构建镜像时添加文件。选择合适的方法并确保网络安全是关键。
209 1
|
3月前
|
Linux文件与目录的日常
目录的切换 一般使用(”pwd“)显示当前所在的目录 比如:当前目录是在home下面的,与用户名相同的文件夹,可以使用(”cd“)命令来切换目录; 进入下载目录(”cd home/a/下载“)这种从给目录开头的一长串路经”叫做绝对路径“; 进入图片目录(”cd .. /图片/“)".."代表当前路径的上级路径,相对于当前的目录而言的”叫做相对路径“,(”.“)代表当前路径; 如果,想快速切换,上一个所在目录可以(”cd - / cd..“); 如果,想快速切换,追原始的目录可以(”cd --“); 查看目录及文件
59 14
|
3月前
|
Linux压缩与解压“助手”
gzip压缩解压 因为都是系统自带的我们不需要安装; ls 看一下目录当前的文件,创建一个 touch 123.txt 文件; 原文件消失,压缩解压 gzip 进行压缩,(“ gzip 123.txt ”),这样就压缩完毕了; gzip 进行解压,(“ gzip -d 123.txt.gz”),这样就解压完毕了; 原文件保留,gzip -k 123.txt、gzip -dk 123.txt.gz ;
60 9
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等