您的位置:首页 > 其它

ubuntu-基本命令篇-18-压缩包管理

2010-08-13 09:31 323 查看
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.打包,将多个文件打包成一个文件,比如tar

2.压缩,将大尺寸的数据压缩成小尺寸的数据。比如gz

有损压缩:压缩完后解压的文件与压缩之前的文件不一样,压缩率比较高,音频和视频到压缩一般都是使用有损压缩,比如mp3,jpeg也是有损压缩。

无损压缩:压缩完后解压缩的文件与压缩前的一样。一般重要的文档都是使用无损压缩。保证数据的一致性。压缩率比较低,

注意:linux中没有文件后缀到说法。但是.tar,.gz 是约定成俗到

创建目录test

mkdir test


进入到test目录

cd test

拷贝/var/log/中到所有文件和文件夹到当前test目录:

cp /var/log/* .

其中 “.“就表示当前目录,“*”就表示目录下到所有文件。

查看当前目录大小

du -sh
打包所有,包括filelist和目录,即所有文件和文件夹都打包。

tar cvf logbackup.tar *
上述命令表示将当前目录的所有文件打包成一个logbackup.tar的文件。

然后 压缩文件夹 logbackup.tar ,这时候会生成logbackup.tar.gz,而原来到logbackup.tar就被替代了。

gzip logbackup.tar
我们通过 ls -l 命令可以发现

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/
2.拷贝test2目录下到logbackup.tar.bz2的当前目录。

cp /home/xuwei/test/test2/logbackup.tar.bz2 .
3.使用bunzip2解压缩 logbackup.tar.bz2得到logbackup.tar,它到大小为9932800,和压缩前到文件大小一样,所以是无损压缩。

bunzip2 logbackup.tar.bz2
4.对logbackup.tar解包,包中到文件就被释放到当前目录下,这时候logbackup.tar包依然存在。

tar xvf logbackup.tar
5.删除当前目录下到所有文件。

rm *
6.使用zip压缩所有文件。得到到logbak.zip大小为2142442。其实zip是两步走,即打包有压缩。

zip logbak.zip *
7. 解压缩并且解包,zip也是无损压缩。

unzip logbak.zip

注意:

如果要压缩一个目录,那么可以使用如下命令:

zip -r src.zip src/
这样就将创建一个一个src目录的zip压缩包。压缩包的层次为:src.zip->src->...

如果使用命令

zip -r src.zip /home/hadoop/program/hadoop-0.20.1/src/
那么那所包的层次是: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/

解压后编译:

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的上是共通的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: