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 ...
随机推荐
- Android开发过程中的坑及解决方法收录(三)
bug:应用出现了 不幸运的,应用已停止的错误提示 排除问题: 1.intent接收数据的字符串不匹配 2.java常见的NullPointerException(空指针错误),可能由三个原因引起,字 ...
- Java 由浅入深GUI编程实战练习(二)
一,项目简介 1.利用Java GUI 绘制图像界面,设置整体布局 2.编写一个随机数生成1~100的随机数 3.编写一个验证类,用于验证用户输入值与生成随机数是否相等并记录用户猜测次数,当用户猜测成 ...
- create-react-app 修改项目端口号及ip,设置代理
项目相关配置,需要在package.json中配置
- RMQ求LCA
题目链接 rmq求LCA,interesting. 一直没有学这玩意儿是因为CTSC的Day1T2,当时我打的树剖LCA 65分,gxb打的rmq LCA 45分... 不过rmq理论复杂度还是小一点 ...
- 【代码笔记】Web-CSS-CSS样式列表(url)
一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- 解决centos7.0安装mysql后出现access defind for user@'localhost'的错误
在使用yum 安装完mariadb, mariadb-server, mariadb-devel后 1. rpm -qa | grep maria 查看maria相关库的是否在进程中 2. net ...
- Python使用Plotly绘图工具,绘制气泡图
今天来讲讲如何使用Python 绘图工具,Plotly来绘制气泡图. 气泡图的实现方法类似散点图的实现.修改散点图中点的大小,就变成气泡图. 实现代码如下: import plotly as py i ...
- DVWA 黑客攻防演练(九) SQL 盲注 SQL Injection (Blind)
上一篇文章谈及了 dvwa 中的SQL注入攻击,而这篇和上一篇内容很像,都是关于SQL注入攻击.和上一篇相比,上一篇的注入成功就马上得到所有用户的信息,这部分页面上不会返回一些很明显的信息供你调试,就 ...
- 从0开始的Python学习001快速上手手册
假设大家已经安装好python的环境了. Windows检查是否可以运行python脚本 Ctrl+R 输入 cmd 在命令行中输入python 如果出现下面结果,我们就可以开始python的学习了. ...
- linux备份还原命令
使用范围:1.可以作为系统还原点,还原到备份时的状态 2.系统完全损坏后无法启动,通过引导盘恢复 一.备份还原系统命令 方法一: 备份:tar cvpzf backup.tgz --exclude=/ ...