码迷,mamicode.com
首页 > 系统相关 > 详细

我选择Ubuntu12.04,不是Mac(7/12)---7z神器!

时间:2015-09-26 16:02:29      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:

不会写很长,但是通过本文,你一定识货一个神器!7z

u need quiet  (有你的快递)(秋天真是收货的季节啊)

(写完发现,好啰嗦啊,但是记录了一个解决问题的过程,希望给看官启发)



换了一台厉害的电脑之后,整个人精神都不一样 :)

去邓平凡老师博客下载一个android 5.1 的source code, 发现下载下来解压就是个难事儿了。

window上面解压啊?呵呵,你试试就知道了,很多文件就是这样被损坏了。

包括push进手机,然后在pull到window电脑的。


这是它那个资源的链接(已经摘录了重要部分,斜线)

http://my.oschina.net/innost/blog/492826

3 android 5.1源码下载

http://pan.baidu.com/s/1bn4fvVT

1 两个文件,先用7zip解压为一个文件

2 里边包含android-5.1.tar.gz(实际上是bzip压缩)和一个external-chromium_org-third_party-angle.git

3 把external-chromium_org-third_party-angle.git 拷贝到external/chromium_org-third_party/angle下

编译的时候要用到



我下载下来是这样的(在samba服务器上)

merlin@merlin-Lenovo:~/workshare/android5_1$ ll
total 5824448
drwxrwxrwx 2 nobody nogroup       4096 Sep 26 08:49 ./
drwxrwxrwx 3 root   root          4096 Sep 26 08:24 ../
-rw-rw-rw- 1 nobody nogroup 4290772992 Sep 26 02:53 android-5.1.tar.bzip2-no-repo.7z.001
-rw-rw-rw- 1 nobody nogroup 1673442061 Sep 26 00:54 android-5.1.tar.bzip2-no-repo.7z.002

丫的,是俩分开的文件。

我先喝口coffee。平常window上,那叫一个简单啊,winrar或者好压什么的帮你做了(实际上如果这些工具报错,说部分文件损坏,我们都没有能力取出那些没有损坏的文件,所以你看到咯,我就是码农,不是工程师)


安装7z

sudo apt-get install p7zip

   

使用方法,7z --help

技术分享


大致了解了 辅助命令中,有用的就是x了,命令参数有用的有 -r -o -t

可以这样用咯:

#讲papapa.7z递归子文件夹解压到当前目录下(-o后面直接接path路径)
7z x papapa.7z -r -o./
7z x hahaha.7z -r -o /home/merlin/sharework

简单解释如下:

 x 解压保留原压缩文件路径

-r 表示递归所有的子文件夹

-o 是指定解压到的目录,这里大家要注意-o后是没有空格的直接接目录

-t  (这就是它的神奇之处) 制定类型(在我的实验中,不指定的话,它自己去判断的,多好啊)

实验一下不加-t参数, 7z怎么搞?  (为了不浪费大家时间,直接上代码)

技术分享

上面准备工作已经ok了,打包并压缩了一个 ab.tar.gz的压缩文件

来7z试试解压:

技术分享

你看到,7z已经给这个压缩文件,剥了一层皮,来再脱它衣服呵呵。

技术分享

我加-t了么? 没有吧。


难道是 压缩的时候要加 -t ?

before we do our work  试试它的压缩。


压缩文件/目录:(回到上面看看发现,压缩要用到命令a)

先压缩文件看看,我还是不加-t

技术分享

看来还是需要先打包后压缩啊

技术分享

技术分享

(也没有用到-t参数,所以它还是会自动识别的呀)(但是打包和压缩要分两步,还不如直接 tar -zcvf呢)

总结,它的用法是:-t后面紧跟类型

