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




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

2022-07-20 20:30:46 网络知识 官方管理员

在Linux系统中,我们通常使用的文件压缩命令有:bunzip2,bzip2,cpio,gunzip,gzip,split(切割文件),zgrep(在压缩文件中寻找匹配的正则表达式),zip,unzip,tar,rar。
最后四个是我比较常用的,今天的笔记就写这四个的好了。
1、tar:
tar命令:tar[选项...][FILE]...
输入tar-?获取相关帮助信息,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目录的时候,需要将文件夹根路径内的test文件排除:
2、只压缩比指定时间更新的文件:
3、压缩所有文件名前缀为te的文件或文件夹(或者压缩后缀为st的文件):
最后补充一下常用的选项:
-p,--preserve-permissions,--same-permissions
保留解压文件权限信息(默认只为超级用户服务)
--preserve与-p和-s一样
--same-owner尝试解压时保持所有者关系一致(超级用户默认此项)
-r,--append追加文件至归档结尾
-u,--update仅追加比归档中副本更新的文件
-k,--keep-old-files解压时不要替换存在的文件
--keep-newer-files
不要替换比归档中副本更新的已存在的文件
--no-overwrite-dir保留已存在目录的元数据
--overwrite解压时重写存在的文件
--overwrite-dir
解压时重写已存在目录的元数据(默认)
--recursive-unlink解压目录之前先清除目录层次
--remove-files在添加文件至归档后删除它们
-N,--newer=DATE-OR-FILE,--after-date=DATE-OR-FILE只保存比DATE-OR-FILE更新的文件

2、rar:
rar<command>-<switch1>-<switchN><archive><files...><@listfiles...><path_to_extract\>
Linux系统的默认软件包里是不包含rar压缩工具的,所以我们先安装rar:
sudoapt-getinstallrar
<command>选项只可以从给出的选项中输入一个(且只能一个),我们看一下它提供的命令列表:
使用举例,比如说现在我们要进行文件压缩:
在完成压缩之后,我们可以通过命令l获取压缩文件内具体的结构信息:
甚至可以通过命令p将压缩文件内的所有信息输出到控制台:
<switchN>部分则提供了一些功能性的选项。
比如说以追加性的方式更新压缩文件可选用-ad:
或者说想把某个文件排除在外可以选用开关-x(注意,要排除的串要紧跟在x后面,不用加任何符号),比如我们这里想要将文件夹根路径下凡是te开头的文件都排除:
还有加密,用开关-p,同样的,密码紧随p后面即可:
如果相对文件进行解压或者直接打开文件,就会要求你输入密码:
除此之外,还有一些常用的选项有:
ag[format]Generatearchivenameusingthecurrentdate
clConvertnamestolowercase
cuConvertnamestouppercase
dfDeletefilesafterarchiving
edDonotaddemptydirectories
dwWipefilesafterarchiving
其他的命令和开关可参照帮助手册。

3、zip,unzip:
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是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".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将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
-n<字尾字符串>不压缩具有特定字尾字符串的文件。
-o以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
-q不显示指令执行过程。
-r递归处理,将指定目录下的所有文件和子目录一并处理。
-S包含系统和隐藏文件。
-t<日期时间>把压缩文件的日期设成指定的日期。
-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将输出结果送到more程序处理。
-n解压缩时不要覆盖原有的文件。
-o不必先询问用户,unzip执行后覆盖原有文件。
-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


发表评论:

最近发表
网站分类
标签列表