小知识:Linux文件压缩和解压缩命令使用详解

Linux系统中,我们通常使用的文件压缩命令有:bunzip2 , bzip2 , cpio , gunzip , gzip ,split(切割文件) , zgrep(在压缩文件中寻找匹配的正则表达式), zip ,unzip, tar ,rar。 最后四个是我比较常用的,今天的笔记就写这四个的好了。 1、tar tar命令:tar [选项…] [FILE]… 输入“tar -?”获取相关帮助信息,tar的帮助文档给出示例如下: 示例   tar -cf archive.tar foo bar  # 从文件 foo 和 bar 创建归档文件archive.tar。   tar -tvf archive.tar             # 详细列举归档文件 archive.tar中的所有文件。   tar -xf archive.tar              # 展开归档文件 archive.tar中的所有文件。 如果是要压缩文件夹的话,输入: tar -cvf dirArchive.tar /dirName 同样的,要将归档文件解压到特定文件夹的话,则是: tar -xvf dirArchive.tar /dirName 下面复习一下。我们先人为做个文件夹出来,里面放置若干文件夹和文件: 我们首先创建一个tar文件,先压缩一个文件夹(testdir): tar -cf testdir.tar testdir 然后列出该压缩包里的结构: 接着我们向这个压缩包追加文件: 当然了,上述单步操作没必要做了,压缩包里面已经有这个文件。 然后再看看这个压缩包里的结构: 如果使用示例中的-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> -<switch 1> -<switch N> <archive> <files…><@listfiles…> <path_to_extract\> Linux系统的默认软件包里是不包含rar压缩工具的,所以我们先安装rar: sudo apt-get install rar <command>选项只可以从给出的选项中输入一个(且只能一个),我们看一下它提供的命令列表: 使用举例,比如说现在我们要进行文件压缩: 在完成压缩之后,我们可以通过命令l获取压缩文件内具体的结构信息: 甚至可以通过命令p将压缩文件内的所有信息输出到控制台: <switch N>部分则提供了一些功能性的选项。 比如说以追加性的方式更新压缩文件可选用-ad: 或者说想把某个文件排除在外可以选用开关-x(注意,要排除的串要紧跟在x后面,不用加任何符号),比如我们这里想要将文件夹根路径下凡是“te”开头的文件都排除: 还有加密,用开关-p,同样的,密码紧随p后面即可: 如果相对文件进行解压或者直接打开文件,就会要求你输入密码: 除此之外,还有一些常用的选项有: ag[format]    Generate archive name using the current date cl                 Convert names to lower case cu                Convert names to upper case df                 Delete files after archiving ed                Do not add empty directories dw               Wipe files after archiving 其他的命令和开关可参照帮助手册。 3、zip  , unzip: zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list] unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir] zip和unzip的使用方法是比较简单的,甚至连帮助文档都写得很简单,所以也就没什么笔记好写的了,直接看帮助文档即可。 linux zip 命令详解  功能说明:压缩文件。  语 法: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的数值。 linux unzip 命令详解 功能说明:解压缩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压缩文件中的哪些文件。 -Z unzip -Z等于执行zipinfo指令 范例: zip命令可以用来将文件压缩成为常用的zip格式。unzip命令则用来解压缩zip文件。 1. 我想把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip: # zip -r yasuo.zip abc.txt dir1 2.我下载了一个yasuo.zip文件,想解压缩: # unzip yasuo.zip 3.我当前目录下有abc1.zip,abc2.zip和abc3.zip,我想一起解压缩它们: # unzip abc\?.zip 注释:?表示一个字符,如果用*表示任意多个字符。 4.我有一个很大的压缩文件large.zip,我不想解压缩,只想看看它里面有什么: # unzip -v large.zip 5.我下载了一个压缩文件large.zip,想验证一下这个压缩文件是否下载完全了 # unzip -t large.zip 6.我用-v选项发现music.zip压缩文件里面有很多目录和子目录,并且子目录中其实都是歌曲mp3文件,我想把这些文件都下载到第一级目录,而不是一层一层建目录: # unzip -j music.zip

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:使用linux系统性能监控工具KSysguard监控远端主机介绍

2023-6-7 2:56:30

建站知识

小知识:linuxmint使用root用户登录后声卡没有声音的解决方法

2023-6-7 3:13:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索