7z a -t7z -r ab.7z /home/merlin/* -o./
7z a ab.7z *.txt -o./

解释如下:

a 代表添加文件/文件夹到压缩包

-t 是指定压缩类型 一般我们定为7z

-r 表示递归所有的子文件夹(压缩文件夹的时候用)



开始解压那个大文件吧:

merlin@merlin-Lenovo:~/workshare/android5_1$ ll
total 5824448
drwxrwxrwx 2 nobody nogroup       4096 Sep 26 08:49 ./
drwxrwxrwx 3 root   root          4096 Sep 26 08:24 ../
-rw-rw-rw- 1 nobody nogroup 4290772992 Sep 26 02:53 android-5.1.tar.bzip2-no-repo.7z.001
-rw-rw-rw- 1 nobody nogroup 1673442061 Sep 26 00:54 android-5.1.tar.bzip2-no-repo.7z.002
merlin@merlin-Lenovo:~/workshare/android5_1$ 7z x android-5.1.tar.bzip2-no-repo.7z.001 android-5.1.tar.bzip2-no-repo.7z.002 -r -o./

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)

Processing archive: android-5.1.tar.bzip2-no-repo.7z.001


No files to process

Files: 0
Size:       0
Compressed: 4290772992
merlin@merlin-Lenovo:~/workshare/android5_1$ ll
total 5824448
drwxrwxrwx 2 nobody nogroup       4096 Sep 26 08:49 ./
drwxrwxrwx 3 root   root          4096 Sep 26 08:24 ../
-rw-rw-rw- 1 nobody nogroup 4290772992 Sep 26 02:53 android-5.1.tar.bzip2-no-repo.7z.001
-rw-rw-rw- 1 nobody nogroup 1673442061 Sep 26 00:54 android-5.1.tar.bzip2-no-repo.7z.002

俩份文件,看来不能这么搞,换一种方式:

merlin@merlin-Lenovo:~/workshare/android5_1$ $ ls *.7z | xargs -n1 7z x -o./
$: command not found

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)


Error:
Incorrect command line

失败了,再换:

merlin@merlin-Lenovo:~/workshare/android5_1$ 7z x android-5.1.tar.bzip2-no-repo.7z.00* -r -o./

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)

Processing archive: android-5.1.tar.bzip2-no-repo.7z.001


No files to process

Files: 0
Size:       0
Compressed: 4290772992

呵呵,真丢人,再换:

merlin@merlin-Lenovo:~/workshare/android5_1$ 7z x android-5.1.tar.bzip2-no-repo.7z.001 && android-5.1.tar.bzip2-no-repo.7z.00 -r -o./

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)

Processing archive: android-5.1.tar.bzip2-no-repo.7z.001

Extracting  external-chromium_org-third_party-angle.git
Extracting  external-chromium_org-third_party-angle.git/config
Extracting  external-chromium_org-third_party-angle.git/description
Extracting  external-chromium_org-third_party-angle.git/HEAD
Extracting  external-chromium_org-third_party-angle.git/hooks
Extracting  external-chromium_org-third_party-angle.git/index
Extracting  external-chromium_org-third_party-angle.git/info
Extracting  external-chromium_org-third_party-angle.git/logs
Extracting  external-chromium_org-third_party-angle.git/objects
Extracting  external-chromium_org-third_party-angle.git/packed-refs
Extracting  external-chromium_org-third_party-angle.git/refs
Extracting  external-chromium_org-third_party-angle.git/rr-cache
Extracting  external-chromium_org-third_party-angle.git/shallow
Extracting  external-chromium_org-third_party-angle.git/svn
Extracting  android-5.1.tar.gz

Everything is Ok

Folders: 1
Files: 14
Size:       5972827149
Compressed: 4290772992

技术分享

这会儿成功了,&& 好使。(第二压缩文件,拒绝了,我突然发现一件事儿,多个压缩包,你解压第一个就好了

技术分享

(猜想:压缩文件解压时也存在入口,多个压缩文件间自己有着关联,不需要你操心)

技术分享

剩下一个android-5.1.tar.gz,7z再次出场

技术分享

搞不好是死机了,应该放到bg后台去执行的,没办法再开一个shell, top一下看看,是否还在解压缩:

技术分享

并没有死机啊,还是在解压缩的,7z is working.......耐心等着咯,吃个茶饼再回来。(我服务器cpu主频2.5GHz双核)

技术分享


呵呵下面,步骤就类似了,解包之后解压缩,一样的思路:

7z x android-5.1.tar -o./

呼呼地跑啊:

技术分享

最终完成了

技术分享

技术分享


Amazing!!!



ubuntu 系列,一直在跑。

写博客是牺牲了和妹子出去玩的时间的,划不划算,哪有那么重要。

写的很罗嗦,但愿对看官是有帮助的。好了,我去弹钢琴了。 晚上继续搞linux。 

merlin

2015/9/26 3:25 pm



我选择Ubuntu12.04,不是Mac(7/12)---7z神器!

标签:

原文地址:http://my.oschina.net/wizardmerlin/blog/511479

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!