EasyClick shell 命令压缩文件
Posted Mr -老鬼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EasyClick shell 命令压缩文件相关的知识,希望对你有一定的参考价值。
EasyClick shell 命令压缩文件目录
EasyClick shell 命令压缩文件
了解下兄弟篇 : EasyClick adb shell命令大全
测试环境
测试环境为雷电四模拟器,请使用如下命令检查 是否支持tar命令
补充说明:大部分手机没有zip 命令,所以改用tar命令压缩,如果有zip命令则使用zip 压缩,也可以使用tar命令压缩,tar命令请自行测试是否支持。
adb shell
ls /system/bin/ -a
tar 命令如下图所示
代码演示
使用的是tar的gzip压缩方式,gzip 命令手机模拟器都有 ,bz2 不一定有,所以采用gzip模式压缩。
gzip 速度较快但没有bz2压缩效率高。
// 只是简单的例子,具体场景适当修改
// EasyClick 使用 adb shell 命令压缩文件
// root 环境命令 /sdcard/file.tar.gz 是压缩后的文件名 /sdcard/* 是要压缩的目录
//shell.sudo("tar -zcvf /sdcard/file.tar.gz /sdcard/*");
//--------------------------------------------------
//自动判断代理或root模式 /sdcard/file.tar.gz 是压缩后的文件名 /sdcard/* 是要压缩的目录
let result =shell.execCommand("tar -zcvf /sdcard/renwolesshel.tar.gz /sdcard/*");
//--------------------------------------------------
// 非root 环境命令 代理模式命令
//shell.execAgentCommand("tar -zcvf /sdcard/renwolesshel.tar.gz /sdcard/*");
//--------------------------------------------------
logd("压缩文件返回列表:"+result)
sleep(60*1000);
let fileResult = file.exists("/sdcard/renwolesshel.tar.gz");
logd("压缩后的文件是否存在:"+fileResult);
运行结果
压缩文件返回列表:sdcard/tmp.jpg// 太多了 只贴一部分
sdcard/tomato/
sdcard/tomato/text/
sdcard/tomato/text/TerminalApp
sdcard/原图.jpg
压缩后的文件是否存在:true
效果
压缩SDcard目录下所有文件为renwolesshel.tar.gz
解压命令
// /sdcard/renwolesshel.tar.gz 要解压的文件绝对路径 ; /指定目录 要解压的位置
shell.execCommand("tar zxvf /sdcard/renwolesshel.tar.gz -C /指定目录")
附tar命令语法解释
Linux 用法
tar命令参数
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# 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
解压
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
我是Mr-老鬼、QQ1156346325 。交流QQ群:620028786,647082990
------------------------------------------------版权声明------------------------------------------------------
本文版权所有~Mr-老鬼 ~转载请注明原文地址
免责声明:本文所有的教程仅限交流学习使用不得用于违法用途,造成的法律后果本人不承担责任。
以上是关于EasyClick shell 命令压缩文件的主要内容,如果未能解决你的问题,请参考以下文章
Android 安装包优化使用 lib7zr.so 动态库处理压缩文件 ( jni 中 main 函数声明 | 命令行处理 | jni 调用 lib7zr.so 函数库处理压缩文件完整代码 )(代码片