Linux命令——Linux文件压缩和解压使用记录
一:tar(可压缩可解压)
- tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。但是tar本身只是一个文件打包工具,只有和其他工具组合时才具有压缩/解压文件功能。
- 使用tar命令压缩文件的格式是:tar 参数[主选项+辅选项] '文件或目录 '
- 参数主选项
- -c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
- -r 把要存档的文件追加到档案文件的未尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
- -t 列出档案文件的内容,查看已经备份了哪些文件。
- -u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
- -x 从档案文件中释放文件。
- 参数副选项
- -b 该选项是为磁带机设定的,其后跟一数字,用来说明区块的大小,系统预设值为20(20×512 bytes)。
- -f 指定档案文件名或设备名,这个选项通常是必选的,此参数必须放在最后,后面跟被压缩或者解压的文件名称。
- -k 保存已经存在的文件。例如把某个文件还原,在还原的过程中遇到相同的文件,不会进行覆盖。
- -m 在还原文件时,把所有文件的修改时间设定为现在。
- -M 创建多卷的档案文件,以便在几个磁盘中存放。
- -v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
- -w 每一步都要求确认。
- -z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
- 使用方法
- tar命令可以将文件打包,一般打包文件时我们习惯将打包后的文件后缀设置为.tar
- 打包:tar -cvf '生成文件名称' '被打包的文件或者目录名称'
- eg: tar -cvf 'test.bpm.tar' 'test.bpm',在当前目录下得到文件test.bpm.tar
- eg: tar -cvf '/home/test.bpm.tar' 'test.bpm',在/home目录写得到文件test.bpm.tar
- 解包:tar -xvf '被解包的文件名称'
- eg: tar -xvf 'test.bpm.tar',在当前目录下得到文件test.bpm
- eg: tar -xvf 'test.bpm.tar' -C '/home/',在/home目录下得到文件test.bpm,解包到其他路径下一定要使用 -C 参数
- 打包:tar -cvf '生成文件名称' '被打包的文件或者目录名称'
- tar命令可以使用参数-z,以gzip方式将文件压缩或者解压。一般打包文件时我们习惯将打包后的文件后缀设置为.tar.gz
- 压缩文件:tar -czvf '文件或者目录名称'
- eg: tar -czvf 'test.bpm.tar.gz' 'test.bpm',在当前目录得到文件test.bpm.tar.gz
- eg: tar -czvf '/home/test.bpm.tar.gz' 'test.bpm',在/home目录得到文件test.bpm.tar.gz
- 解压文件:tar -xzvf '文件或者目录名称'
- eg: tar -xzvf 'test.bpm.tar.gz',在当前目录得到文件test.bpm
- eg: tar -xzvf 'test.bpm.tar.gz' -C '/home/' ,在home目录得到文件test.bpm
- 压缩文件:tar -czvf '文件或者目录名称'
- tar命令可以将文件打包,一般打包文件时我们习惯将打包后的文件后缀设置为.tar
- 报错提示
- 打包或者压缩时
- 报错:谨慎地拒绝创建空归档文件
- 原因:没有指定打包或者压缩文件后的名称
- 解包或者解压时
- 报错:归档中找不到
- 原因:在指定解包或者解压后文件存放位置时,没有使用 -C 参数,不能够成功指定文件存放位置
- 打包或者压缩时
二:gzip和gunzip
- gzip:将文件压缩为后缀为.gz的文件
- 使用gzip命令压缩文件的格式是:gzip 参数[选项] '文件或目录 '
- 参数
- -d 解开压缩文件;
- -c 将输出写到标准输出上,并保留原有文件。
- -r 递归处理,将指定目录下的所有文件及子目录一并处理
- -f:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
- -L:显示版本与版权信息;
- -n:压缩文件时,不保存原来的文件名称及时间戳记;
- -N:压缩文件时,保存原来的文件名称及时间戳记;
- -t:测试压缩文件是否正确无误;
- -<压缩效率>:压缩效率是一个介于1~9的数值,预设值为“6”,指定愈大的数值,压缩效率就会愈高;
- --best:此参数的效果和指定“-9”参数相同;
- --fast:此参数的效果和指定“-1”参数相同。
- 栗子
- 将test.bpm文件压缩到当前目录
- 方法一:gzip -crf 'test.bpm' > 'test.bpm.gz' 。得到文件test.bpm.gz
- 方法二:gzip -rf 'test.bpm' 。得到文件test.bpm.gz
- 注意,以上两种方法的区别是方法一将文件压缩之后,源文件不会消失,但是却需要自己指定压缩后的文件名称;方法二将文件压缩之后,源文件会消失不见,但是却不需要自己指定压缩后的文件名称,会自动生成后缀为 .gz 的和源文件名称相同的文件
- 将test.bmp文件压缩到指定目录
- gzip cf 'test.bpm' > '/home/test.bpm.gz'。得到文件test.bpm.gz
- 将test.bpm文件压缩到当前目录
- gunzip:将后缀为.gz文件解压
- 使用gzip命令压缩文件的格式是:gzip 参数[选项] '文件或目录 '
- 参数同gzip相同
- 栗子
- 将test.bpm.gz文件解压到当前目录
- 方法一:gunzip -crf 'test.bpm.gz' > 'test.bpm'。得到文件test.bpm
- 方法二:gunzip -rf 'test.bpm.gz' 。得到文件test.bpm
- 注意,以上两种方法的区别是方法一将文件解压之后,源文件不会消失,但是却需要自己指定解压后的文件名称;方法二将文件解压之后,源文件会消失不见,但是却不需要自己指定解压后的文件名称,会自动解压成和源文件名称相同的文件
- 将test.bpm.gz文件解压到指定目录
- gunzip -crf 'test.bpm.gz' > '/home/test.bpm'。得到文件test.bpm
- 将test.bpm.gz文件解压到当前目录
- gzip 使用参数 -d 时,作用等同于gunzip。也就是当解压.gz文件时,使用 gzip -d 对文件进行解压也是一样的。参数设置也是一样的。
三:zip和unzip
- 使用zip/unzip命令压缩文件的格式是:zip 参数[选项] '文件或目录 '
- zip
- 参数
- -c:将解压缩的结果
- -l:显示压缩文件内所包含的文件
- -n:解压缩时不要覆盖原有的文件
- -v:执行是时显示详细的信息
- -C:压缩文件中的文件名称区分大小写
- -t:检查压缩文件是否正确
- -u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中
- 栗子
- 将test.bpm文件压缩到当前目录:zip -rv 'test.bpm.zip' 'test.bpm'
- 将test.bpm文件压缩到/home指定目录:zip -rv '/home/test.bpm.zip' 'test.bpm'
- 参数
- unzip
- 参数
- -d<目录>:指定文件解压缩后所要存储的目录;
- 栗子
- 将test.bpm.gz文件解压到当前目录:unzip 'test.bpm.zip'
- 将test.bpm文件解压到/home指定目录:zip '/home/test.bpm.zip' -d '/home'
- 参数