2019-10-14 16:42:45 alnorthword 阅读数 75

压缩命令:

命令格式:

tar -zcvf 压缩文件名 .tar.gz 被压缩文件名

可先切换到当前目录下,压缩文件名和被压缩文件名都可加入路径。

解压缩命令:

命令格式:

tar -zxvf 压缩文件名.tar.gz

解压缩后的文件只能放在当前的目录。

2019-02-27 10:20:14 weixin_43714266 阅读数 393

linux下压缩/解压tar.gz、.gz、zip文件命令

1、zip格式

把 xxx 压缩为 xxx.zip :

#zip xxx.zip xxx

解压xxx.zip :

#unzip xxx.zip

2、tar.gz格式

解压 xxx.tar.gz :

#tar -zxvf xxx.tar.gz

解压 xxx.tar.gz 到指定目录:

#tar -zxvf xxx.tar.gz -C /usr/local/xxx

压缩 fileName 至 fileName.tar.gz

#tar zxcf fileName.tar.gz  fileName

3、.gz格式

压缩xxx里面的子文件(gzip -r 不会压缩xxx为xxx.gz,只会把xxx文件夹里面的单个文件压缩为gz):

#gzip -r xxx

解压xxx.gz

#gunzip xxx.gz 
2019-03-11 22:18:35 fangye945a 阅读数 295

        在linux系统中,经常用到tar.gz格式进行压缩,许多搭建在linux服务器上的升级文件必须为tar.gz格式。为了方便文件压缩,故想到通过Qt制作安装包工具,在windows下按照自定义格式进行文件打包压缩。

        而在windows下进行压缩,需要借助7z压缩工具:https://www.7-zip.org/download.html

通过调用7z命令来进行压缩,如上图所示,除命令行工具外,当然也有源码和sdk,有兴趣可以自行研究 。下面仅介绍最简单的方法-------通过调用7z命令实现文件压缩。

一、7z工具包下载下来后,首先通过dos命令查看其用法。  

进入解压目录,输入7za.exe --help,查看命令用法。

7za.exe主要用到如下几个参数:

二、QT调用7z命令压缩

命令行通过如下命令,可次直接将文件夹test打包成test.tar.gz文件。

# 7za.exe a -ttar -so test.tar test/* | 7za.exe a -si test.tar.gz

但是通过QProcess 调用该命令如法实现功能,猜测可能是windows Qt不支持管道命令 | (若有大佬一步实现压缩,欢迎留言),所以QT进行tar.gz压缩时需要分两步来进行,首先通过tar归档文件为.tar文件,然后通过gzip将.tar文件压缩为.tar.gz文件。

三、调用7za.exe相关代码如下:

    QProcess *process = NULL;
//QString  cmd_format = "7za.exe --help";  //测试能够调用7za.exe命令
    QString  cmd_format = "7za.exe a -ttar service.tar \""; //生成归档文件
    cmd_format += ui->service_update_dir->text();  //通过QFileDialog选择的目录
    cmd_format += "/*";  //目录下的所有文件
    qDebug()<<"cmd = "<<cmd_format;
    process = new QProcess(this);

    process->start(cmd_format);  //压缩为service.tar
    process->waitForFinished(); //等待执行完成
    qDebug()<<"Result:"<<process->readAll();

    cmd_format = "7za.exe a -tgzip ";  //生成gz文件
    cmd_format += ui->service_output_dir->text();  //gz文件生成目录
    cmd_format += "/service.tar.gz";
    cmd_format += " service.tar";
    qDebug()<<"cmd = "<<cmd_format;

    process->start(cmd_format);
    process->waitForFinished(); //等待执行完成
    qDebug()<<"Result:"<<process->readAll();
    process->deleteLater();

    QFile::remove("service.tar"); //删除中间归档文件

运行时需要将7za.exe程序及dll拷贝至工程目录下,否则无法执行7za.exe命令。如图所示:

2019-03-12 09:11:27 qq_39402742 阅读数 105

常用压缩格式:zip   gz   bz2

常用压缩格式:.tar.gz    .tar.bz2

  • zip格式压缩

zip 【压缩文件名】【原文件】         #压缩文件

zip -r 【压缩文件名】【原目录】      #压缩目录

  • gz格式压缩

gzip 【原文件】  #压缩为.gz格式的压缩文件、原文件会消失

gzip -c 原文件 > 压缩文件     #压缩为.gz格式原文件保留

例如:gzip -c cangls > cangls.gz

gzip -r 根目录 #压缩目录下所有的子文件,但是不能压缩目录

  • .bz2格式压缩

​​​​​​​bz2 原文件     #压缩为.bz2格式,不保留原文件

.bzip2 -k 原文件     #压缩之后保留原文件

 

注意:.bzip2不能压缩目录

2015-03-04 11:41:17 qinzongjian 阅读数 18

Linux下*.tar.gz文件解压缩命令

1.压缩命令:

  命令格式:tar  -zcvf   压缩文件名.tar.gz   被压缩文件名

      可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。

 

2.解压缩命令:

  命令格式:tar  -zxvf   压缩文件名.tar.gz

  解压缩后的文件只能放在当前的目录。

没有更多推荐了,返回首页