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 ...
随机推荐
- PHP和Go中的闭包变量作用域
关于闭包函数,之前在聊过.这里忽略了一点,不管是Go/Php/Python,闭包都存在局部变量的引用.我们还是先看个例子: PHP示例: $list = []; for ($i = 0; $i < ...
- Flask 系列之 优化项目结构
说明 操作系统:Windows 10 Python 版本:3.7x 虚拟环境管理器:virtualenv 代码编辑器:VS Code 实验目标 完善环境配置,添加 异常请求 处理 实现 400.404 ...
- ubuntu16.04 部署配置LVS主从
实验环境---ubuntu16.04 四台机器:10.211.55.13—55.16 具体实验环境配置如下: 10.211.55.102 LVS_VIP 10.211.55.13 LVS_MAST ...
- TortoiseSVN 安装时出现 please install the universal crt
解决步骤: 1.打开 https://www.microsoft.com/zh-cn/ 2.搜索 universal crt (hotfix kb2999226) 3.点击链接 4.选择适合自己的版本 ...
- spring学习总结——装配Bean学习二(JavaConfig装配bean)
通过Java代码装配bean 前言:上面梳理了通过注解来隐式的完成了组件的扫描和自动装配,下面来学习下如何通过显式的配置的装配bean: 使用场景:比如说,你想要将第三方库中的组件装配到你的应用中,在 ...
- 智能POS如何获取日志&数据库文件
使用Teamviewer连接安卓机器,文件传输 ================================================================== 智能POS查看数据 ...
- MySQL 基础知识梳理学习(五)----详解MySQL两次写的设计及实现
一 . 两次写提出的背景或要解决的问题 两次写(InnoDB Double Write)是Innodb中很独特的一个功能点.因为Innodb中的日志是逻辑的,所谓逻辑就是比如插入一条记录时,它可能会在 ...
- Cmder--Windows下代替原生的cmd命令行工具
Cmder是Windows下的命令行工具,用来代替Windows自带的cmd 官网:http://cmder.net/ 这里下载Full版本 https://github.com/cmderdev/c ...
- python文件上传
1.前端代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- Git常用命令集锦
本篇Git命令博客主要是一些Git常用命令,适合于有一定Git或linux基础的小伙伴进行参考 1.新建文件夹 mkdir 文件夹名 2.查看目录机构: pwd 3.将文件添加至Git管理范围:git ...