Shell命令-文件压缩解压缩之tar、unzip
文件及内容处理 - tar、unip
1.tar:打包压缩命令
tar命令的功能说明
tar
命令常用语用于备份文件,tar
是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件
tar命令的语法格式
tar [OPTION...] [FILE]...
tar [参数] [文件] ...
tar命令的常用参数说明:
tar
参数很多,表1为tar
命令的参数及说明:
表1:
tar
命令的参数及说明
参数选项 | 解释说明 |
---|---|
-A或--catenate | 新增文件到已存在的备份文件。 |
-b或--blocking-factor= | 设置每笔记录的区块数目,每个区块大小为12Bytes。 |
-B或--read-full-records | 读取数据时重设区块大小。 |
-c或--create | 建立新的备份文件。 |
-C或--directory= | 切换到指定的目录。 |
-d或--diff或--compare | 对比备份文件内和文件系统上的文件的差异。 |
-f或--file= | 指定备份文件。 |
-F或--info-script= | 每次更换磁带时,就执行指定的Script文件。 |
-g或--listed-incremental | 处理GNU格式的大量备份。 |
-G或--incremental | 处理旧的GNU格式的大量备份。 |
-h或--dereference | 不建立符号连接,直接复制该连接所指向的原始文件。 |
-i或--ignore-zeros | 忽略备份文件中的0 Byte区块,也就是EOF。 |
-k或--keep-old-files | 解开备份文件时,不覆盖已有的文件。 |
-K或--starting-file= | 从指定的文件开始还原。 |
-l或--one-file-system | 复制的文件或目录存放的文件系统,必须与tar指令执行时所处的文件系统相同,否则不予复制。 |
-L或-tape-length= | 设置存放每体的容量,单位以1024 Bytes计算。 |
-m或--modification-time | 还原文件时,不变更文件的更改时间。 |
-M或--multi-volume | 在建立,还原备份文件或列出其中的内容时,采用多卷册模式。 |
-N或--newer= | 只将较指定日期更新的文件保存到备份文件里。 |
-o或--old-archive或--portability | 将资料写入备份文件时使用V7格式。 |
-O或--stdout | 把从备份文件里还原的文件输出到标准输出设备。 |
-p或--same-permissions | 用原来的文件权限还原文件。 |
-P或--absolute-names | 文件名使用绝对名称,不移除文件名称前的"/"号。 |
-r或--append | 新增文件到已存在的备份文件的结尾部分。 |
-R或--block-number | 列出每个信息在备份文件中的区块编号。 |
-s或--same-order | 还原文件的顺序和备份文件内的存放顺序相同。 |
-S或--sparse | 倘若一个文件内含大量的连续0字节,则将此文件存成稀疏文件。 |
-t或--list | 列出备份文件的内容。 |
-T或--files-from= | 指定范本文件,其内含有一个或多个范本样式,让tar解开或建立符合设置条件的文件。 |
-u或--update | 仅置换较备份文件内的文件更新的文件。 |
-U或--unlink-first | 解开压缩文件还原文件之前,先解除文件的连接。 |
-v或--verbose | 显示指令执行过程。 |
-V或--label= | 建立使用指定的卷册名称的备份文件。 |
-w或--interactive | 遭遇问题时先询问用户。 |
-W或--verify | 写入备份文件后,确认文件正确无误。 |
-x或--extract或--get | 从备份文件中还原文件。 |
-X或--exclude-from= | 指定范本文件,其内含有一个或多个范本样式,让ar排除符合设置条件的文件。 |
-z或--gzip或--ungzip | 通过gzip指令处理备份文件。 |
-Z或--compress或--uncompress | 通过compress指令处理备份文件。 |
- | 设置备份用的外围设备编号及存放数据的密度。 |
--after-date= | 此参数的效果和指定"-N"参数相同。 |
--atime-preserve | 不变更文件的存取时间。 |
--backup=或--backup | 移除文件前先进行备份。 |
--checkpoint | 读取备份文件时列出目录名称。 |
--concatenate | 此参数的效果和指定"-A"参数相同。 |
--confirmation | 此参数的效果和指定"-w"参数相同。 |
--delete | 从备份文件中删除指定的文件。 |
--exclude= | 排除符合范本样式的问家。 |
--group= | 把加入设备文件中的文件的所属群组设成指定的群组。 |
--help | 在线帮助。 |
--ignore-failed-read | 忽略数据读取错误,不中断程序的执行。 |
--new-volume-script= | 此参数的效果和指定"-F"参数相同。 |
--newer-mtime | 只保存更改过的文件。 |
--no-recursion | 不做递归处理,也就是指定目录下的所有文件及子目录不予处理。 |
--null | 从null设备读取文件名称。 |
--numeric-owner | 以用户识别码及群组识别码取代用户名称和群组名称。 |
--owner= | 把加入备份文件中的文件的拥有者设成指定的用户。 |
--posix | 将数据写入备份文件时使用POSIX格式。 |
--preserve | 此参数的效果和指定"-ps"参数相同。 |
--preserve-order | 此参数的效果和指定"-A"参数相同。 |
--preserve-permissions | 此参数的效果和指定"-p"参数相同。 |
--record-size= | 此参数的效果和指定"-b"参数相同。 |
--recursive-unlink | 解开压缩文件还原目录之前,先解除整个目录下所有文件的连接。 |
--remove-files | 文件加入备份文件后,就将其删除。 |
--rsh-command= | 设置要在远端主机上执行的指令,以取代rsh指令。 |
--same-owner | 尝试以相同的文件拥有者还原文件。 |
--suffix= | 移除文件前先行备份。 |
--totals | 备份文件建立后,列出文件大小。 |
--use-compress-program= | 通过指定的指令处理备份文件。 |
--version | 显示版本信息。 |
--volno-file= | 使用指定文件内的编号取代预设的卷册编号。 |
tar命令的实践操作
范例1: 压缩文件
[root@oldboyedu ~]# mkdir /data
[root@oldboyedu ~]# cd /data
[root@oldboyedu /data]# touch {1..5}.txt
[root@oldboyedu /data]# ls
1.txt 2.txt 3.txt 4.txt 5.txt
[root@oldboyedu /data]# cd ..
[root@oldboyedu /]# tar zcvf /opt/data.tar.gz ./data
./data/
./data/1.txt
./data/2.txt
./data/3.txt
./data/4.txt
./data/5.txt
范例2: 查看压缩包里的内容:
-t
[root@oldboyedu /]# tar tf /opt/data.tar.gz
./data/
./data/1.txt
./data/2.txt
./data/3.txt
./data/4.txt
./data/5.txt
范例3: 解压缩
[root@oldboyedu /opt]# tar zxvf data.tar.gz
./data/
./data/1.txt
./data/2.txt
./data/3.txt
./data/4.txt
./data/5.txt
[root@oldboyedu /opt]# ls
data data.tar.gz
[root@oldboyedu /opt]# ls data
1.txt 2.txt 3.txt 4.txt 5.txt
[root@oldboyedu /opt]# tar xf data.tar.gz
范例3: 打包时指定目录参数:
-C
[root@oldboyedu /opt]# tar xf data.tar.gz -C /tmp/
[root@oldboyedu /opt]# ls /tmp/data
1.txt 2.txt 3.txt 4.txt 5.txt
范例4: 排除打包
[root@oldboyedu ~]# cd /data
[root@oldboyedu /data]# ls
1.txt 2.txt 3.txt 4.txt 5.txt
[root@oldboyedu /data]# tar zcvf oldboy.tar.gz ./* --exclude=4.txt --exclude=5.txt
./1.txt
./2.txt
./3.txt
[root@oldboyedu /data]# tar tf oldboy.tar.gz
./1.txt
./2.txt
./3.txt
[root@oldboyedu /data]# rm -f oldboy.tar.gz
[root@oldboyedu /data]# tar zcvf oldboy.tar.gz ./* --exclude={4,5}.txt
./1.txt
./2.txt
./3.txt
[root@oldboyedu /data]# tar zcvf oldboy.tar.gz ./* --exclude={1..4}.txt
./5.txt
./oldboy.tar.gz
[root@oldboyedu /data]# cat paichu.txt
1.txt
2.txt
3.txt
[root@oldboyedu /data]# tar zcvfX oldboy.tar.gz paichu.txt ./*
./4.txt
./5.txt
./oldboy.tar.gz
./paichu.txt
2. unzip:解压缩zip文件
unzip命令的功能说明
unzip
命令用于解压缩zip
文件,unzip
为.zip
压缩文件的解压缩程序。
unzip命令的语法格式
unzip
[-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] file[.zip] [file(s) ...] [-x xfile(s) ...] [-d exdir]
unzip
[-cflptuvz][-agCjLMnoqsVX][-P ][.zip文件][文件][-d ][-x ] 或 unzip [-Z]
unzip命令的常用参数说明:
unzip
参数很多,表1为unzip
命令的参数及说明:
表1:
unzip
命令的参数及说明
参数选项 | 解释说明 |
---|---|
-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指令。 |
unzip命令的实践操作
范例1: 查看压缩文件中包含的文件
unzip -l abc.zip Archive: abc.zip
Length Date Time Name-------- ---- ---- ----
94618 05-21-10 20:44 a11.jpg
202001 05-21-10 20:44 a22.jpg
16 05-22-10 15:01 11.txt
46468 05-23-10 10:30 w456.JPG
140085 03-14-10 21:49 my.asp
-------- -------
483188 5 files
范例2:
-v
参数用于查看压缩文件目录信息,但是不解压该文件。
unzip -v abc.zip
Archive: abc.zip
Length Method Size Ratio Date Time CRC-32 Name
-------- ------ ------- ----- ---- ---- ------ ----
94618 Defl:N 93353 1% 05-21-10 20:44 9e661437 a11.jpg
202001 Defl:N 201833 0% 05-21-10 20:44 1da462eb a22.jpg
16 Stored 16 0% 05-22-10 15:01 ae8a9910 ? +-|¥+-? (11).txt
46468 Defl:N 39997 14% 05-23-10 10:30 962861f2 w456.JPG
140085 Defl:N 36765 74% 03-14-10 21:49 836fcc3f my.asp
-------- ------- --- -------
483188 371964 23% 5 files
今天就写到这里,有什么疑问或出现什么错误,随时欢迎大神们发表评论指点迷津
Shell命令-文件压缩解压缩之tar、unzip的更多相关文章
- Shell命令-文件压缩解压缩之gzip、zip
文件及内容处理 - gzip.zip 1.gzip:gzip压缩工具 gzip命令的功能说明 gzip 命令用于压缩文件.gzip 是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出 .gz ...
- ubuntu下文件压缩/解压缩命令总结
.gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.gz 解压:tar zxvf FileName.tar ...
- ubuntu下文件压缩/解压缩
ubuntu下文件压缩/解压缩 http://blog.csdn.net/luo86106/article/details/6946255 .gz 解压1:gunzip FileName.gz 解压2 ...
- 命令行压缩解压缩一 7z
命令行压缩解压缩一 7z 1) 简介 7z,全称7-Zip, 是一款开源软件.是目前公认的压缩比例最大的压缩解压缩软件. 主页:http://www.7-zip.org/ 中文主页:http: ...
- Linux命令 文件压缩及压缩命令
gzip [功能说明] 文件的压缩 #gizp属于GNU软件,总性能不错,是Linux系统首选的压缩工具,tar归档命令的-z参数也是利用gzip/gunzip来解压缩 [语法格式] Gip[选项][ ...
- 07.进程管理+作业控制+文件查找与压缩+文件压缩与打包+tar打包解包+NFS
进程管理 程序放在磁盘上叫文件,把它复制到内存,并在cpu运行,就叫进程, 进程多少也反映当前运行程序的多少 进程在系统中会为每个进程生成一个进程号,在所有的进程中有一个特殊进程即init进程, 它是 ...
- 使用 apache ant 轻松实现文件压缩/解压缩(转)
原文地址:http://blog.csdn.net/irvine007/article/details/6779492 maven配置ant包: <dependency> <grou ...
- java代理使用 apache ant实现文件压缩/解压缩
[背景] 近日在研究web邮件下载功能,下载的邮件能够导入foxmail邮件client.可是批量下载邮件还需将邮件打成一个压缩包. 从网上搜索通过java实现文件压缩.解压缩有非常多现成的样例. [ ...
- shell 命令 文件(解)压缩 tar,zip, gzip,bzip2
1.gzip / gunzip [ gzip data.c] 对文件进行压缩,生成 data.c.gz 同时删除了原文件 同时压缩两个文件 [gunzip data.c.gz ...
随机推荐
- 解决java web中safari浏览器下载后文件中文乱码问题
解决java web中safari浏览器下载后文件中文乱码问题 String fileName = "测试文件.doc"; String userAgent = request.g ...
- Java开发笔记(四十三)更好用的本地日期时间
话说Java一连设计了两套时间工具,分别是日期类型Date,以及日历类型Calendar,按理说用在编码开发中绰绰有余了.然而随着Java的日益广泛使用,人们还是发现了它们的种种弊端.且不说先天不良的 ...
- 折腾Java设计模式之命令模式
博客原文地址 折腾Java设计模式之命令模式 命令模式 wiki上的描述 Encapsulate a request as an object, thereby allowing for the pa ...
- ejs常用语法
nodejs的模板引擎有很多, ejs是比较简单和容易上手的.常用的一些语法: 用<%...%>包含js代码 用<%=...%>输出变量 变量若包含 '<' '>' ...
- 流程控制之 if 判断
语法一:if 条件: 代码1 代码2 代码3 gender='female'age=18is_beautiful=True if gender == 'female' and age > 16 ...
- SAP MM ME1M报表结果不科学?
SAP MM ME1M报表结果不科学? 做过SAP MM顾问的都知道,报表ME1M可以查询物料的info record列表,即是说可以以列表的形式批量显示多个物料的采购价格主数据. 但是这个报表有个不 ...
- 工作流引擎JFlow与activiti 对比分析(一)5种基本控制流模式的对比
为了更好的说明activiti 与jflow的两款工作流引擎的特点与区别,我们按照如下几个方面做一次全面的.客观的对比. 首先activiti是国外的一款开源的工作流程引擎,在国际上影响比较深远与广泛 ...
- arcgis api 3.x for js入门开发系列九热力图效果(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- Android Studio撤销与SVN的关联
为何会记录这一个问题,主要是在做项目的过程中出现了一个奇怪的现象,就是直接在文件目录下使用svn上传文件的话,可以看到该目录是与SVN相关联的,可是到了用Android Studio上传代码的时候却发 ...
- QT多线程的使用
今天给大家介绍三种QT里面使用多线程的方法 1.继承QThread并且重写run方法来实现多线程 #ifndef MYQTHREAD_H #define MYQTHREAD_H #include &l ...