首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏沈钦华的专栏

    golang封装tar打包解包

    在golang项目中,需要对文件夹进行tar.gz打包然后分发。搜了下github,没有找到现成可用的库,只好自己进行封装。 这里想到了2个实现方案: 1、使用官方的archive/tar库,自行实现压缩打包解包的过程; 2、通过os/exec调用shell命令,直接调用系统的tar命令进行打包; 这里先介绍下方案一的实现, 方案二在另外篇幅说明 方案一:使用archive/tar库封装 这个方案实现起来也不难,大体思路是打包时遍历目录的所有文件,通过tar.Writer写入到tar包,在写入的过程中处理下header的信息 解包则通过tar.Reader读取tar包的信息,根据header.Name创建文件然后将内容拷贝进去。 = nil { return err } return nil }) } 解包 解包的总体逻辑基本和压缩的逻辑反过来即可,即遍历tar包内的header,

    3.2K10发布于 2021-10-15
  • 来自专栏沈钦华的专栏

    golang封装tar打包解包之二

    好久没上来这里写专栏了,发现上一篇有关tar打包解包还留着一个坑。这里补上。本文介绍下通过os/exec调用shell命令,直接调用系统的tar命令进行打包。 方案二、通过调用系统的tar命令基本思路是先拼接tar打包解包的命令,然后调用os/exec包的CommandContext方法执行shell命令。这里要求操作系统中需要有tar命令。 string) error { // e.g: tar -zcf test.tar.gz -C /tmp/ test cmdStr := "tar -zcf " + tarFileName + + filepath.Dir(sourceFullPath) + " " + filepath.Base(sourceFullPath) return tlp.exec(cmdStr)}解压同压缩打包 -zxf /tmp/test.tar.gz -C /tmp/ cmdStr := "tar -zxf " + tarFileName + " -C " + dstDir return tlp.exec

    42920编辑于 2023-11-07
  • 来自专栏zingpLiu

    打包命令tar

    tar是linux下最常用的打包命令,使用tar打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的,也有.gz或.bz2结尾的。 1 常用参数 -c,--create # 新建打包文件,搭配-v查看被打包的文件名 -t,--list  # 列出包的内容(有那些文件名) -x,--extract # 解压 -j,--bzip2 # 通过bzip2的支持进行压缩和解压缩,文件名最好为*.tar.bz2 -z,--gzip # 通过gzip的支持进行压缩或解压缩,文件名最好为*.tar.gz directory = DIR  # 解压到特定目录DIR -p # 保留备份数据文件的权限和属性,常用于备份重要的数据 -P # 保留打包文件的根目录 -X, --exclude-from=FILE # 排除指定文件 2 常用组合示例 2.1 打包 参数组合:将a.txt b.txt c.txt d.txt这四个文件打包成abcd.tar.bz2

    2.3K50发布于 2018-09-05
  • 来自专栏码客

    Android apk解包打包

    解包 apktool d -f ./RetroArch_aarch64.apk 或者 apktool d -f . /RetroArch_aarch64.apk -o RetroArch_aarch64 打包 apktool b RetroArch_aarch64 生成的apk默认放在RetroArch_aarch64 [否]: y 目录中就会生成psvmc.keystore文件 签名打包 jarsigner -verbose -keystore psvmc.keystore -signedjar RetroArch_aarch64

    2.3K30发布于 2019-10-21
  • 来自专栏全栈程序员必看

    tar 打包压缩命令

    tar 命令用于文件的打包或压缩,是最为常用的打包压缩命令,其语法格式如下: tar [选项] 文件名.tar.gz 源文件 tar -cvfz xxx.tar.gz source_file (tar -cvfz 包名.tar.gz 源文件) #以tar.gz方式打包并gz方式压缩 tar -xvfz xxx.tar.gz -C path (tar -xvfz xxx.tar.gz -C 目标路径) #解压缩包 注意:使用tar命令,打包仅仅是打包xxx.tar打包并压缩就是xxxx.tar.gz,打包压缩的文件一定要指定文件格式,这样解包解压才好用对应的参数来解包解压缩 常用参数选项: -c --create :创建新的归档文件,即打包打包的意思就是说把一堆文件打包成一个文件 -v --verbose :可视化,显示详细的tar处理的文件信息的过程 -f -- etc.tar #解包 [root@Centos8 shell_scripy]# tar -czvf etc.tar.gz /etc/ #打包并压缩/etc/目录,压缩包存放在当前目录,名字为etc.tar.gz

    1.6K20编辑于 2022-09-04
  • 来自专栏防止网络攻击

    Linux tar打包命令

    不仅如此,该命令还可以从归档文件中还原所需文件,也就是打包的反过程,称为解打包。 使用 tar 命令归档的包通常称为 tar 包(tar 包文件都是以“.tar”结尾的)。 tar命令做打包操作 当 tar 命令用于打包操作时,该命令的基本格式为: [root@localhost ~]#tar [选项] 源文件或目录 需要注意的是,在使用 tar 命令指定选项时可以不在选项前面输入 下面给大家举几个例子,一起看看如何使用 tar 命令打包文件和目录。 【例 1】打包文件和目录。 test.tar.gz tar命令做解打包操作 当 tar 命令用于对 tar 包做解打包操作时,该命令的基本格式如下: [root@localhost ~]#tar [选项] 压缩包 其实解打包打包相比 文件包中文件的详细信息 tar命令做打包压缩(解压缩解打包)操作 你可能会觉得 Linux 实在太不智能了,一个打包压缩,居然还要先打包成 ".tar" 格式,再压缩成 ".tar.gz" 或 ".tar.bz2

    3.3K30编辑于 2023-10-31
  • 来自专栏全栈程序员必看

    tar打包命令(linux)

    1.打包命令: tar -cvf 归档路径 被打包文件路径。 (c--create archive v-verbose f --file ,f指归档路径,故f必须放在其他选项之后,而且-可省略不写) 单独打包命令: tar -cvf 归档路径 被打包路径 (整体文件变大,后缀一般是.tar) gzip压缩命令: tar -zcvf 归档路径 被打包路径. (gun-zip压缩,后缀一般是.tar.gz) bzip2压缩命令: tar -jcvf 归档路径 被打包路径. [root@lbg test]# tar -zcvf test.tar.gz a b c d ---打包并gzip压缩。

    6.8K20编辑于 2022-09-03
  • 来自专栏悟空被FFmpeg玩

    tar打包原理分析

    这个是在一个while循环里面做的,我使用的是一个打包的参数,不带压缩参数: 1837 (gdb) p argv[0]1838 $63 = 0xbffff758 "/home/liuqi/dvntar SET_COMMAND_MODE (COMMAND_CREATE);  1317 break; 这里需要注意,后面会提到,设置命令模式为COMMAND_CREATE模式,这个在main里面会看到,打包的工作主要是也在这里做 fprintf (stderr, _("Total bytes written: %d\n"), tot_written);  1623 break; 到这里了,会进入create_archive (); 打包的操作主要是在这里进行 open_archive (0); /* open for writing */ 遇到一个open_archive函数,在这之前,我们会看到,还没有创建我们要写入的文件包,创建包是在这里进行的,执行完这个函数后,就会看到打包的文件了 cscope.out cscope.po.out dvntar example example.tar.gz lib lib.tar.gz Makefile sad sad.tar src tags[

    2.2K20发布于 2019-03-05
  • 来自专栏编程学习基地

    文件打包解包的方法

    例如腾讯QQ里面的资源图片,哪怕你用Everything去搜索也搜索不到,那是因为腾讯QQ对这些资源图片进行了打包,当软件运行的时候解包获取资源图片。 举个栗子: ? 这是我用RDB打包解包工具对QQ某一目录下的.rdb文件进行解包得到的表情包资源,还有头像资源等等。。 这种打包不是压缩包那种经过算法压缩,而是将一堆资源写入到一个文件里面,解包的时候按照打包的方式读取,达到防止用户出于恶趣味更改图片资源。 这期介绍下C++利用文件操作进行文件的打包解包.. 正文 打包解包 ---- 要想将文件打包生成文件,我们需要一张索引表,索引表里面包括关于文件的信息,例如文件名,文件大小.. 然后开始关于C++文件操作的打包解包: #include<iostream> using namespace std; #include <fstream> //索引表大小:4 文件数量:4 文件

    2.3K30发布于 2020-05-12
  • 来自专栏丑胖侠

    linux下不解包查看tar包文件内容

    为减少日志文件占用的空间,很多情况下我们会将日志文件以天或周为周期打包tar.gz 包保存。虽然这样做有利空间充分利用,但当我们想查看压缩包内的内容时确很不方便。 直接查看tar.gz压缩包里的内容可以使用: zcat xxx.tar.gz 但是想要在其后面直接加管道grep处理呢? zcat vsftpd.tar.gz|grep --binary-files=text 'footbar.js'或 zgrep --binary-files=text 'footbar.js' vsftpd.tar.gz 因为我压缩是用的tar czvf参数进行的打包。其实现上经过tar与gzip两层压缩。导致其直接不能管道。如果不解包想直接查看压缩包里包含了那些文件呢? 可以用下面的命令: [root@back tmp]# tar tvf vsftpd.tar.gz -rw------- root/root 441453365 2013-06-03 16:19:56 vsftpd.log

    5.6K60编辑于 2022-05-06
  • 来自专栏linux系统运维

    zip压缩以及tar打包

    如果用unzip解压不指定路径那么它默认的是当前目录(确定当前目录是否有重复文件)(解压zip的压缩文件不能修改文件名) unzip -l (需要查看的文件名字)     查看一个zip的压缩文件 tar 打包工具: 打包完以后如果再次对同一个文件进行打包那么文件会被直接替代不会有任何提示。 解压tar打包文件也是同样,再次对用一个tar打包文件解压会直接覆盖上次解压的内容并且不会提示。 文件和目录可以一起打包。 过滤掉你不想打包的文件 --exclude (文件名字) 可以写多个条件但是每个条件都要加上--exclude       (*号文件必须用双引号引起来   格式 =“*”) tar -tf (需要查看 tar打包的文件名字)   =    查看tar打包文件 打包并压缩: 扩展: http://ask.apelearn.com/question/5435 

    1.2K100发布于 2018-06-14
  • 来自专栏全栈程序员必看

    linux tar命令打包整个文件夹详解,Linux tar打包命令详解

    不仅如此,该命令还可以从归档文件中还原所需文件,也就是打包的反过程,称为解打包。 使用 tar 命令归档的包通常称为 tar 包(tar 包文件都是以“.tar”结尾的)。 tar命令做解打包操作 当 tar 命令用于对 tar 包做解打包操作时,该命令的基本格式如下: [root@localhost ~]#tar [选项] 压缩包 当用于解打包时,常用的选项与含义如表 表 2 tar打包常用选项及含义 选项 含义 -x 对 tar 包做解打包操作。 -f 指定要解压的 tar 包的包名。 -t 只查看 tar 包中有哪些文件或目录,不对 tar 包做解打包操作。 -C 目录 指定解打包位置。 -v 显示解打包的具体过程。 文件包中文件的详细信息 tar命令做打包压缩(解压缩解打包)操作 你可能会觉得 Linux 实在太不智能了,一个打包压缩,居然还要先打包成 “.tar” 格式,再压缩成 “.tar.gz” 或 “.tar.bz2

    26.8K10编辑于 2022-09-04
  • 来自专栏全栈程序员必看

    tar 打包隐藏文件

    前言: 先说一下遇到的场景:前段时间在配合做 DevOps,组内有块代码是 php 的,需要用 tar 命令打包归档上传到 nexus 库,后来发现解压出来的包居然缺失了隐藏文件(配置文件),查了一下资料解决了 1. tar 命令常规用法 -c 创建新的档案文件 -C 指定到目录。注意:该目录必须存在 -f 指定打包的文件名。在f之后要立即接打包文件名!不能再加参数! 或xx. tgz -Z 有compress -j 使用bzip2压缩,一般格式为xxx.tar.bz2 --exclude 在压缩过程中,排除某个文件 --remove-files 在完成打包后,删除原文件夹 一定要注意大小写 归档: tar -cvf 2020-08-03_log.tar *.log 压缩归档: tar -czvf 2020-08-03_log.tar.gz *.log 解压缩: tar php_project.tartar -cvf php_project.tar * .[!.]

    2.9K10编辑于 2022-09-04
  • 来自专栏源码之家

    tar排除指定目录打包

    假设 test目录下有 1 2 3 4 5 这5个目录 现在要将 3 4 5目录tar打包,1和2目录不要 命令如下: tar -zcvf test.tar.gz –exclude=1 –exclude =2 test 或 tar -zcvf test.tar.gz –exclude=test/1 –exclude=test/2 test 看man tar帮助,–exclude后面跟的好像是正则 注意 : 要打包的test必须在命令最后,不然没有效果. tar -zxvpf /tmp/etc.tar.gz /etc #这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时! /dmtsai tar –exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

    1.9K60发布于 2018-06-04
  • 来自专栏全栈程序员必看

    linux tar (打包、压缩、解压)命令

    打包程序:tar c: 创建文档 t: 列出存档内容 x:提取存档 f: filename 要操作的文档名 v:详细信息 一:打包 打包:是指把文件整合在一起,不压缩 1.将文件打包tar cf a.tar /etc/ 2.列出文档内容:tar tf a.tar 3.提取文档内容:tar xf a.tar 二:压缩 压缩:把打包好的文件压缩,便于存储 注:压缩一定加上后缀,便于解压,便于观看 J 用于xz压缩: filename.tar.xz 1.先看看压缩前文件大小:ls -lh 2.gzip压缩:tar zcf a.tar.gz a.tar 3.bzip2 缩:tar jcf a.tar.bz2 a.tar 4.xz压缩:tar Jcf a.tar.xz a.tar 5.压缩率对比:xz > bzip2 > gzip 三:解压 解压:将压缩好的文件解压打开 1.解压缩文件加一个参数x:tar xf a.tar.gz 2.其他类型解压:tar xf a.tar.bz2 tar xf a.tar.xz 发布者:全栈程序员栈长,转载请注明出处:https

    9.7K10编辑于 2022-09-03
  • 来自专栏程序猿的大杂烩

    zip压缩工具,tar打包打包并压缩

    笔记内容: l 6.5 zip压缩工具 l 6.6 tar打包 l 6.7 打包并压缩 笔记日期:2017.8.8 6.5 zip压缩工具 ? zip支持压缩目录,也可以压缩文件。 6.6 tar打包 ? 如果使用tar工具将这些散开的文件和目录打包到一起,就能同时进行传输,虽然可能达不到理论上的8秒传输完,但是肯定会比散开来传输要快得多,这就是需要用到打包工具的目的。   tar的用法类似于zip,例如打包一个目录: ? tar解包会覆盖原来的文件: ? 目录加文件一起打包: ? ? 查看tar包里的文件列表: ? 加上--exclude选项可以过滤指定的文件: ? 6.7 打包并压缩 ? tar打包的时候是可以压缩的,gzip示例: ? bzip2示例: ? xz示例: ? 查看文件列表: ? 解压缩把命令中的c换成x即可,示例: ?

    2.1K10发布于 2020-09-23
  • 来自专栏difcareer的技术笔记

    Android boot.img的解包修改重打包

    将一些繁琐的东西整理了一下,发到了github:https://github.com/difcareer/BootImgTool/ 什么情况下,需要操作boot.img: 自己编译的linux内核,需要解包 boot.img,替换kernel文件后重打包,这样刷机才会生效。 /build.sh 使用tmp下的boot.img练手,解包: bin/unpack-bootimg.sh tmp/boot.img 此时tmp如下: ll tmp total 34944 -rw-r- 修改default.prop: 在tmp/boot.img-ramdisk/下,找到default.prop进行修改,比如将ro.debuggable=0 改为ro.debuggable=1 重新打包

    11.4K50发布于 2018-08-23
  • 来自专栏程序员云帆哥

    Linux-压缩解压缩与打包解包

    解压缩:unzip 压缩后的文件 3、bzip2 压缩后的扩展名是.bz2 压缩:bzip2 文件名 解压缩:bunzip2 压缩文件 或 bzip2 -d 压缩文件 二、打包指令 1、将a、b、c 、d这四个文件打包成一个文件:file.tar tar -cvf file.tar a b c d 2、解这种包 tar -xvf file.tar 3、打包同时进行压缩 tar -zcvf file.tar.gz a b c d 4、解这种包 tar -zxvf file.tar.gz 5、查看包 tar -tf file.tar

    2.4K30编辑于 2022-05-12
  • 来自专栏IT杂谈学习

    【Linux】文件打包解压_tar_zip

    文件打包压缩是将多个文件或目录合并成一个文件,并通过压缩算法减小其大小的过程。这一过程有助于文件的整理、存储空间的节省以及文件传输时的效率提升。在Linux系统中,常用的工具有tar,zip等。 示例: # 解压到tmp目录 unzip test2.zip -d /tmp 2.3 tar指令 tar [-cxtzjvf] 文件与目录 … 参数: -c :建立一个压缩文件的参数指令(create -C : 解压到指定目录 打包tar -czf cs.tgz cs 把cs目录打包成tgz后缀的压缩包,-czf理解成一个选项,创建一个cs.tgz压缩包。 解包tar -xzf cs.tgz 将cs.tgz压缩包进行解压,-xzf理解成一个选项,解压包。 ️ 通过使用 tar 和 zip 等工具,可以轻松地实现文件的打包和压缩,从而更高效地管理和维护文件。

    1.9K10编辑于 2024-05-02
  • 来自专栏浩Coding

    Linux 系统tar、zip压缩打包命令

    tar命令中,tar -T 指定范本文件。-t是查看文件,-c是创建,-z是解压, -v是过程, -f是指定文件名。 打包tar.gz格式压缩包 # tar -zcvf targetFile.tar.gz targetFile 解压tar.gz格式压缩包 # tar zxvf targetFile.tar.gz 打包tar.bz2格式压缩包 # tar -jcvf targetFile.tar.bz2 /targetFile 解压tar.bz2格式的压缩包 # tar jxvf targetFile.tar.bz2 格式的压缩包 # unzip targetFile.zip 排除某个目录:--exclude=file1 要排除一个目录是 --exclude=dir1,而不是 --exclude=dir1/ 也可以在父目录打包 1.txt //这就仅解压出来1.txt 参考文章: Linux tar 命令 linux 系统tar文件压缩打包命令 Linux压缩打包命令——tar、zip、unzip

    9.2K20发布于 2021-11-16
领券