Linux文件压缩和解压缩命令使用详解

在Linux系统中,我们通常使用以下文件压缩命令:bunzip2、bzip2、cpio、gunzip、gzip、split(剪切文件)、zgrep(在压缩文件中查找合适的正则表达式)、zip、unzip、tar、rar。

最后四个是我最常用的,所以我就将这四个写在今天的笔记中。

1.tar:

tar命令:tar[选项...][FILE]...

输入“tar-?”link帮助信息,tar的帮助文档包含示例如下:

示例

tar-cfarchive.tarfoobar#从文件foo和bar创建归档文件archive.tar。

tar-tvfarchive.tar#详细列出归档文件archive.tar中的所有文件。

tar-xfarchive.tar#展开归档文件archive.tar中的所有文件。

如果要压缩文件夹,请键入:

tar-cvfdirArchive.tar/dirName

同样,您需要将存档文件解压到特定的位置文件夹如果有的话就是:

tar-xvfdirArchive.tar/dirName

下面我们看一下。
我们首先手动创建一个文件夹,并在其中放置几个​​文件夹和文件:

我们首先创建一个TAR文件,并先压缩一个文件夹(testdir):

tar-cftestdir.tartestdir

然后列出压缩包中的结构:

然后我们将文件追加到这个压缩包中:

当然,上面的单步过程并不是必要完成,该文件已存在于压缩包。

然后看看这个压缩包中的结构:

如果在示例中使用-v选项,则会列出压缩包中的所有文件属性。
包括权限、创建者、字节大小、修改时间和文件名:

提取tar压缩文件并查看文件列表:

一般情况下,最常用的选项有:主要操作选项:

另外练习一下其他一些用法:

1、压缩Testdir目录时,需要排除该文件夹根路径下的测试文件:

>

2.仅压缩比指定日期更新的文件:

3.压缩文件名前缀为“te”的任何文件或文件夹(或压缩后缀为“st”的文件)。

最后添加一些常用的选项:

-p,--preserve-permissions,--same-permissions

