zip压缩文件

zip压缩,压缩文件后原文件不会删除

[root@localhost mulu]# zip wen.txt.zip wen.txt     zip  压缩命名   要压缩的文件
  adding: wen.txt (deflated 73%)
[root@localhost mulu]# ll -h
总用量 3.7M
-rw-r--r-- 1 root root 2.9M 6月 21 15:54 wen.txt
-rw-r--r-- 1 root root 783K 6月 24 12:54 wen.txt.zip

zip 压缩目录

[root@localhost tmp]# zip -r mulu.zip 1.txt mulu/        -r指定压缩目录的选项
  adding: 1.txt (stored 0%)
  adding: mulu/ (stored 0%)
  adding: mulu/wen.txt (deflated 73%)
  adding: mulu/wen.txt.zip (stored 0%)
[root@localhost tmp]# ll -h         压缩目录和文件后
总用量 1.6M
-rw-r--r-- 1 root root 0 6月 24 12:57 1.txt
drwxr-xr-x 2 root root 40 6月 24 12:54 mulu
-rw-r--r-- 1 root root 1.6M 6月 24 12:57 mulu.zip

zip解压

[root@localhost tmp]# unzip mulu.zip 
Archive: mulu.zip     使用unzip解压时,如果原文件和目录存在的话,会提示是否覆盖
replace 1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: 

zip不支持查看压缩的文件内的内容,但是可以查看一个压缩包里有哪些文件,使用unzip -l查看


[root@localhost tmp]# unzip -l mulu.zip 
Archive: mulu.zip
  Length Date Time Name
--------- ---------- ----- ----
        0 06-24-2018 12:57 1.txt
        0 06-24-2018 12:54 mulu/
  3017434 06-21-2018 15:54 mulu/wen.txt
   800798 06-24-2018 12:54 mulu/wen.txt.zip
--------- -------
  3818232 4 files

tar打包工具

tar -cvf 打包名称 要打包的内容 tar -xcf 包名 tar -tf 包名 查看打包文件内部的文件数量 tar -cvf 包名 --exclude 1.txt 要打包的目录/ 打包一个目录排除掉指定的文件不进行打包

[root@localhost tmp]# tar -cvf mulu.tar mulu  
mulu/
mulu/wen.txt
mulu/wen.txt.zip
[root@localhost tmp]# ll -h
总用量 5.2M
-rw-r--r-- 1 root root 0 6月 24 12:57 1.txt
drwxr-xr-x 2 root root 40 6月 24 13:00 mulu
-rw-r--r-- 1 root root 3.7M 6月 24 13:11 mulu.tar
-rw-r--r-- 1 root root 1.6M 6月 24 12:57 mulu.zip
[root@localhost tmp]# tar -xvf mulu.tar 
mulu/
mulu/wen.txt
mulu/wen.txt.zip
[root@localhost tmp]# tar -tf mulu.tar    查看打包文件内的文件信息 
mulu/
mulu/wen.txt
mulu/wen.txt.zip
[root@localhost tmp]# tar -cvf mu.tar --exclude 1.txt mulu /打包一个目录排除掉指定文件
mulu.tar
mulu.zip

打包并压缩

tar -zcf 压缩包名称 要压缩的目录/文件 以zip格式压缩 tar -z位置是指定压缩格式的,z表示为gzip,j表示为bzip2,-c压缩,-x解压

tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,但它仅仅只是一个打包工具,并不负责压缩。下面是如何打包一个目录:

[root@localhost ]# tar -cvf archive_name.tar directory_to_compress

下面是如何解包的命令:

[root@localhost ]# tar -xvf archive_name.tar.gz

上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来更改解包的路径:

[root@localhost ]# tar -xvf archive_name.tar -C /tmp/extract_here/

tar.gz 它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。可以使用下面的命令去压缩一个目录:

[root@localhost ]# tar -zcvf  archive_name.tar.gz  directory_to_compress

tar.gz解压缩:

[root@localhost ]# tar -zxvf archive_name.tar.gz

上面这个解包命令将会将文档解压在当前目录下面。当然,也可以用这个命令来更改解包的路径:

[root@localhost ]# tar -zxvf archive_name.tar.gz -C /tmp/extract_here/

tar.bz2

这种压缩格式是所有方式中压缩率最好的。当然,这也就意味着,它比前面的方式要占用更多的CPU与时间。下面的命令就是如何使用tar.bz2进行压缩。

[root@localhost ]# tar -jcvf archive_name.tar.bz2 directory_to_compress

上面这个解包命令将会将文档解开在当前目录下面。也可以用这个命令来更改解包的路径:

[root@localhost ]# tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/
下面对tar命令中一些常用重要的参数进行总结:

-c或–create 建立新的备份文件。 
-C<目的目录>或–directory=<目的目录> 切换到指定的目录。 
-f<备份文件>或–file=<备份文件> 指定备份文件。 
-j或–bzip2 以bz2的算法来压缩或者解压文件。 
-k或–keep-old-files 解开备份文件时,不覆盖已有的文件。 
-m或–modification-time 还原文件时,不变更文件的更改时间。 
-N<日期格式>或–newer=<日期时间> 只将较指定日期更新的文件保存到备份文件里。 
-r或–append 新增文件到已存在的备份文件的结尾部分。 
-t或–list 列出备份文件的内容。 
-u或–update 仅置换较备份文件内的文件更新的文件。 
-v或–verbose 显示指令执行过程。 
-w或–interactive 遭遇问题时先询问用户。 
-W或–verify 写入备份文件后,确认文件正确无误。 
-x或–extract或–get 从备份文件中还原文件。 
-z或–gzip或–ungzip 通过gzip指令处理备份文件。 
-Z或–compress或–uncompress 通过compress指令处理备份文件。