linux bzip2,linux块设备有哪些

大家好,今天小编来为大家解答以下的问题,关于linux bzip2,linux块设备有哪些这个很多人还不知道,现在让我们一起来看看吧!

Linux——如何在 Linux 终端解压 Bzip2 文件

使用Linux终端解压Bzip2文件,我们主要依赖于tar命令。tar命令支持多种压缩格式,如gzip、lzip、bzip2、lzma、lzop、xz和compress。对于使用bzip2压缩的文件,其扩展名为.tar.bz2或.tbz2。借助tar命令,我们能简便地压缩和解压.tar.bz2和.tbz2格式的文件。

解压一个.tar.bz2文件,我们只需在tar命令中使用--extract或-x选项,随后加上-f选项以及解压文件的名称。这命令将自动识别并解压使用的压缩类型,例如bzip2。同样地,我们也能用此方法解压使用其他算法压缩的文件。

对于多数Linux用户来说,tar工具在系统安装时已预装,而Windows用户则可选用7-zip工具来解压.bz2文件。如果想要在解压时获得更多细节信息,如文件名、所有者、大小、时间戳等,可以使用-v选项。

默认情况下,tar命令将解压文件内容至当前工作目录。若需在特定目录下解压,我们可通过--directory或-C选项指定路径。例如,将当前目录下的compressed.tar.bz2文件解压至home目录下的Extracted_files。

要列出.tar.bz2文件的内容,使用tar命令的--list或-t选项。这将显示文件名清单。若需更多详细信息,如所有者、文件大小、时间戳等,使用-v选项。

如果仅需从压缩文件中解压特定的文件和目录,可在命令中列出要解压的文件和目录名称,使用空格分隔。例如,解压1.mp3和2.mp3文件,只需在命令中列出这两个文件名。在指定文件时,需准确使用路径,使用-t选项列出所有内容。

若要解压特定的目录,如jazz和Rock,直接在命令中列出目录名称即可。若指定的文件不存在,tar命令会提示未找到该文件。例如,若文件rolling.jpeg不存在,会显示错误提示。

总之,熟练掌握tar命令有助于高效管理Linux系统中的文件和目录。通过实践和理解,逐步提升Linux技能。祝大家在学习Linux过程中有所收获。

Linux入门之bzip2指令详解

在Linux系统中,文件压缩与解压缩是日常管理工作中不可或缺的一部分。bzip2是一种广泛使用的压缩程序,以其高效的压缩率和相对较快的压缩速度而受到用户的青睐。本文将详细介绍bzip2指令的使用方法,帮助Linux初学者快速上手。

什么是bzip2?

bzip2是由Julian Seward开发的一个开源文件压缩工具。它使用Burrows-Wheeler转换和Huffman编码的组合来压缩数据。bzip2的压缩算法在许多情况下都能提供比传统的ZIP格式更好的压缩率,同时保持了较快的压缩和解压缩速度。

安装bzip2

大多数Linux发行版都预装了bzip2工具。如果没有,可以通过包管理器进行安装。例如,在基于Debian的系统上,可以使用以下命令安装:

sudo apt-get install bzip2

在基于Red Hat的系统上,可以使用以下命令:

sudo yum install bzip2

bzip2基本用法

bzip2的基本命令格式如下:

bash

bzip2 [选项]文件名

下面是一些常用的选项:

压缩文件

bash

bzip2 example.txt

执行后,`example.txt`将被压缩为`example.txt.bz2`。如果希望保留原文件,可以使用 `-k`选项:

bash

bzip2-k example.txt

这将生成`example.txt.bz2`,而`example.txt`原文件将保持不变。

解压缩文件

解压缩.bz2格式的文件非常简单,使用 `-d`选项即可:

bash

bzip2-d example.txt.bz2

执行后,`example.txt.bz2`将被解压缩为`example.txt`。

压缩并输出到标准输出

有时候,我们可能需要将压缩数据输出到标准输出,而不是直接写入文件。这时可以使用 `-c`选项:

bash

bzip2-c example.txt> example.txt.bz2

这将创建一个名为`example.txt.bz2`的压缩文件。

保留原文件并压缩

如果希望在压缩文件的同时保留原文件,可以使用 `-k`选项:

bash

bzip2-k example.txt

这将生成`example.txt.bz2`,同时保留原文件`example.txt`。

查看压缩比

使用 `-v`选项可以查看压缩后的文件大小和压缩比:

bash

bzip2-v example.txt

高级用法

多文件压缩

可以一次性压缩多个文件:

bash

bzip2-v example.txt example2.txt

递归压缩目录

使用 `-r`选项可以递归地压缩目录中的所有文件:

bash

bzip2-rv/path/to/directory

压缩特定类型的文件

如果只想压缩特定类型的文件,可以结合使用 `find`命令和 `bzip2`:

bash

find/path/to/directory-type f-name"*.txt"-exec bzip2-v{}\;

压缩并删除原文件

如果希望在压缩后删除原文件,可以结合使用 `-k`和管道:

bash

bzip2-vk example.txt

常见问题

压缩速度慢

bzip2在默认情况下会使用较多的CPU资源以获得更高的压缩率。如果希望加快压缩速度,可以适当降低压缩级别:

bash

bzip2-l1 example.txt

解压缩失败

确保解压缩的文件是bzip2格式的。如果文件损坏或不是bzip2格式,解压缩将会失败。

结语

bzip2是Linux系统中一个非常实用的工具,通过本文的介绍,初学者应该能够掌握其基本的使用方法。在实际使用中,根据不同的需求选择合适的选项,可以更高效地进行文件的压缩与解压缩工作。随着实践的深入,对bzip2的高级功能也会逐渐熟悉。

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

阅读剩余
THE END