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-老鬼 ~转载请注明原文地址
免责声明:本文所有的教程仅限交流学习使用不得用于违法用途,造成的法律后果本人不承担责任。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr -老鬼

对你有用的话请我喝个咖啡呗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值