解压:

  1、*.tar 用 tar –xvf 解压, --skip-old-files跳过已经存在的文件,压缩用tar -cvf
  2、*.bz2 用 bzip2 -d或者用bunzip2 解压

  3、*.gz 用 gzip -d或者gunzip -c解压

gzip命令中,  -1或--fast最快,-9或--best最慢压(高压缩比)。系统缺省值为6。

    压缩,并保留源文件: gzip –crv --fast filename > filename.gz 
    解压,并保留源文件: gzip -dc 2.gz >2.txt,

gunzip –c filename.gz > filename
    gzip不能压缩文件夹,要先压缩成tar, 再gzip -c f >f.gz

  4、*.tar.gz和*.tgz 用tar -zxvf解压,用tar -zcvf解解

    指定高压缩比:GZIP="-9" tar zcvf homee.tgz ./homee

  5、*.tar.bz2用tar -jxvf 解压,用tar -jcvf压缩
  6、*.tar.xz用tar -Jxvf 解压,用tar -Jcvf压缩

6、*.Z 用 uncompress 解压

  7、*.tar.Z 用tar –xZf 解压

  8、*.rar 用unrar x file.rar ./ 解压, 用rar a file.rar file1 file2压缩,  下载地址: http://www.rarlab.com/rar/rarlinux-x64-5.4.b4.tar.gz,

FU盖:find . -name "*.rar" -exec unrar x -o+ {} \;               From unrar usage: o[+|-] Set the overwrite mode

    解压时指定解压目录,否则出现"No such file or directory*** stack smashing detected ***: rar terminated. Segmentation fault (core dumped)"

  9、*.zip解压: 用unzip FileName.zip解压, 用zip -r FileName.zip ./DirName压缩

10  *.7z解压: 用7za x *.7z解压, 用7za a 1.7z ./1.txt压缩

  11. 批量解压文件:   for f in `ls --color=none`; do rar -y x -p123456 $f; done

  12. *.xz 归档用xz -z, 解压用xz -d

