linux_压缩文件及目录

压缩解压缩命令:

压缩格式:gz,bz2,xz,zip,z

压缩算法:算法不同,压缩比也会不同:

compress::FILENAME.Z

uncompress

目前最流行的压缩工具:

gzip: .gz  只能压缩文件

gzip / PATH/TO/SOMEFILE/  压缩完后删除源文件

-d 也表示解压缩

-#:[1-9],指定压缩比,默认是6

gunzip:

gunzip /PATH/TO/SOMEFILE.gz 解压完后会删除源文件

zcat/PATH/TO/SOMEFILE.gz不解压的情况,查看文本文件内容

bzip2: .bz2 比gzip有更大压缩比的压缩工具,使用格式近似

bzip2 /PATH/TO/SOMEFILE  压缩后也会删除源文件

-d解压缩

-#:[1-9],默认6

-k保留源文件

[[email protected]]# bzip2 -d -k fstab.bz2

[[email protected]]# ls

abc  b2 fstab  fstab.bz2

bunzip2  /PATH/TO/SOMEFILE 解压缩

bzcat,在不解压缩的情况下,查看bzip2的文本类压缩文件

xz: .xz

xz/PATH/TO/SOMEFILE  压缩后也会删除源文件

–d解压

-# [1-9],指定压缩比,默认6

-k 压缩时也能保留源文件

unxz 解压缩

xzdec

xzcat  在不解压缩的情况下,查看xz的文本类压缩文件

zip:压缩工具,压缩比不大。可以压缩目录,可以将多个文件压缩到一起,压缩后不删除源文件

zipFILENAME.zip  FILE1 FILE2…

unzip FILENAME.zip 解压缩后不删除源文件

archive:归档,归档本身并不意味着压缩

tar:只归档不压缩(归档后不删除源文件)

-c 创建归档文件

-f FILE.tar操作的归档文件(必须制定归档名)

[[email protected]]# tar  -cf skel.tar skel

[[email protected]]# ls -lh

总用量 40K

-rw-r--r--. 1 rootroot  10K 6月  11 15:28skel.tar

-x 还原归档,不删除归档文件

[[email protected]]# tar -xf skel.tar

[[email protected]]# ls

fstab.xz  skel skel.tar

--xattrs 在归档的同时,保留文件的扩展属性信息

-t 不展开归档查看归档了哪些文件

[[email protected]]# tar -cf V.tar a b c d

[[email protected]]# tar -tf V.tar

a/

b/

c/

d/

[[email protected]]# xz V.tar (既归档又压缩)

[[email protected]]# ls -lh

总用量 48K

-rw-r--r--. 1 rootroot  184 6月  11 15:38V.tar.xz

-zcf: 归档并调用gzip压缩

[[email protected]]# tar -zcf abcd.tar.gz a b c d

[[email protected]]# ls

a  abcd.tar.gz b  c  d

-xcf调用gzip解压缩并展开归档

-jcf调用bzip2

[[email protected]]# tar -jcf abcd.tar.bz2 a b c d

[[email protected]]# ls

a  abcd.tar.bz2 b  c  d

-jxf解压缩

-Jcf调用xz

[[email protected]]# tar -Jxf abcd.tar.xz a b c d

[[email protected]]# ls

a  abcd.tar.xz b  c  d

-Jxf解压缩

很多时候解压缩的时候展开的-J或者-j或者-z可以不写

tar -ztfabcd.tar.gz 不展开直接看里面的内容,同样这里的z或者j或者J可以省略

cpio :归档工具

[[email protected]]# file /boot/initramfs-2.6.32-504.el6.i686.img  /boot/initramfs-2.6.32-504.el6.i686.img: gzipcompressed data, from Unix, last modified: Mon Jun  6 17:35:04 2016, max compression

[[email protected]]# cp /boot/initramfs-2.6.32-504.el6.i686.img  /tmp  复制这个压缩文件到/tmp下

[[email protected]]# mv initramfs-2.6.32-504.el6.i686.img initramfs-2.6.32-504.el6.i686.img.gz

[[email protected]]# gzip -d initramfs-2.6.32-504.el6.i686.img.gz  解压缩

[[email protected]]# ls

a  abcd.tar.gz b  c  d initramfs-2.6.32-504.el6.i686.img

[[email protected]]# file initramfs-2.6.32-504.el6.i686.img  查看文件类型为cpio归档的文件

initramfs-2.6.32-504.el6.i686.img:ASCII cpio archive (SVR4 with no CRC)

练习:写一个脚本

从键盘让用户输入几个文件名,脚本能够将此几个文件归档并压缩成一个文件:

#!/bin/bash

read -p "Threefiles:" FILE1 FILE2 FILE3

read -p"Destination:" DEST

read -p"Compress[gzip|bzip2|xz]:" COMP

case $COMP in

