18.压缩包管理
1.常用的压缩命令
.tar tar c v f x z j。c=create,f=file,z=zip,v=visible.gz gzip,gunzip
.bz2 bzip2,bunzip2
.gz和.bz2类是,就是压缩率不同,.bz2压缩率高。
.zip zip,unzip
.rar rar a,rar x
7z 7z
.Z compress,uncompress
现在.gz和.Z等价。.tar能将多个文件生成一个文件,文件的尺寸不会有太大变化。这时候再用gzip再对大文件的.tar进行压缩,最后生成的文件名一般为.tar.gz,比如eclipse-SDK-3.5.2-linux-gtk.tar.gz。.tar.gz文件比.gz文件要小很多。
2.压缩包的概念
1.打包,将多个文件打包成一个文件,比如tar2.压缩,将大尺寸的数据压缩成小尺寸的数据。比如gz
有损压缩: 压缩完后解压的文件与压缩之前的文件不一样,压缩率比较高,音频和视频到压缩一般都是使用有损压缩,比如mp3,jpeg也是有损压缩。
无损压缩: 压缩完后解压缩的文件与压缩前的一样。一般重要的文档都是使用无损压缩。保证数据的一致性。压缩率比较低,
注意:linux中没有文件后缀到说法。但是.tar,.gz 是约定成俗到
创建目录test
- mkdir test
进入到test目录
- cd test
拷贝/var/log/中到所有文件和文件夹到当前test目录:
- cp /var/log/* .
其中 “.“就表示当前目录,“*”就表示目录下到所有文件。
查看当前目录大小
- du -sh
- tar cvf logbackup.tar *
然后 压缩文件夹 logbackup.tar ,这时候会生成logbackup.tar.gz,而原来到logbackup.tar就被替代了。
- gzip logbackup.tar
logbackup.tar 的大小是9932800,而经过gzip压缩后的logbackup.tar.gz大小是2130506,大小有明显减小。
- gunzip logbackup.tar.gz
解压缩logbackup.tar.gz文件,这时候我们发现logbackup.tar.gz文件已经不再,而logbackup.tar文件有重新生成,他的大小是9932800,压缩后再解压缩得到的文件和压缩前一样大小,这是无损压缩。
ls -lh logbackup.tar 和ls -l logbackup.tar的不同之处在于使用
ls -lh 得到的文件信息大小是以MB为单位到,而ls -l 得到的文件信息是以字节为单位。
- bzip2 logbackup.tar
使用 bzip2方式压缩文件logbackup.tar,得到logbackup.tar.bz2,它的大小是1480419,比logbackup.tar.gz文件的2130506要小,这表明bzip2的压缩率比gzip的压缩率要大。
tar xvf logbackup.tar 解压缩.tar包。
tar xvfj logbackup.tar.bz2 命令会先用命令 bunzip2 logbackup.tar.bz2 加压所.gz文件到logbackup.tar,然后再使用tar xvf logbackup.tar 解包,这时候解包出来到文件会覆盖原来到文件。logbackup.tar.bz2 依然存在,但是不产生logbackup.tar。
mkdir test2 在当前目录下创建目录test2
1.将当前目录下到logbackup.tar.bz2移动到刚创建到目录test2下。
- mv logbackup.tar.bz2 ./test2/
- cp /home/xuwei/test/test2/logbackup.tar.bz2 .
- bunzip2 logbackup.tar.bz2
- tar xvf logbackup.tar
- rm *
- zip logbak.zip *
- unzip logbak.zip
注意:
如果要压缩一个目录,那么可以使用如下命令:
- zip -r src.zip src/
如果使用命令
- zip -r src.zip /home/hadoop/program/hadoop-0.20.1/src/
rar a 打包
rar x 解包
rar a logbak.rar * 打包并压缩当前目录下到所有文件并生成压缩包logbak.rar。
生成到logbak.rar的大小是1426409。
rar x logbak.rar 解压缩logbak.rar。无损压缩。
tar cvf package.tar firelist folderlist/*,*表示全部。
相关转载:http://remindme.blogbus.com/logs/25006959.html
ubuntu 解压 打包 命令全集
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
---------------------------------------------
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
---------------------------------------------
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
---------------------------------------------
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩: 未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩: 未知
---------------------------------------------
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
---------------------------------------------
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
---------------------------------------------
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
rar请到:http://www.rarsoft.com/download.htm 下载!
解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp rar_static /usr/bin/rar
---------------------------------------------
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
lha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下载!
>解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp lha /usr/bin/
---------------------------------------------
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
---------------------------------------------
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf -
---------------------------------------------
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName
sEx只是调用相关程序,本身并无压缩、解压功能,请注意!
sEx请到: http://sourceforge.net/projects/sex下载!
解压后请将sEx拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp sEx /usr/bin/
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
---------------------------------------------
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
---------------------------------------------
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
---------------------------------------------
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩: 未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩: 未知
---------------------------------------------
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
---------------------------------------------
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
---------------------------------------------
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
rar请到:http://www.rarsoft.com/download.htm 下载!
解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp rar_static /usr/bin/rar
---------------------------------------------
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
lha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下载!
>解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp lha /usr/bin/
---------------------------------------------
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
---------------------------------------------
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf -
---------------------------------------------
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName
sEx只是调用相关程序,本身并无压缩、解压功能,请注意!
sEx请到: http://sourceforge.net/projects/sex下载!
解压后请将sEx拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp sEx /usr/bin/
解压后编译:
sudo ./configure
make
make install
sudo ./configure
make
make install
当然,编译的时候必须要以root 用户,而解压的时候不一定,普通用户就何以。以上是常用的命令,一下是不常用的命令,在这里提下,给兄弟们一个映象,到时候能看懂就可以了。
方法二:
sudo ./configure --prefix=/路径
make ; make install
方法三:
sudo ./configure --enable-static-link \
--prefix=$XXX/static --with-curses &&
make &&
make install
命令解释
--enable-static-link: 这个配置命令使bash被静态链接。
--prefix=$XXX/static:这个配置命令把Bash的所有文件安装到$XXX/static目录下,这个目录在chroot环境下或在最终的XXX系统中将成为 /static 目录。(XXX为用户)
--with-curses: 将bash链接到某一个库,正如LFS系统将它指向static这一个库。
其实静态链接的bash并不一定要链接到libncurses (也可以暂时链接到静态的termcap )但在LFS中不能这样做(关于LFS的方法可访问相关网站,此问题不在这一范围内)。
每行最后的&&用处很大,它使后一个命令仅在前一个命令返回值为0(表示正确执行)的情况下才执行。在所有的命令都是拷贝 &粘贴的情况下,我们必须保证如果./configure出错,make就不执行,同样地,如果 make 出错,make install就不执行,诸如此类。
以上方法三是构建LFS(linux from scratch 从网上直接下载源代码,从头编写程序的方式)系统并编译软件的重要方法之一,事实上Linux系统包括在Unix系统中在cmd的上是共通的。
sudo ./configure --prefix=/路径
make ; make install
方法三:
sudo ./configure --enable-static-link \
--prefix=$XXX/static --with-curses &&
make &&
make install
命令解释
--enable-static-link: 这个配置命令使bash被静态链接。
--prefix=$XXX/static:这个配置命令把Bash的所有文件安装到$XXX/static目录下,这个目录在chroot环境下或在最终的XXX系统中将成为 /static 目录。(XXX为用户)
--with-curses: 将bash链接到某一个库,正如LFS系统将它指向static这一个库。
其实静态链接的bash并不一定要链接到libncurses (也可以暂时链接到静态的termcap )但在LFS中不能这样做(关于LFS的方法可访问相关网站,此问题不在这一范围内)。
每行最后的&&用处很大,它使后一个命令仅在前一个命令返回值为0(表示正确执行)的情况下才执行。在所有的命令都是拷贝 &粘贴的情况下,我们必须保证如果./configure出错,make就不执行,同样地,如果 make 出错,make install就不执行,诸如此类。
以上方法三是构建LFS(linux from scratch 从网上直接下载源代码,从头编写程序的方式)系统并编译软件的重要方法之一,事实上Linux系统包括在Unix系统中在cmd的上是共通的。
本文转自xwdreamer博客园博客,原文链接:http://www.cnblogs.com/xwdreamer/archive/2010/08/13/2297105.html,如需转载请自行联系原作者