linux中的几种压缩工具

文件压缩
compress 不能自动补齐
.Z
-d 解压缩
uncompress
zcat X.Z > X
-c 将结果打印到屏幕上,配合重定向,不会覆盖原文件,但权限会变。
-f 默认不对硬链接数为2及以上的文件压缩,加上f,强制压缩指定文件,而其他同inode的文件硬链接数减1.

-v 显示详细过程。

———————————————————————————————————————————

gzip 可以自动补齐
.gz
-d 解压缩
zcat X.gz > X
gunzip
-c 将结果打印到屏幕上,配合重定向,不会覆盖原文件,但权限会变。
-f 默认不对硬链接数为2及以上的文件压缩,加上f,强制压缩指定文件,而其他同inode的文件硬链接数减1.
-v 显示详细过程。
-# 数字越大,压缩比越高,速度越慢,文件越小。
-1 等于 –fast
-2,3,4,5,6(default),7,8
-9 等于 –best

bzip2 可以自动补齐
-d 解压缩
bunzip
bzcat X.bz2 > X
-k 保留原文件
-c 将结果打印到屏幕上,配合重定向,不会覆盖原文件,但权限会变。
-f 默认不对硬链接数为2及以上的文件压缩,加上f,强制压缩指定文件,而其他同inode的文件硬链接数减1.
-v 显示详细过程。
-# 数字越大,压缩比越高,速度越慢,文件越小。
-1 等于 –fast
-2,3,4,5,6,7,8
-9 等于 –best (default)
如图:-f的作用

linux中的几种压缩工具

xz 可以自动补齐
.xz
-d 解压缩
xzcat
-k 保留原文件
-f 默认不对硬链接数为2及以上的文件压缩,加上f,强制压缩指定文件,而其他同inode的文件硬链接数减1.
-v 显示详细过程。
-# 数字越大,压缩比越高,速度越慢,文件越小。
-0 等于 –fast
-1 -2,3,4,5,6(default),7,8
-9 等于 –best

zip压缩
.zip
unzip
|zip 将生成的文件名 –
可以将管道前的输出结果转为文件并压缩。通过此方式压缩的文件只能使用“unzip -p 压缩包 > 新文件 ”来解压缩
unzip -p 预览解压缩后的内容到屏幕,可以配置重定向将结果保存到指定文件,权限会发生变化
例子:find /etc/ -name “*.conf” |zip find –

以上是几种压缩工具,不再做详细介绍,下面介绍一种打包工具,非常重要也非常实用

 

tar
-c创建包
tar -cf etc.tar * 把当前所在目录下的文件都打包,打包名为etc.tar
tar -tf etc.tar 查看一下包里的东西是什么(显示包中的文件名)
tar -tvf etc.tar 详细的查看包里的东西
tar -rf etc.tar /etc/fstab 往etc.tar包里面追加一个名为/etc/fstab的文件
打包的时候源文件里面带根号会自动把根号去掉,这样防止覆盖系统中的原始文件
tar –delete -f etc.tar passwd 删除包里的一个名为passwd的文件
tar -xf etc.tar -x作用是所有的文件到当前目录
tar -xvf etc.tar -C /tmp/ -C作用是解包到指定目录,这里为解包到/tmp/下 不加-C是解包到当前目录

打包后的文件可以再进行压缩
-c可有可无,
-j :bzip2
-z:gzip
-J:xz 结合压缩工具归档并压缩

linux中的几种压缩工具

压缩包的名字是很关键的,名字变化之后有可能对应得工具解不开,其中bzip2可以
解开,不过要在文件后加.out
单个文件打包的意义:
有时候文件太大需要把文件分割
split -b 1k -d test.tar.gz newtxt

linux中的几种压缩工具

合并
cat 被分隔出的多个文件名 > 单个文件名
例子: cat newtest1* > newtest
cpio
ls * |cpio -o > 文件名.cpio 打包 (gzip 文件名.cpio 生成文件名为.cpio.gz的文件)
ls |cpio -ov > new.cpio 解开被cpio打包的文件
cpio -id < new.cpio
实例: ls group passwd shadow |cpio -o > aaa.cpio 打包
zcat aaa.cpio.gz |cpio -id 或者 cpio -id < new.cpio 两种方式解包
使用cpio打包再用gzip压缩的文件可以用zcat一步解包
有些文件先用cpio打包再用gzip压缩但文件名后缀不是.coip.gz这样就是故意隐藏了

linux中的几种压缩工具

若是在centos7中把/lib64下的libc.so.6删了,很多命令依赖于这个库文件,所以系统就不能正常使用,这个时候需要进入救援模式,重启centos,单击鼠标快速点ESC键
进入救援模式做如下操作:

linux中的几种压缩工具最后reboot就行了

原创文章,作者:sqjl,如若转载,请注明出处:http://www.178linux.com/84396

(0)
sqjlsqjl
上一篇 2017-08-11 18:57
下一篇 2017-08-11 19:47

相关推荐

  • Linux文件系统

    1、Linux文件系统层级标准 为什么Linux的不同发行版中的目录结构基本上都一样? Linux有一个组织叫LSB定义的Linux发行版基础目录名称命名法则及功用规定,这种标准叫做 FHS(Filesystem Hierarchy Standard),文件系统层级标准。 /boot:系统引导启动时要加载的静态文件:kernel, initramfs(ini…

    Linux干货 2016-10-29
  • 第一周:Linux基础之常用命令(二)

    一、Linux的命令使用格式 命令的语法通用格式: ~]# COMMAND  OPTIONS  ARGUMENTS   命令  选项  参数 1.  COMMAND,命令:发起命令时将请求内核将某个二进制程序运行为一个进程,命令本身是一个可执行的程序文件,二进制格式的文件有可能会调用共享库文件。 多…

    Linux干货 2016-09-18
  • 进程及任务管理

    进程概念 内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等 Process: 运行中的程序的一个副本,是被载入内存的一个指令集合     进程ID(Process ID,PID)号码被用来标记各个进程     UID、GID、和SELi…

    Linux干货 2016-09-09
  • shll函数作业

    扫描/etc/passwd文件每一行,如发现GECOS字段为空,则填充用户名和单位电话为62985600,并提示该用户的GECOS信息修改成功。 [root@localhost sh.log]# cat whileGECOS.sh  #!/bin/bash #author:DYW #扫描/etc/passwd文件每一行…

    Linux干货 2016-08-24
  • 如何在微软Azure云机上添加新磁盘

    大家好: 最近在项目实践中,分享下如何在微软Azure云机上添加新磁盘。 首先需要查看下是否有未用上的磁盘,先fdisk -l查(看下图)并和Azure技术确认该磁盘是否可永久保存数据: 然后找到未分区的磁盘号,如上图中的/dev/sdc,再 fdisk /dev/sdc后开始在该新磁盘上进行分区创建: 为方便管理,我们一般就创建一个分区,然后进行格式化: …

    Linux干货 2016-11-27
  • bash功能特性三 命令的引用、展开和补全

    一、bash的补全功能     1、命令补全     根据内建命令或外部命令的查找方式,查找以用户指定的字符串开头的命令,如果用户指定的开头字符串能惟一标识某命令,则tab键可以补全此命令,否则,则两次tab链可显示所有以指定字符串开头的命令。   &nbsp…

    Linux干货 2015-04-15