adb shell
EasyClick adb、shell命令大全
EasyClick 执行 shell命令
EasyClick shell 命令压缩文件
EasyClick shell分割大文件
ADB shell 之 adb shell之am、pm、dpm命令大全
本文档使用 MrDoc 发布
-
+
首页
EasyClick shell 命令压缩文件
# EasyClick shell 命令压缩文件 ## 测试环境 测试环境为雷电四模拟器,请使用如下命令检查 是否支持**tar**命令 补充说明:大部分手机没有zip 命令,所以改用tar命令压缩,如果有zip命令则使用zip 压缩,也可以使用tar命令压缩,tar命令请自行测试是否支持。 ```shell adb shell ls /system/bin/ -a ``` **tar** 命令如下图所示 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2021050415460492.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzIxNDYwNzgx,size_16,color_FFFFFF,t_70) 附三星华为Linux命令表 前面华为后面三星 ![](https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/833c8f336298ad96b107397843edba44) ## 代码演示 使用的是tar的gzip压缩方式,gzip 命令手机模拟器都有 ,bz2 不一定有,所以采用gzip模式压缩。 gzip 速度较快但没有bz2压缩效率高。 ```js // 只是简单的例子,具体场景适当修改 // 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); ``` 运行结果 ```java 压缩文件返回列表:sdcard/tmp.jpg// 太多了 只贴一部分 sdcard/tomato/ sdcard/tomato/text/ sdcard/tomato/text/TerminalApp sdcard/原图.jpg 压缩后的文件是否存在:true ``` ## 效果 压缩SDcard目录下所有文件为renwolesshel.tar.gz ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210504154212127.png) ## 解压命令 ```js // /sdcard/renwolesshel.tar.gz 要解压的文件绝对路径 ; /指定目录 要解压的位置 shell.execCommand("tar zxvf /sdcard/renwolesshel.tar.gz -C /指定目录") ``` ## 附tar命令语法解释 tar命令参数 ```shell -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 ``` 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。 ```shell -z:有 gzip 属性的 -j:有 bz2 属性的 -Z:有 compress 属性的 -v:显示所有过程 -O:将文件解开到标准输出 ``` 下面的参数-f是必须的 -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。 ```shell 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是解开的意思 ``` 压缩 ```shell 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 rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux ``` 解压 ```shell 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 unrar e file.rar //解压rar unzip file.zip //解压zip ``` 我是Mr-老鬼、QQ1156346325 。交流QQ群:620028786,647082990 **-----------------------------------版权声明--------------------------------** 本文版权所有~Mr-老鬼 ~转载请注明原文地址 免责声明:本文所有的教程仅限交流学习使用不得用于违法用途,造成的法律后果本人不承担责任。
Mr、老鬼
2021年6月27日 16:19
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码