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 ...
随机推荐
- [LeetCode] 1. Two Sum 两数之和
Part 1. 题目描述 (easy) Given an array of integers, return indices of the two numbers such that they add ...
- 2019-02-20 在PyPI测试平台发布Python包
参考Packaging Python Projects, 源码在nobodxbodon/test-package-for-pypi 包名/__init__.py: 测试变量 = "值&quo ...
- Android 轮播图Banner切换图片的效果
Android XBanner使用详解 2018年03月14日 08:19:59 AND_Devil 阅读数:910 版权声明:本文为博主原创文章,未经博主允许不得转载. https://www. ...
- C++ 11 创建和使用共享 weak_ptr
1.为什么需要weak_ptr? 在正式介绍weak_ptr之前,我们先来回忆一下shared_ptr的一些知识.我们知道shared_ptr是采用引用计数的智能指针,多个shared_ptr实例可以 ...
- java新知识系列 五
类方法和对象方法的使用限制 abstract修饰符的注意 静态变量只能在类主体中定义,不能在方法中定义 线程的各种方法差别 关于抽象类 什么是中间件 Servlet生命周期的三个主要方法 可以修饰类的 ...
- 【Linux】【Apatch Tomcat】Linux、CentOS7安装最新版Apartch Tomcat环境
1.前言 相当嫌弃,博客园搞掉了我快写完的 Tomcat. 请先安装 :[Linux][Java]CentOS7安装最新版Java1.8.191运行开发环境 虽然安装Tomcat没啥技术,但是还是记录 ...
- C# 反射的例子
通过字符串变量访问控件 string t = "textbox1"; TextBox tb = (TextBox)this.GetType().GetField(t, System ...
- Win10 - MySQL 5.7 密码重置
Win10 - MySQL 5.7 密码重置 所有行为均发生在系统管理员权限的 Cmd 或 Powershell 下 注意! 本行为会导致数据库重置 # 重新安装 mysql 服务 mysqld -- ...
- jQuery中toggle与slideToggle以及fadeToggle之间的不同
toggle()方法: 定义和用法 切换元素的可见状态.如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素. 语法: $(selector).toggle(speed,callback ...
- Scrapy案例02-腾讯招聘信息爬取
目录 1. 目标 2. 网站结构分析 3. 编写爬虫程序 3.1. 配置需要爬取的目标变量 3.2. 写爬虫文件scrapy 3.3. 编写yield需要的管道文件 3.4. setting中配置请求 ...