要将目录logs打包压缩并分割成多个1M的文件,可以用下面的命令:
tar cjf - logs/ | split -b 1m --numeric-suffixes - logs.tar.bz2.
完成后会产生下列文件:
logs.tar.bz2.01, logs.tar.bz2.02, logs.tar.bz2.03
要解压的时候只要执行下面的命令就可以了:
cat logs.tar.bz2.a* | tar xj 再举例:
要将文件test.pdf分包压缩成500 bytes的文件:
tar czf - test.pdf | split -b - test.tar.gz
最后要提醒但是那两个"-"不要漏了,那是tar的ouput和split的input的参数。 tar cjf - logs/ |split -b 1m - logs.tar.bz2.
完成后会产生下列文件:
logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac
要解压的时候只要执行下面的命令就可以了:
cat logs.tar.bz2.a* | tar xj
或者:
cat logs.tar.bz2.a* > logs.tar.bz2
tar -jxvf logs.tar.gz2
昨天导出了一个oracle全表dmp文件,约60G。compress压缩后还有12G。
本想下载到本地硬盘E,无奈看了下,本地硬盘格式是fat32的,而超过4G的文件需要NTFS才行。手动转换文件系统也挺麻烦,直接转怕把盘废了,备份么要1个多小时。
就想了个其他的办法,将dmp文件分块。12G么分成3G*4好了。
于是查找资料,发现其实并不是tar命令本身支持的,而是直接得将数据文件强行分隔。
压缩xxx.dmp文件:
compress xxx.dmp
生成xxx.dmp.Z。 将文件分块:
split -b xxx.dmp
生成xaa,xab,xac,xad,xae五个文件(分四块还不够,多出来一点); 然后就是传输到目标server:
scp xaa username@192.168.11.83:
当然,这个传输要很长时间(网络跨度比较大)。
而且scp又不能跑后台运行,查了下资料,发现可以用ssh-keygen这个工具来生成公钥和私钥来进行无密码传输,省去了交互的部分。就可以直接在后台运行了。这部分下下面的一篇文章中有详细的介绍(转过来的)。 传输完成后,再将各个分块文件合并:
cat xa* > xxx.dmp.Z
然后就是uncompress xxx.dmp.Z了。 另外就压缩工具再记录一下:
tar
j tar.bz2格式压缩(经过测试,相对于zip/gzip/compress压缩的的效率最高);
z tar.gz格式压缩;
v 显示压缩过程;
f 指定文件;
t 预览压缩包中的内容;
p 保留原压缩文件中的权限;
c 表示打包;
x 表示解包;
举例:
有目录或文件lyon
现在要压缩成tar.gz格式的,且压缩后的文件名为:lyon.tar.gz
则有: tar zcvf lyon.tar.gz lyon (这个命令unix和linux都是支持的) 如果要压缩成tar.bz2格式
则有: tar jcvf lyon.tar.bz2 lyon (这个格式在有些unix上不支持) 直接打tar包:
tar cvf lyon.tar lyon
然后压缩:
gz: gzip -S .gz lyon.tar
bz2: bzip2 -S .bz2 lyon.tar 对以上文件打包了,然后又想查看这个包里面的内容,则可以用t参数来实现:
tar:tar vtf lyon.tar
tar.bz2: tar jtvf lyon.tar.bz2
tar.gz: tar ztvf lyon.tar.gz 如果想保留原有文件的权限,则有:
tar zxvfp lyon.tar.gz
split文件切割: split [选项] [要切割的文件] [输出文件名前缀]
-a, --suffix-length=N 切割文件的后缀的位置,default 为2
-b, --bytes=SIZE 指定块的大小,可以指定size的单位,b表示512字节,k代表1K字节,m代表1M字节,还有G,T,P
-d, --numeric-suffixes 利用数据前缀,而不是字母前缀,默认是字母前缀。
-l, --lines=NUMBER 指定行数进行切割。
例:
、对examples.desktop文件进行切割。
linux@ubuntu:~$ cat -n examples.desktop
[Desktop Entry]
Version=1.0
Type=Link
Name=Examples
Comment=Example content for Ubuntu
URL=file:///usr/share/example-content/
Icon=folder
X-Ubuntu-Gettext-Domain=example-content linux@ubuntu:~$ split -l examples.desktop ex_
linux@ubuntu:~$ ls ex_*
ex_aa ex_ab ex_ac ex_ad ex_ae ex_af ex_ag ex_ah ex_ai
linux@ubuntu:~$
观察examples.desktop有9行,我们测试每一行分割成一个小文件。结果生成了ex_aa ... ex_ai9个文件。 、对examples.desktop进行分割,以数字后缀命名。
nux@ubuntu:~$ split -l --numeric-suffixes examples.desktop cdyemail_
linux@ubuntu:~$ ls cdye*
cdyemail_00 cdyemail_02 cdyemail_04 cdyemail_06 cdyemail_08
cdyemail_01 cdyemail_03 cdyemail_05 cdyemail_07
linux@ubuntu:~$ 、对二进制文件进行分割,块的大小为4G
linux@ubuntu:~$ ls -h -l data.tar.gz #文件大小为147M,1个20M能分8个
-rw-r--r-- linux linux 147M -- : data.tar.gz
linux@ubuntu:~$ split -b 4000M --numeric-suffixes data.tar.gz  data.tar.gz.
 linux@ubuntu:~$ ls email_* email_00 email_01 email_02 email_03 email_04 email_05 email_06 email_07 通过测试可以看出已经分割成8个文件了。 

