zoukankan      html  css  js  c++  java
  • *.tar 用 tar –xvf 解压 *.gz 用 gzip -d或者gunzip 解压 *.tar.gz和*.tgz 用 tar –xzf 解压 *.bz2 用 bzip2 -d或者用bunzip2 解压 、*.tar.bz2用tar –xjf 解压

    解压:

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

      3、*.gz 用 gzip -dc解压或者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 500 - 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     指定行数进行切割。
    例:
    1、对examples.desktop文件进行切割。
    linux@ubuntu:~$ cat -n examples.desktop
         1 [Desktop Entry]
         2 Version=1.0
         3 Type=Link
         4 Name=Examples
         5 Comment=Example content for Ubuntu
         6 URL=file:///usr/share/example-content/
         7 Icon=folder
         8 X-Ubuntu-Gettext-Domain=example-content
         9
    linux@ubuntu:~$ split -l 1 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个文件。
    
    2、对examples.desktop进行分割,以数字后缀命名。
    nux@ubuntu:~$ split -l 1 --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:~$
    
    3、对二进制文件进行分割,块的大小为4G
    linux@ubuntu:~$ ls -h -l  data.tar.gz  #文件大小为147M,1个20M能分8个
    -rw-r--r-- 1 linux linux 147M 2011-01-28 21:04 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 实现增量备份
    1.使用find 命令找出etc目录下1天内修改过的文件,导入到file文件 find /etc -mtime -1 > file cat file
    2. 使用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.dylibhttps://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格式,也可以指定为其他格式,就不会出现乱码了

  • 相关阅读:
    odoo12 权限配置1
    Python 安装第三方库,pip install 安装慢,安装不上的解决办法
    odoo12 如何设置超级用户
    Python odoo中嵌入html简单的分页功能
    odoo Windows10启动debug模式报错(Process finished with exit code -1073740940 (0xC0000374))
    Python数据可视化库-Matplotlib(二)
    Python数据可视化库-Matplotlib(一)
    Python Pandas库的学习(三)
    Python Pandas库的学习(二)
    Python Pandas库的学习(一)
  • 原文地址:https://www.cnblogs.com/timssd/p/4389232.html
Copyright © 2011-2022 走看看