xz)

tar -Jcf${DEST}.tar.xz $FILE1 $FILE2 $FILE3

;;

gzip)

tar -zcf${DEST}.tar.gz $FILE1 $FILE2 $FILE3

;;

bzip2)

tar -jcf${DEST}.tar.bz2 $FILE1 $FILE2 $FILE3

;;

*)

echo"Unknown."

exit 2

;;

esac

时间: 2024-12-27 22:15:20

linux_压缩文件及目录的相关文章

linux gzip(压缩文件或者目录)

减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间.gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用.gzip不仅可以用来压缩大的.较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式.据统计,gzip命令对文本文件有60%-70%的压缩率. 1.命令格式: gzip[参数][文件或者目录] 2.命令功能: gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多

PHP生成压缩文件开发实例

大概需求: 每一个订单都有多个文件附件,在下载的时候希望对当前订单的文件自动打包成一个压缩包下载 细节需求:当前订单号_年月日+时间.zip  例如: 1.生成压缩文件,压缩文件名格式: 2.压缩文件存放在根目录 /upload/zipfile/年月/自定义的压缩文件名.zip 3.点击下载压缩包,系统开始对压缩文件打包,打包完成后自动开始下载 4.为了防止暴露压缩包文件路径,需要对下载的压缩包文件名改名 具体操作模式请见下面的代码: 文件路径: 压缩包文件存放路径:/upload/zipfil

Ubuntu下压缩文件

数据压缩对我们来说是非常有用的.无论是在邮件中发送的图片用的zip文件还是在服务器压缩数据文件,我们都可以让下载更容易或者有效 的节约磁盘空间.某些压缩格式有时允许我们以60%的比率(甚至更高)压缩文件.下面我将会给大家演示如何用这些命令在Linux下面去压缩文件或者目录. 我们将学习zip, tar, tar.gz和tar.bz2等压缩格式的基本用法.这几个是在Linux里面常用的压缩格式. zip格式是第一个需要了解的格式.因为它实际上已成为压缩文件的标准选择,而且它在windows上也能使

JAVA输入/输出流程序例题(文件和目录、字节流、字符流)

一.文件和目录 1.显示文件的基本信息. 2.显示目录的基本信息. 3.在指定目录下创建单个文件. 4.指定目录下创建多个临时文件. 二.字节流 1.生成ZIP压缩文件 2.解压缩zip文件 3.生成Excel文件 4.读取excel文件 5.生成PDF文件 6.读取PDF文件中的内容 7.利用poi读取Word文件中的内容. 三.字符流 1.追加文件内容 2.读取jar包内容 3文件的加密/解密操作 JAVA加包+++右键项目+BuildPath+Add External Achievees.

Java使用Zip压缩文件或整个目录

1.压缩文件或整个目录 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.util.zip.ZipEntry

C#利用SharpZipLib解压或压缩文件(支持多层目录递归压缩)

需要下载ICSharpCode.SharpZipLib.dll 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 using System.IO; 8 using ICSharpCode.SharpZipLib.Checksums; 9 using ICSharpCode.SharpZip

tar命令——将文件/目录压缩到指定目录

有时候,我们可能会有这样的需求:将文件/目录压缩到指定目录.比如将/home和/boot目录的所有文件和目录本身压缩到bak目录下,一般情况我们要这样做的话,必须先建立一个bak目录,然后将/home和/boot目录复制到bak目录下,然后再打包压缩bak目录,这样的话,既浪费时间,又浪费磁盘空间. 现在有个更好的方法来解决这个问题,那就是利用tar的--xform参数,该参数的作用是在打包压缩时利用sed的替换命令修改文件名,你可以在文件名前加上前缀. 举个例子吧. tar czvf test

LINUX 压缩目录成一个压缩文件

#!/bin/bash file =$(date +%y%m%d%H%M)logfile=/home/目录名/backup/file.log echo "------"$(date +%Y-%m-%d%t%A%t%T)" Beginning backup--------" >>${logfile} #tar..tar -zcvf /home/ftp/1520/项目名称-20130801-OAl/$(date +%y%m%d%H%M)项目名称.tar.gz

Linux命令(十六) 压缩或解压缩文件和目录 zip unzip

目录 1.命令简介 2.常用参数介绍 3.实例 4.直达底部 命令简介 zip 是 Linux 系统下广泛使用的压缩程序,文件压缩后扩展名为 ".zip". zip 命令用来将文件压缩成常用的 zip 格式,unzip 命令则用来解压缩zip文件. 返回目录 常用参数介绍 zip 命令常见的参数如下所示: -a 将文件转成 ASCⅡ 模式 -F 尝试修复损坏的压缩文件 -h 显示帮助界面 -m 将文件压缩后,删除源文件 -n 不压缩具有特定字尾字符串的文件 -o 将压缩文件内的所有文件