一、linux下的压缩和解压缩命令
1)tar指令压缩
下面的列表中显示了tar指令的纤细参数,其实主要的几个参数也就那么几个,使用tar指令可以直接分卷(不过这个分卷没有直接用过)
tar czvf file.tgz file/ //讲目录或者文件file压缩为file.tgz
tar czvfp - file.tar.gz | split -b 5m //压缩好的文件再分卷
cat x* > file.tgz //合并刚才分卷的文件 合并后的文件为file.tgz
.tar
解包:tar zxvf FileName.tar打包:tar czvf FileName.tar DirName
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思
压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar –xZvf file.tar.Z //解压tar.Z
- -A, --catenate, --concatenate 追加 tar 文件至归档
- -c, --create 创建一个新归档
- -d, --diff, --compare 找出归档和文件系统的差异
- --delete 从归档(非磁带!)中删除
- -r, --append 追加文件至归档结尾
- -t, --list 列出归档内容
- --test-label 测试归档卷标并退出
- -u, --update 仅追加比归档中副本更新的文件
- -x, --extract, --get 从归档中解出文件
- 操作修饰符:
- --check-device 当创建增量归档时检查设备号(默认)
- -g, --listed-incremental=文件处理新式的 GNU 格式的增量备份
- -G, --incremental 处理老式的 GNU 格式的增量备份
- --ignore-failed-read当遇上不可读文件时不要以非零值退出
- -n, --seek 归档可检索
- --no-check-device 当创建增量归档时不要检查设备号
- --occurrence[=NUMBER] 仅处理归档中每个文件的第 NUMBER个事件;仅当与以下子命令 --delete,
- --diff, --extract 或是 --list中的一个联合使用时,此选项才有效。而且不管文件列表是以命令行形式给出或是通过
- -T 选项指定的;NUMBER 值默认为 1
- --sparse-version=MAJOR[.MINOR]设置所用的离散格式版本(隐含--sparse)
- -S, --sparse 高效处理离散文件
- 重写控制:
- -k, --keep-old-files 解压时不要替换存在的文件
- --keep-newer-files不要替换比归档中副本更新的已存在的文件
- --no-overwrite-dir 保留已存在目录的元数据
- --overwrite 解压时重写存在的文件
- --overwrite-dir解压时重写已存在目录的元数据(默认)
- --recursive-unlink 解压目录之前先清除目录层次
- --remove-files 在添加文件至归档后删除它们
- -U, --unlink-first 在解压要重写的文件之前先删除它们
- -W, --verify 在写入以后尝试校验归档
- 选择输出流: