打包压缩与解压缩指令
文件压缩的可以理解成按照指定的一张表,将相同数据以特殊数据进行替换,让内容减少,解压缩是将这些数据重新再替换回来。文件压缩存在多种算法,同时压缩比率也不同。在Linux中有三种压缩方式,分别是zip,gzip,bzip2
zip指令
语法: zip + 常用选项+打包生成的文件名+需要被打包的文件
功能: 将目录或文件压缩成zip格式
常用选项
* -r 递 归处理,将指定目录下的所有文件和子目录一并处理
例1
zip passage.zip ./passwd ./virc 将该目录下的passwd文件与virc文件压缩到passage.zip中
unzip指令
将压缩.zip文件通过zip压缩的算法解压出原来的文件
语法: unzip + 需要被解压缩的压缩包文件
功能: 将.zip文件解压到当前目录中
例2
unzip passage.zip
gzip指令
语法: gzip + 需要压缩的文件名
功能: 通过gzip的压缩算法,将文件原地压缩,不生成新的冗余文件,文件经它压缩过后,其名称后面会多出".gz"的扩展名
例3
gzip passwd virc 将该目录下的passwd与virc文件进行压缩
以上操作产生的结果将是,原来的passwd与virc分别变成passwd.gz与virc.gz
gunziph指令
语法: gunzip + 需要解压的文件
功能: 将.gz文件戒烟出来
例4
gunzip passwd.gz virc.gz 将passwd.gz与virc,gz进行解压
bzip2和bunzip2指令
其功能与格式同gzip与gunzip相同,仅产生后缀名为.bz2的文件。
tar指令
对多个文件或文件夹进行打包,并且进行压缩与解压缩。
语法: tar+常用选项+文件或目录+参数
常用选项
* -c :建立一个压缩文件的参数指令(create 的意思);
* -x :解开一个压缩文件的参数指令!
* -t :查看 tarfile 里面的文件!
* -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
* -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
* -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!显示详细打包解包信息
* -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
* -C : 解压到指定目录
tar有以下功能
打包举例
打包一般将czvf进行组合使用,其是以gzip方式进行打包的,并且生成.tar.gz为后缀的文件,
语法: tar -czvf +filename.tar.gz +需打包的文件或者目录
辨析以下命令含义:
tar -cvf +filename.tar+… ——仅仅打包,不进行压缩,生成.tar为后缀名的文件
tar -czvf +filename.tar.gz +…——打包的同时进行压缩,以gzip的方式,同时生成以.tar.gz为后缀名的文件
tar -cjvf+filename.tar.bz2+…——打包的同时进行压缩,以bzip2的方式,同时生成以.tar.bz2为后缀名的文件
查阅举例
一般是指查阅.tar.gz或者.tar.bz2为后缀名的文件
一般使用tar + -(z/j)tvf +filename.tar.(gz/zb2)
解压缩举例
其中又分为全部解压缩以及其中的某一个文件进行解压缩
(1)全部解压缩
进入所要保存文件的目录中去之后 ,
敲入tar -(z/j)xvf +filename.tar.(gz/bz2)[也可以是绝对或相对路径]
(2)只想解压其中的某一个文件
进入所要保存文件的目录中去之后
敲入tar -(z/j)xvf+filename.tar.(gz/bz2)(空格)+filename/某一文件
文件备份举例
要求将所有文件备份下来,并且保存其权限
tar -(z/j)xvpf+filename.tar.(gz/bz2)+(空格)+/filename
【注意】-p 的属性是很重要的,尤其是当您要保留原本文件的属性时!