保留解压文件的权限信息(默认(仅限超级用户)

--preserve与-p和-s相同

--same-owner尝试解压缩时保持所有权关系一致(超级用户默认)

-r,--append将文件附加到存档末尾

-u,--update仅附加比存档中的副本更新的文件

-k,--keep-old-files解压arts时,不替换现有文件

--keep-newer-files

不替换比现有文件更新的文件存档

--no-overwrite-dir现有文件保留现有目录的元数据

--overwritee解压时重写现有文件

--overwrite-dir

解压时重写现有目录的元数据(默认)

--recursive-unlink解压目录次之前删除目录级别

--remove-files添加到存档后删除文件were

-N,--newer=DATE-OR-FILE,--after-date=DATE-OR-FILE仅保存早于DATE-OR-FILE更新文件的文件

2.rar:

rarcommand-switch1-switchNarchivefiles...@listfiles...path_to_extract/

标准软件包德斯Linux系统不包含RAR压缩工具,所以我们先安装RAR:

sudoapt-getinstallrar

命令选项只能输入其中一个(且只能是一个)指定选项:

比如要进行文件压缩:

压缩完成后压缩后,我们可以使用命令l:

来获取具体的结构信息在压缩文件中。
我们甚至可以使用p:

switchN部分提供一些功能选项,将压缩文件中的所有信息输出到控制台。

例如,要追加更新压缩文件,可以使用-ad:

或者,如果要排除特定文件,可以使用-x开关(请注意要排除的字符串后面必须紧跟一个x,而不添加任何符号,例如这里我们要排除文件夹根路径中所有以“te”开头的文件:

还有加密,使用开关-p,密码也跟着只需点击p:

当你解压对应的文件或者直接打开该文件时,会要求你输入密码:

另外,还有一些常用的选项有:

ag[格式]使用当前日期生成存档名称e

clConvertnamestolowercase

cuConvertnamestouppercase

df存档后删除文件

cuConvertnamestouppercase

df存档后删除文件

编辑不要添加空目录

dw归档后擦除文件

有关更多命令和开关,请参阅帮助手册。

3.zip、解压:

zip[-options][-bpath][-tmmddyyyy][-nsuffixes][zipfilelist][-xilist]

unzip[-Z][-opts[modifiers]]file[.zip][list][-xxlist][-dexdir]

zip和的使用unzip比较简单,连帮助文档都写的很简单,不需要写注释。
看看帮助文档就可以了。

Linuxzip命令详解

功能说明:压缩文件。

语法:zip[-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b工作目录][-ll][-n后缀字符串][-t日期和时间][-压缩效率][压缩压缩文件][文件...][-i模板风格][-x模板风格]

补充说明:zip是一种广泛使用的压缩程序。
用它压缩文件后,会生成扩展名为“.拉链”。

参数:

-A自定义自动解压可执行文件。

-b工作目录指定文件临时存放的目录。

-c为每个压缩文件添加注释。

-d从压缩文件中删除指定文件。

-D不在压缩文件中创建目录名。

此-f参数的效果与指定“-u”参数类似,但不仅会更新现有文件,还会添加一些原本不存在于压缩文件中的文件。
使用此参数还会将它们放入压缩文件中。

-F尝试修复损坏的压缩文件。

-g压缩文件并将其附加到现有压缩文件,而不是创建新的压缩文件。

-h在线帮助。

-i模板样式只压缩符合条件的文件。

-j只保存文件名及其内容,不保存目录名。

-J删除压缩文件前不需要的数据。

-k使用MS-DOS兼容格式的文件名。

-l压缩文件时将LF字符替换为LF+CR字符。

-ll压缩文件时,将LF+CR字符替换为LF字符。

-L显示版权信息。

-m压缩文件并将其添加到压缩文件中,然后删除原始文件,即h.将文件移动到压缩文件。

-nsuffix-string不压缩具有特定后缀字符串的文件。

-o根据压缩文件中最后修改时间的文件,将压缩文件的修改时间设置为与文件相同的值。

-q不显示命令执行过程。

-r递归处理指定目录下的所有文件和子目录。

-S包括系统文件和隐藏文件。

-tDateTime将压缩文件的日期设置为指定日期。

-T检查备份文件中的每个文件是否正确。

-u替换压缩文件中较新的文件。

-v显示命令执行过程或版本信息。

-V保存VMS操作系统的文件属性。

如果-w文件名中包含版本号,则该参数仅在VMS操作系统下有效。

-x压缩模板样式时排除符合条件的文件。

-X不存储附加文件属性。

-y直接保存符号链接而不是链接指向的文件。
该参数仅在UNIX等系统上有效。

-z向压缩文件添加注释。

-$存储第一个压缩文件所在磁盘的卷名。

-压缩效率压缩效率是1到9之间的一个值。

linuxunzip命令详细解释

功能说明:解压ZIP文件

>

语法:unzip[-cflptuvz][-agCjLMnoqsVX][-P密码][.zip文件][文件][-d目录][-x文件]或unzip[-Z]

附加说明:Unzip是.zip压缩文件的解压程序。

参数:

-c将解压结果显示在屏幕上,并进行相应的字符转换。

-f更新现有文件。

-l显示压缩文件中包含的文件。

-p与-c参数类似。
它在屏幕上显示解压结果,但不执行任何转换。

-t检查压缩文件是否正确。

-u参数与-f参数类似,但除了更新现有文件外,还将压缩文件中的其他文件解压到目录中。

-v执行时显示详细信息。

-z仅显示压缩文件的注释文本。

-a对文本文件执行所需的字符转换。

-b不对文本文件执行字符转换。

-C压缩文件中的文件名区分大小写。

-j不处理压缩文件中的原始目录路径。

-L将压缩文件中的所有文件名更改为小写。

-M将输出结果发送到程序的其余部分进行处理。

-n解压时不覆盖原文件。

-o无需先询问用户,解包后将覆盖原文件。

-P密码使用zip密码选项。

-q执行时不显示任何信息。

-s将文件名中的空格转换为下划线。

-V保留VMS文件版本信息。

-X解压时还会恢复文件原来的UID/GID。

[.zip文件]指定压缩的.zip文件。

[文件]指定要处理.zip压缩文件中的哪些文件。

-d目录指定解压后文件的保存目录。

-x文件指定不应处理压缩ZIP文件中的哪些文件。

-Zunzip-Z相当于运行“zipinfo”命令

示例:

“zip”命令可用于将文件压缩为常用的文件使用ZIP格式的文件。
unzip命令用于解压缩ZIP文件。

1.我想将文件abc.txt和目录dir1压缩到yasuo.zip中:

#zip-ryasuo.zipabc.txtdir1

2.我下载了一个yasuo.zip文件并想解压它:

#unzipyasuo.zip

3.我有abc1.zip,当前目录中的abc2.zip和abc3.zip。
我想将它们一起解压:

#unzipabc/?。
zip

注意:?代表一个字符,*代表任意数量的字符。

4.我有一个很大的压缩文件“large.zip”。
我不想解压它,我只是想看看里面有什么:

#unzip-vlarge.zip

5.我下载了一个压缩文件“large.zip”并想要检查压缩文件是否完全下载

#unzip-tlarge.zip

6.我使用-v选项,发现压缩文件是“music.zip”许多目录和包含子目录,子目录实际上是我要下载的歌曲mp3文件,将这些文件全部放到一级目录中,而不是逐层创建目录:

#unzip-jmusic.zip

初级:如何在Linux中zip压缩文件和文件夹

在Linux系统中,无论是终端还是图形用户界面,压缩文件和文件夹都是常见的操作。
本文将指导您如何在Ubuntu和其他发行版中轻松完成此任务。
首先,确保您的系统已安装zip。
通常,它是预先安装的,但您可以通过运行命令来检查它,并在需要时安装它。
一旦确认,我们就可以开始压缩操作了。
在命令行中,只需使用基本的zip命令即可。
只需输入“zip[options]target.zip输入文件或目录”。
其中,“r”选项用于递归压缩目录,而“e”选项用于创建受密码保护的压缩文件。
默认情况下,它会自动添加.zip扩展名。
如果您更喜欢图形界面,基于GNOME的系统(例如Ubuntu)提供了方便的压缩方法。
只需进入目标文件夹,选择文件或文件夹,右键单击选择“压缩”选项,选择压缩格式,输入文件名,就会生成压缩存档。
无论使用哪种方法,zip文件和文件夹都旨在节省存储空间和网络带宽。
通过本文,您已经掌握了在Linux中创建zip文件夹的基本技巧,这对于专业用户和初学者来说都非常实用。
如果您有任何疑问或建议,请分享。
本文由AbhishekPrakash撰写,最初由LCTT翻译,由LinuxChina发起,旨在帮助大家更好地了解和使用Linux系统。