Tar 实现增量备份 
.使用find 命令找出etc目录下1天内修改过的文件,导入到file文件 find /etc -mtime - > file cat file
. 使用TAR备份最近1天更改过的文件 tar -cvf etc.tar -T file mac安装7za:brew install p7zip 
linux安装7za:sudo apt-get install p7zip
7za解压:7za x phpMyAdmin-3.3.8.1-all-languages.7z -r -o ./
7za压缩:7za a -t7z -r Mytest.7z /opt/phpMyAdmin-3.3.8.1-all-languages/* mac安装unrar:
brew install unrar

mac安装rar:

高版本出错Expected in: /usr/lib/libSystem.B.dylib:https://www.rarlab.com/download.htm

低版本:http://www.winrarmac.com/

sudo install -c -o $USER rar /usr/local/bin

sudo install -c -o $USER unrar /usr/local/bin

Linux中unzip解压出现mismatching "local" filename和continuing with "central" filename version,是中文乱码问题,压缩文件中有中文命名的文件,解压出来就出现了乱码,

解决方法:指定解压的文件格式:unzip -O UTF-8 front.zip ,指定为utf-8格式,也可以指定为其他格式,就不会出现乱码了

*.tar 用 tar –xvf 解压 *.gz 用 gzip -d或者gunzip 解压 *.tar.gz和*.tgz 用 tar –xzf 解压 *.bz2 用 bzip2 -d或者用bunzip2 解压 、*.tar.bz2用tar –xjf 解压的更多相关文章

  1. 使用tar解压文件提示gzip: stdin: not in gzip format错误

    使用tar解压文件提示gzip: stdin: not in gzip format错误 1. 问题描述 使用docker save xxxx > xxx.tar导出镜像,由于文件太大,需要sp ...

  2. Java实现文件压缩与解压[zip格式,gzip格式]

    Java实现ZIP的解压与压缩功能基本都是使用了Java的多肽和递归技术,可以对单个文件和任意级联文件夹进行压缩和解压,对于一些初学者来说是个很不错的实例. zip扮演着归档和压缩两个角色:gzip并 ...

  3. MongoDB解压报错gzip: stdin: not in gzip format的解决方法

    MongoDB解压报错gzip: stdin: not in gzip format的解决方法 在安装MongoDB时出现如下报错: [root@vm172--- mongodb]# tar -zxv ...

  4. 解压.tar.gz出错gzip: stdin: not in gzip format tar: /Child returned status 1 tar: Error is not recoverable: exiting now

    先查看文件真正的属性是什么? [root@xxxxx ~]# tar -zxvf tcl8.4.16-src.tar.gz  gzip: stdin: not in gzip format tar: ...

  5. memcached解压报错gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now的解决方法

    最近在部署环境,在安装memcached的过程中解压时, 解压命令:tar -zvxf memcached-1.4.34.tar.gz 遇到了一个问题, gzip: stdin: not in gzi ...

  6. 解压报错gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now的解决方法

    在部署tomcat的环境搞JDK的时候出现这个问题.分享一下. 解压命令:tar -zvxf memcached-1.4.34.tar.gz 遇到了一个问题, gzip: stdin: not in ...

  7. VB6进行GZIP解压&C#进行GZIP压缩和解压

    VB进行GZIP解压的,DLL是系统的,如果没有 [点击下载] Option Explicit 'GZIP API '----------------------------------------- ...

  8. linux解压zip、bz、bz2、z、gz、tar(解包)

    zip: 压缩: zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>] ...

  9. linux下tar gz bz2 tgz z等众多压缩文件的压缩与解压方法

    Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进 行压缩了,所以首先就来讲讲ta ...

随机推荐

  1. Python学习笔记二--函数

    1.使用global语句定义全局变量 2.默认参数 默认参数值应该是不可变的.注意: 只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的 ...

  2. arcpy 常用操作

    目录: 通用操作 条件函数 前提: import arcpy from arcpy.sa import * 1.通用操作 设置工作路径:arcpy.env.workspace("path_o ...

  3. 面试题:Nginx 是如何实现高并发?常见的优化手段有哪些?

    面试题: Nginx 是如何实现并发的?为什么 Nginx 不使用多线程?Nginx常见的优化手段有哪些?502错误可能原因有哪些? 面试官心理分析 主要是看应聘人员的对NGINX的基本原理是否熟悉, ...

  4. nginx相关总结

    1. Nginx 无法启动解决方法 在查看到 logs 中报了如下错误时: 0.0.0.0:80 failed (10013: An attempt was made to access a sock ...

  5. JAVA中的面向对象与内存解析_1

    对象的创建和引用   必须使用new关键字创建对象. 使用对象(引用成员变量或来引用对象的成员变量. 使用对象(引用)方法(参数列表)来调用对象的方法. 同一类的每个对象有不同的成员变量存储空间. 同 ...

  6. Java并发AtomicLongArray类

    java.util.concurrent.atomic.AtomicLongArray类提供了可以原子读取和写入的底层long类型数组的操作,并且还包含高级原子操作. AtomicLongArray支 ...

  7. PHP 实现小偷程序

    为什么使用“小偷程序”? 远程抓取文章资讯或商品信息是很多企业要求程序员实现的功能,也就是俗说的小偷程序.其最主要的优点是:解决了公司网编繁重的工作,大大提高了效率.只需要一运行就能快速的抓取别人网站 ...

  8. SCAU大二上Java综合性实验

    一.题目要求 实验内容: 1. 已经提供的原始数据:班级成绩单文件 该文件为文本文件,存储某个班的所有学生某门课程的成绩. 例如:2012级计算机科学与技术8班-面向对象程序设计.txt 文件中每行存 ...

  9. sciencedirect 网站抓取过程

      开发环境 C#+SQLite 软件使用教程: 设置页面 1.        首先录入需要查询的关键词,如果需要根据年去查询,可以勾选对应的年,支持多个年份查询.点击[设置关键字]按钮,把待查询关键 ...

  10. linux mysql数据库安装

    1.创建mysql用户账号:groupadd mysqluseradd -d /sbin/nolog -g mysql -M mysql-s /sbin/nologin 表示禁止该用户登录,只需要角色 ...