当前位置: 首页 > Linux

Linux系列压缩命令

时间:2023-04-06 02:21:05 Linux

前言Linux中常用的压缩命令有3种:gzip、bzip2、tar。本文介绍它们的区别和简单使用。压缩文件数据压缩是去除数据中冗余部分的过程,需要通过压缩算法来完成。这些算法可以分为两类:无损压缩:保留原始文件中包含的所有数据。有损压缩:压缩时删除数据,以便可以应用更多压缩。当文件恢复时,它与原始版本不对应,而是一个近似值。JPEG和MP3是有损压缩的示例。gzip命令该命令用于压缩一个或多个文件。它用压缩版本替换原始文件。此命令的语法是gzip文件。我们可以使用gunzip来解压。gzip有很多选项,使用命令mangzip查看完整列表。如果想查看压缩后的文本文件内容,可以使用gunzip-c或zcat查看。bzip2命令与gzip类似,但使用不同的压缩算法,以牺牲压缩速度为代价实现更高级别的压缩。压缩命令:bzip2sample.txt解压缩命令:bunzip2sample.txt.bz2bzip2也有几个支持的选项。归档文件归档是收集许多文件并将它们打包成一个大文件的过程。tar命令tar程序是归档中的经典工具。如果您看到一个带有.tar扩展名的文件名,则表明它是一个普通的tar存档,如果它以.tgz结尾,则表明它是一个gzip压缩的存档。tar有几种模式。请记住,必须始终首先指定模式。模式说明c从文件和/或目录列表创建存档。x提取存档。r将指定的路径名??添加到存档的末尾。t列出存档的内容。我已经创建了几个文件夹和文件,我可以使用tarcfplayground.tarplayground将它们存档。我们可以使用v选项(详细)来获得更详细的列表。我们可以在新位置提取tar。请记住,除非我们以超级用户身份操作,否则从存档中提取的文件和目录的所有权由执行恢复的用户而非原始所有者承担。tar默认使用相对路径名而不是绝对路径名。这非常有用,因为它允许我们将档案提取到任何位置,而不必提取到它们的原始位置。您可以通过向tar命令添加尾随路径名来限制从存档中提取的内容,并且tar将仅恢复指定的文件。您还可以指定多个路径名。通常不支持通配符,但tar的GUN版本通过--wildcards选项支持它们。tarxf../playground2.tar--wildcards'home/azureuser/playground/dir-*/file-A'现代版本的GNUtar通过分别使用z和j选项直接支持gzip和bzip2压缩。T是-files-from选项的缩写,它告诉tar从哪里读取它的路径名列表,之前我们告诉tar使用哪个目录或文件,但现在我们使用-选项,这让tar知道使用标准输入或输出为要提取或存档的文件。-T选项起初有点令人困惑。这个命令是说:findplayground/-name'file-A'在playground中查找与file-A匹配的所有文件|将找到的内容通过管道传输到tartarczfplayground创建一个由gzip压缩的tar,并将其命名为playground.tgz-T-来自管道find命令标准输出的标准输出文件。