linux .bz2,解压linux命令
大家好,关于linux .bz2很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于解压linux命令的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
Linux系统中安装使用Bzip2来压缩文件的方法讲解
安装 Bzip2
命令如下:
复制代码
代码如下:
make-f Makefile-libbz2_so
make
make install
cp bzip2-shared/bin/bzip2
ln-s libbz2.so.1.0 libbz2.so
cp-a libbz2.so*/lib
rm/lib/libbz2.so
ln-s../../lib/libbz2.so.1.0/usr/lib/libbz2.so
rm/usr/bin/{bunzip2,bzcat,bzip2}
mv/usr/bin/{bzip2recover,bzless,bzmore}/bin
ln-s bzip2/bin/bunzip2
ln-s bzip2/bin/bzcat
尽管不是一个必需的部分,值得说到的是有一个Tar包用的补丁,使tar程序可以更容易地用bzip2/bunzip2来压缩和解压。如果是单纯的tar,你不得不用这样的命令:bzcat file.tar.bz| tar-xv或 tar--use-compress-prog=bunzip2-xvf file.tar.bz2来使用bzip2和bunzip2。这个补丁提供了-j选项,你可以用这样的命令: tar-xvfj file.tar.bz2来解压一个bzip2格式的包。应用这个补丁将在后面安装Tar包的时候说到。
简介
bzip2, bunzip2-一种块排序文件压缩软件,v0.9.5
bzcat-将文件解压缩至标准输出
bzip2recover-恢复损坏的 bzip2文件
bzip2采用 Burrows-Wheeler块排序文本压缩算法和 Huffman编码方式压缩文件。压缩率一般比基于 LZ77/LZ78的压缩软件好得多,其性能接近 PPM族统计类压缩软件。
命令行参数有意设计为非常接近 GNU gzip的形式,但也不完全相同。
bzip2从命令行读入文件名和参数。每个文件被名为原始文件名.bz2的压缩文件替换。每个压缩文件具有与原文件相同的修改时间、权限,如果可能的话,还具有相同的属主,因此在解压缩时这些特性将正确地恢复。在某些文件系统中,没有权限、属主或时间的概念,或者对文件名的长度有严格限制,例如 MSDOS,在这种情况下,bzip2没有保持原文件名、属主、权限以及时间的机制,从这个意义上说,bzip2对文件名的处理是幼稚的。
bzip2和 bunzip2在缺省情况下不覆盖已有的文件。如果想覆盖已有的文件,要指定-f选项。
如果未指定文件名, bzip2将压缩来自标准输入的数据并写往标准输出。在这种情况下, bzip2会拒绝将压缩结果写往终端,因为这完全无法理解并且是没有意义的。
bunzip2(以及 bzip2-d)对所有指定的文件进行解压缩处理。不是由 bzip2产生的文件将被忽略,同时发出一个警告信息。 bzip2按下列方式由压缩文件名确定解压后的文件名:
filename.bz2解压成 filename
filename.bz解压成 filename
filename.tbz2解压成 filename.tar
filename.tbz解压成 filename.tar
anyothername解压成 anyothername.out
如果文件名的后缀不是下列之一:.bz2,.bz,.tbz2或.tbz,.bzip2将抱怨无法确定原始文件名,并采用原文件名加.out作为解压缩文件名。
在压缩时,如果不提供文件名,bzip2将从标准输入读取数据,压缩结果写往标准输出。
bunzip2能够正确地解压由两个或更多个压缩文件连在一起的文件。解压的结果为相应的连在一起的未压缩文件。
bzip2也支持对连在一起的压缩文件的完整性检查(-t选项)。
同样可采用-c选项将文件压缩或解压缩至标准输出。多个文件可通过这种方式压缩或解压缩。输出结果被依次送往标准输出。采用这种方式对多个文件的压缩将生成包含多个压缩文件的数据流。这样的数据流只能被 0.9.0版或其后续版本的 bzip2正确解压。较早版本的 bzip2会在解压完第一个文件之后停止。
bzcat(或 bzip2-dc)将所有指定文件解压缩至标准输出。
bzip2可从环境变量 BZIP2和 BZIP中依次读取参数,并在命令行参数之前对其进行处理。这是提供缺省选项的方便途径。
即使压缩后的文件略大于原文件,压缩也总是照样进行。小于大约 100字节的文件压缩后倾向于变大,因为会有一个 50字节的数据头。对于随机数据(包括大多数压缩软件的输出),大约每字节压成 8.05位,放大率约为 0.5%。
bzip2采用 32位 CRC校验码作自我检查,以确认解压后的文件与原始文件相同。这可用于检测压缩文件是否损坏,并防止 bzip2中未知的缺陷(运气好的话这种可能性非常小)。数据损坏而未检测到的几率非常之小,对于每个被处理的文件大约是四十亿分之一。检查是在解压缩时进行的,因此它只能说明某个地方出问题了。它能帮助恢复原始未压缩的数据。可以用 bzip2recover来尝试从损坏的文件中恢复数据。
返回值:正常退出返回 0,出现环境问题返回 1(文件未找到,非法的选项,I/O错误等),返回 2表明压缩文件损坏,出现导致 bzip2紧急退出的内部一致性错误(例如缺陷)时返回 3。
参数
-c--stdout
将数据压缩或解压缩至标准输出。
-d--decompress
强制解压缩。 bzip2, bunzip2以及 bzcat实际上是同一个程序,进行何种操作将根据程序名确定。指定该选项后将不考虑这一机制,强制 bzip2进行解压缩。
-z--compress
-d选项的补充:强制进行压缩操作,而不管执行的是哪个程序。
-t--test
检查指定文件的完整性,但并不对其解压缩。实际上将对数据进行实验性的解压缩操作,而不输出结果。
-f--force
强制覆盖输出文件。通常 bzip2不会覆盖已经存在的文件。该选项还强制 bzip2打破文件的硬连接,缺省情况下 bzip2不会这么做。
-k--keep
在压缩或解压缩时保留输入文件(不删除这些文件)。
-s--small
在压缩、解压缩及检查时减少内存用量。采用一种修正的算法进行压缩和测试,每个数据块仅需要 2.5个字节。这意味着任何文件都可以在 2300k的内存中进行解压缩,尽管速度只有通常情况下的一半。
在压缩时,-s将选定 200k的块长度,内存用量也限制在 200k左右,代价是压缩率会降低。总之,如果机器的内存较少(8兆字节或更少),可对所有操作都采用-s选项。参见下面的内存管理。
-q--quiet
压制不重要的警告信息。属于 I/O错误及其它严重事件的信息将不会被压制。
-v--verbose
详尽模式--显示每个被处理文件的压缩率。命令行中更多的-v选项将增加详细的程度,使 bzip2显示出许多主要用于诊断目的信息。
-L--license-V--version
显示软件版本,许可证条款及条件。
-1 to-9
在压缩时将块长度设为 100 k、200 k.. 900 k。对解压缩没有影响。参见下面的内存管理。
--
将所有后面的命令行变量看作文件名,即使这些变量以减号-打头。可用这一选项处理以减号-打头的文件名,例如:bzip2---myfilename.
--repetitive-fast--repetitive-best
这些选项在 0.9.5及其以上版本中是多余的。在较早的版本中,这两个选项对排序算法的行为提供了一些粗糙的控制,有些情况下很有用。 0.9.5及其以上版本采用了改进的算法而与这些选项无关。
例:
例a,压缩
复制代码
代码如下:
[root@localhost~]# bzip2-z abc.sh#压缩
复制代码
代码如下:
[root@localhost~]# bzip2-kv abc.sh#压缩原文保留
abc.sh: 1.220:1, 6.557 bits/byte, 18.04% saved, 255 in, 209 out.
复制代码
代码如下:
[root@localhost~]# bzip2-9-c abc.sh abc.bz2#压缩原文保留
例b,解压
复制代码
代码如下:
root@tnak-VirtualBox:/home/tnak# bzip2-dv abc.sh.bz2
abc.sh.bz2: done
Ubuntu中怎样将.BZ2后缀的文件夹解压(用命令行)
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包中所有文件,-x是解开的意思
压缩
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
解压
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
总结
1、*.tar用 tar–xvf解压
2、*.gz用 gzip-d或者gunzip解压
3、*.tar.gz和*.tgz用 tar–xzf解压
4、*.bz2用 bzip2-d或者用bunzip2解压
5、*.tar.bz2用tar–xjf解压
6、*.Z用 uncompress解压
7、*.tar.Z用tar–xZf解压
8、*.rar用 unrar e解压
9、*.zip用 unzip解压
linux下.bz2文件的安装
不是 tar.bz2结尾的应该是 patch。需要找他的目标源代码打补丁才行的。
他不能独立的使用,仅仅是个补丁而已。
这个文件解压缩,应该是直接删掉后面的.bz2扩展名就是他的文件名了。
本身 bz2是没有目录结构的压缩的,他仅仅进行数据流压缩处理。
所以 Linux会有 tar这个命令,他的作用是打包(把目标文件全都接在一起),之后他会调用 bz2/gz/lzma压缩他的输出数据。当然也可以你自己手动去单独进行压缩。
不过你下载他干吗?你还不到能自己编译内核的时候。暂时学些基础的再来吧。