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

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

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

1.tar:

tar命令:tar[选项...][文件]...

输入“tar-?”help信息,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

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

然后我们向这个压缩包中添加文件:

当然,上面的一步操作就是不是required完成,该文件已存在于压缩包中。

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

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

从tar压缩文件中提取并显示文件列表:

一般情况下,使用最多的选项是:主要操作options:

另外,练习一些其他的用法:

1、压缩testdir目录时,应该排除其中的测试文件文件夹的根路径:

2.仅压缩比指定时间更新的文件:

3.压缩文件名前缀为“to”的所有文件或文件夹(或带有压缩后缀“st”):

最后添加一些常用选项:

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

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

--preserve与-p和-s相同

--sameOwner尝试解压时保持所有者关系一致(超级用户默认)

-r,--append将文件添加到末尾archive

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

-k,--keep-old-files解压缩艺术文件时不覆盖现有文件

--keep-newer-files

不要覆盖比存档副本更新的现有文件

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

--overwritee解压时覆盖现有文件

--overwrite-dir

解压时覆盖现有目录的元数据(默认)

--recursive-unlock在解压目录之前清除图层目录一次

--remove-files添加文件后删除文件archive

-N,--newer=DATE-OR-FILE,--after-date=DATE-OR-FILE只存储早于DATE-OSR-FILE更新的文件

2.rar:

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

默认的Linux系统软件包不包含rar压缩工具,所以我们先安装rar:

sudoapt-getinstallrar

命令选项只能输入一个(且仅一个)给定选项:

现在使用一个示例,您想要进行压缩file:

压缩完成后压缩后,我们可以通过l命令获取压缩文件中的具体结构信息:

我们甚至可以提取压缩文件中的所有信息通过p命令到控制台:

switchN部分提供多种功能选项。

例如,要以插件模式更新压缩文件,可以使用-ad:

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

<)。
还有加密,使用密钥-p,同样,密码就在p后面:

如果解压相应文件或者直接打开文件,会要求输入密码:

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

ag[format]Generatearchivenameusingthecurrentdatee

clConvertnamestomecase

cuConvertnamestouppercase

dfDeletefilearchive

edDonotaddemptydirectories

dwWipefilesafterarchiving

其他命令和开关请参阅帮助手册。

3.zip、解压:

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

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

使用zip和unzip比较简单,连帮助文档都写得很好,很e简单,所以不用写注释就看帮助文档。

linuxzip命令详解

功能描述:压缩文件。

语法:zip[-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b工作目录][-ll][-n后缀字符串][-t日期时间][-压缩效率][压缩压缩文件][文件...][-itemplate-style][-xtemplate-style]

补充说明:zip是一种广泛使用的压缩程序之后文件被它压缩,它将生成带有“.zip”扩展名的附加文件。

参数:

-设置自动解压文件可执行文件。

-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压缩文件并将其添加到压缩文件中,然后删除原始文件,即将文件移动到压缩文件中。

-n后缀字符串不压缩具有特殊后缀字符串的文件。

-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显示zip文件中包含的文件。

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

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

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

-v显示详细的运行时信息。

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

-a在文本文件中执行必要的字符转换。

-b不要在文本文件中执行字符转换。

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

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

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

-M将输出结果发送给m程序处理。

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

-o无需先提示用户,运行解压后将覆盖原始文件。

-P密码使用e选项压缩密码。

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

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

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

-X在解压过程中还会恢复文件原来的UID/GID。

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

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

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

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

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

示例:

zip命令可以用来压缩常用的zip中的文件。
形式。
unzip命令用于解压缩zip文件。

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

#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文件,这些文件都转到level目录首先,不要逐层构建目录:

#unzip-jmusic.zip


在linux下如何将文件夹压缩成tgz文件

在Linux系统上,您可以使用“tar”命令将文件夹压缩为“tgz”文件。
`tgz`文件实际上是使用gzip压缩的打包tar文件。
以下是具体步骤:1.打开终端。
2.使用“cd”命令导航到包含要压缩的文件夹的父目录。
3.使用以下命令压缩文件夹:````bashtar-czvfoutput_filename.tgzfolder_name````这里的参数解释如下。
-`c`代表创建一个新的tar包。
-`z`代表gzip压缩。
-`v`代表压缩过程中的进度显示(详细)。
-`f`代表指定压缩文件的名称。
“output_filename.tgz”是要创建的压缩文件的名称,“folder_name”是要压缩的文件夹的名称。
例如,如果您有一个名为“my_folder”的文件夹,并且想要将其压缩到名为“my_folder.tgz”的文件中,则可以使用以下命令:````bashtar-czvfmy_folder.tgzmy_folder````运行此命令后,`my_folder`文件夹将被压缩并保存为`my_folder.tgz`文件。
您可以使用“ls”命令检查文件是否已成功创建。

linux压缩文件夹命令zip

Linux系统中压缩文件夹的zip命令是什么?下面对zip命令进行详细介绍:1.zip命令的功能:使用zip命令来压缩zip文件。
2.Zip命令语法:zip[选项][压缩文件][文件]3.选项含义:-m压缩文件后,删除源文件-o将压缩文件与源文件同时放置-q安静mode度,压缩时不显示命令执行-r一起处理指定目录下的所有子文件夹和文件-n不压缩特定字符串的文件-v显示详细的活动信息动态-zadd为压缩文件添加注释-e压缩时指定编码-T检查存档的完整性-c添加注释行-u更新存档并向存档中添加新文件-I实现更快的压缩-9获得比指定更好的压缩-x排除指定的内容压缩时的文件-i压缩时只包含指定文件例如:压缩目录,将/root/目录下的文件夹harry压缩成名为harry.zip的压缩包: