压缩、解压缩及归档工具

压缩、解压缩及归档工具

一、杂项知识整理

1、find -iname 忽略大小写;

    -inum 查找指定inode号的文件;

 find 在有条件判断的时候,如果不加括号,最后的命令会被当成以为第二个条件之后的:例

[root@localhost shelltest]# find / -name "*.conf" -o -iname "*.sh" -ls | wc -l
456
[root@localhost shelltest]# find / \( -name "*.conf" -o -iname "*.sh" \) -ls | wc -l
1056

2、API应用程序开发接口:是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力。POSIX可移植操作系统几口标准;ABI应用程序二进制接口:应用程序和操作系统之间,一个应用和他的库之间或者应用的组成部分之间的低接口。

 API接口是用作开发人员和应用程序之间,ABI用于操作系统和应用程序之间。(通俗理解)

3、du 列出指定文件或目录及内部文件的大小

    -h human readable

    -s 仅显示给定的文件

[root@localhost shelltest]# du -h /etc/
12K/etc/pki/rpm-gpg
12K/etc/pki/tls/certs
24K/etc/pki/tls/misc
...
[root@localhost shelltest]# du -sh /etc/
24M/etc/

二、命令详解及事例

1、compress命令,扩展名为.Z

    -d 解压缩,相当于uncompress

    -c 结果输出至标准输出,不删除原文件

    -v 显示详情

 uncompress解压缩

    zcat file.Z >file 直接查看压缩文件

2、gzip;扩展名为.gz,zcat查看压缩文件

    -d 解压缩,相当于gunzip

    -c 将压缩或者解压缩的结果输出至标准输出

    -# 1-9 指定压缩比,值越大压缩比越大

[root@localhost tmp]# gzip functions 
[root@localhost tmp]# ls
functions.gz  mysh12.sh  mysh15.sh  mysh18.sh  mysh20.sh  mysh3.sh  mysh6.sh 
[root@localhost tmp]# gunzip functions.gz 
[root@localhost tmp]# ls
functions  mysh12.sh  mysh15.sh  mysh18.sh  mysh20.sh  mysh3.sh  mysh6.sh

3、bzip;扩展名为.bz2,bzcat查看压缩文件

    -k 保留原文件keep

    -d 解压缩,相当于bunzip2

    -# 指定压缩比,默认是6

4、xz;解压缩为unxz,xzcat查看压缩文件

    -k 保留原文件

    -d 解压缩

    -# 指定压缩比,默认为6

[root@localhost tmp]# xz functions 
[root@localhost tmp]# ls
functions.xz  mysh12.sh  mysh15.sh  mysh18.sh  mysh20.sh  mysh3.sh  mysh6.sh 
[root@localhost tmp]# unxz functions.xz 
[root@localhost tmp]# ls
functions  mysh12.sh  mysh15.sh  mysh18.sh  mysh20.sh  mysh3.sh  mysh6.sh 
[root@localhost tmp]# xz -k functions 
[root@localhost tmp]# ls
functions     mysh11.sh  mysh14.sh  mysh17.sh  mysh1.sh   mysh2.sh 
functions.xz  mysh12.sh  mysh15.sh  mysh18.sh  mysh20.sh  mysh3.sh  mysh6.sh

以上皆不能压缩目录

5、zip打包压缩 unzip解包解压缩;扩展名.zip

6、tar归档

    -c -f 创建归档,不删除原文件

    -xf 展开归档。不删除原文件

    -tf 查看归档文件中的文件列表

归档后通常需要压缩,结合以上的压缩工具,就能实现压缩多个文件:

    归档并压缩: -z : gzip 

        -j : bzip2

        -J : xz

    -C(大写)指定目录解压缩

[root@localhost tmp]# tar -zcf ./functions.tar.gz functions
[root@localhost tmp]# ls
functions  functions.tar.gz  lib64  log  shelltest  test
[root@localhost tmp]# tar -xf  ./functions.tar.gz -C /testdir/
[root@localhost tmp]# ls
functions  functions.tar.gz  lib64  log  shelltest  test
[root@localhost tmp]# cd /testdir/
[root@localhost testdir]# ls
a   aaa       data       lost+found  passwd.bak  shelltest   test 
aa  copytest  functions  passwd  string.txt  user  userinfo

    解压缩都用-xf -C,压缩分别为jcf,Jcf和zcf(gzip)

[root@localhost tmp]# tar -jcf functions.tar.bz2 functions
[root@localhost tmp]# ls
functions  functions.tar.bz2  functions.tar.gz  lib64  log  shelltest  test
[root@localhost tmp]# tar -Jcf functions.tar.xz functions
[root@localhost tmp]# ls
functions  functions.tar.bz2  functions.tar.gz  functions.tar.xz  lib64  log  shelltest  test
[root@localhost tmp]# tar -xf functions.tar.xz  -C /testdir/

7、cpio:通过重定向的方式将文件进行打包备份,还原恢复的工具,他可以解压以.cpio或.tar结尾的文件。

    cpio [] > 文件或设备名

    cpio [] < 文件或设备名

    -o 将文件拷贝打包成文件或者将文件输出到设备上

    -i 解包,将打包文件解压或者将设备上的备份还原到系统

    -t 预览,查看文件内容或者输出到设备上的文件内容

    -v 显示打包过程中的文件名称

    -d 解包生成目录,在cpio还原时自动的建立目录

    -c 一种较新的存储方式

注意:(1)cpio恢复的路径,如果cpio在打包备份的时候使用的是绝对路径,那么在恢复的时候会自动恢复到这些绝对路径下面,同理,如果用的是相对路径,还原时也将恢复到相对路径下。

   (2)cpio无法直接读取文件,它需要每个文件或者目录的完整路径名才能识别读取,而find命令的输出刚好做到了这点,因此,cpio命令一般和find命令配合使用。

   (3)cpio恢复的时候不会自动覆盖同名文件。

   (4)不会创建目录而是直接解压到当前文件夹。

   (5)-iv和-div的区别:-iv是将所有文件压缩到同一个目录下,-idv将压缩时候的目录等级也一并还原回去,一般来说都会加-d选项。

将etc目录备份:

find /etc/ -print | cpio -ov > etc.cpio

[root@localhost testdir]# find /etc/ -print | cpio -o > etc.cpio
41342 块

内容预览:cpio -tv < etc.cpio

解包文件:cpio -idv < etc.cpio 

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

(0)
SilencePavilionSilencePavilion
上一篇 2016-08-18 10:10
下一篇 2016-08-18 10:10

相关推荐

  • Linux用户和组管理类命令以及文本处理工具的各种实例

    列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 取出最后登录到当前系统的用户的相关信息。 取出当前系统上被用户当作其默认shell的最多的那个shell。 将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。 取出当前主机的IP地址,提示:对i…

    2018-03-13
  • 搭建基于http的本地yum源服务器

    概述 yum相较于rpm,能够更好地解决安装软件时的依赖包问题,使用yum安装更简单更方便。搭建本地YUM源服务器,可以避免升级安装软件时占用公网带宽;有了本地YUM源服务器,可以解决无法连接Internet的其他YUM客户端的软件升级和安装。 本文主要介绍了以下内容: 通过编译Apache源码包安装httpd服务; 搭建基于HTTP的yum源服务器; 将I…

    Linux干货 2016-08-24
  • Linux任务计划及内核管理

    作业管理:     前台作业:通过终端启动,且启动后一直占据终端;     后台作业:通过终端启动,但启动后随即转入后台运行(释放终端) 将作业放入后台的操作     1)运行中的作业:ctrl+z     2)还未执行的作业:command &   …

    Linux干货 2016-09-09
  • bash的基础特性之一

    bash的基础特性之一 命令历史:shell进程会保存会话中此前用户使用过的命令; history:命令的用法 history 【-c】【-d #】 【n】或者【文件名】     -c:清空命令历史     -d 【#】:删除指定的命令历史…

    Linux干货 2016-12-18
  • N25第六周作业

    vim编辑器 基本模式: 编辑模式,命令模式 输入模式 末行模式: 内置的命令行接口;   打开文件: # vim [options] [file ..] +#:打开文件后,直接让光标处于第#行的行首; +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首;   模式转换: 编辑模式:默认模式 编辑模式 &…

    Linux干货 2017-02-15
  • linux 基础(8)—— 变量

    变量:命名的内存空间 1.作用:①数据存储格式                         ②参与的运算                 &nbs…

    2017-08-05