linux tar命令简介
一、使用介绍
1、名词区分
打包:将一大堆文件或目录变成一个总的文件【tar命令】
压缩:将一个大的文件通过一些压缩算法变成一个小文件【gzip,bzip2等】
Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
2、tar语法
语法:tar [主选项+辅选项] 文件或目录
使用该命令时,主选项必须有,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:【一条命令以下5个参数只能有一个】
-c: --create 新建一个压缩文档,即打包
-x: --extract,--get解压文件
-t: --list,查看压缩文档里的所有内容
-r:--append 向压缩文档里追加文件
-u:--update 更新原压缩包中的文件
辅助选项:
-z:是否同时具有gzip的属性?即是否需要用gzip压缩或解压?一般格式为xxx.tar.gz或xx.tgz
-j:是否同时具有bzip2的属性?即是否需要用bzip2压缩或解压?一般格式为xx.tar.bz2
-v:显示操作过程!这个参数很常用
-f:使用文档名,注意,在f之后要立即接文档名,不要再加其他参数!
-C:切换到指定目录
--exclude FILE:在压缩过程中,不要将FILE打包
二、例子
1、打包
习惯上以.tar后缀代表tar包,用xxx.tar.gz或.tgz代表gzip压缩过的tar文件,用.tar.bz2代表bzip2压缩过的tar文件。
将img1和img2两个文件夹打包成img.tar,仅打包不压缩
liuxiaoyan@development:~/test$ tar -cvf img.tar img1 img2
img1/
img1/.png
img1/.png
img1/.png
img2/
img2/.png
img2/.png
img2/.png
liuxiaoyan@development:~/test$ ls
img1 img2 img.tar
将img1和img2两个文件夹打包成img.tar.gz,打包后,以gzip压缩
liuxiaoyan@development:~/test$ tar -zcvf img.tar.gz img1 img2
img1/
img1/.png
img1/.png
img1/.png
img2/
img2/.png
img2/.png
img2/.png
liuxiaoyan@development:~/test$ ls
img1 img2 img.tar img.tar.gz
将img1和img2两个文件夹打包成img.tar.bz2,打包后,以bzip2来压缩
liuxiaoyan@development:~/test$ tar -jcvf img.tar.bz2 img1 img2
img1/
img1/.png
img1/.png
img1/.png
img2/
img2/.png
img2/.png
img2/.png
liuxiaoyan@development:~/test$ ls
img1 img2 img.tar img.tar.bz2 img.tar.gz
2、不解压的情况下查看
查看img.tar中的所有内容
liuxiaoyan@development:~/test$ tar -tf img.tar
img1/
img1/.png
img1/.png
img1/.png
img2/
img2/.png
img2/.png
img2/.png
查看img.tar.gz的所有内容
加-v参数查看详细信息,-z可有可无
liuxiaoyan@development:~/test$ tar -tf img.tar.gz
img1/
img1/.png
img1/.png
img1/.png
img2/
img2/.png
img2/.png
img2/.png
liuxiaoyan@development:~/test$ tar -ztf img.tar.gz
img1/
img1/.png
img1/.png
img1/.png
img2/
img2/.png
img2/.png
img2/.png
liuxiaoyan@development:~/test$ tar -ztvf img.tar.gz
drwxrwxr-x liuxiaoyan/liuxiaoyan -- : img1/
-rw-r--r-- liuxiaoyan/liuxiaoyan -- : img1/.png
-rw-r--r-- liuxiaoyan/liuxiaoyan -- : img1/.png
-rw-r--r-- liuxiaoyan/liuxiaoyan -- : img1/.png
drwxrwxr-x liuxiaoyan/liuxiaoyan -- : img2/
-rw-r--r-- liuxiaoyan/liuxiaoyan -- : img2/.png
-rw-r--r-- liuxiaoyan/liuxiaoyan -- : img2/.png
-rw-r--r-- liuxiaoyan/liuxiaoyan -- : img2/.png
查看img.tar.bz2内容
加-v参数查看详细信息,-j可有可无
liuxiaoyan@development:~/test$ tar -tf img.tar.bz2
img1/
img1/.png
img1/.png
img1/.png
img2/
img2/.png
img2/.png
img2/.png
liuxiaoyan@development:~/test$ tar -jtf img.tar.bz2
img1/
img1/.png
img1/.png
img1/.png
img2/
img2/.png
img2/.png
img2/.png
liuxiaoyan@development:~/test$ tar -jtvf img.tar.bz2
drwxrwxr-x liuxiaoyan/liuxiaoyan -- : img1/
-rw-r--r-- liuxiaoyan/liuxiaoyan -- : img1/.png
-rw-r--r-- liuxiaoyan/liuxiaoyan -- : img1/.png
-rw-r--r-- liuxiaoyan/liuxiaoyan -- : img1/.png
drwxrwxr-x liuxiaoyan/liuxiaoyan -- : img2/
-rw-r--r-- liuxiaoyan/liuxiaoyan -- : img2/.png
-rw-r--r-- liuxiaoyan/liuxiaoyan -- : img2/.png
-rw-r--r-- liuxiaoyan/liuxiaoyan -- : img2/.png
3、解压
将img.tar减压到temp目录
liuxiaoyan@development:~/test$ cd temp/
liuxiaoyan@development:~/test/temp$ ls
liuxiaoyan@development:~/test/temp$ tar -xf ../img.tar
liuxiaoyan@development:~/test/temp$ ls
img1 img2
只减压img.tar中的img1
liuxiaoyan@development:~/test/temp$ tar -xf ../img.tar img1
liuxiaoyan@development:~/test/temp$ ls
img1
4、更新
现在给movies文件下新建一个文件movie2.txt,然后更新enjoy.tar
$ tar -cf img.tar img1 img2
给img1增加了一张照片,现在用下面命令更新img.tar
$ tar -uf img.tar img1
5、追加
$ tar -cf img.tar img1 img2
img.tar里追加一个文件夹img3
$ tar -rf img.tar img3
6、-C参数
-C(大C参数很有用,改变文件目录,多层时用) -C, --directory=DIR change to directory DIR
使用了-C参数改变目录为-C后面 目录,不管是在打包还是解压都很有用。
用法:tar temp.tar file -C fileDir
$ cd temp
$ ls
img1 img2 img3
$ tar -cf img.tar temp/*
这样打包会将temp目录也打包进去,使用下面带有-C参数的命令可以去掉路径信息
$ tar -cf img.tar * -C temp
解压img.tar到当前目录下的temp目录
$ tar -xf img.tar -C temp
三、解压方法总结
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar x 解压
9、*.zip 用 unzip 解压
使用unrar注意:
先安装unrar,使用unrar不带参数运行一下就可以看到帮助信息。
如果一个文件s.rar,里面有1000首歌,用e参数,就直接把1000首歌全减压出来到当前目录。
如果是x参数,解压后,所有内容都放在同名的文件夹里面。
资源链接:
Linux常用命令之压缩打包篇(gzip、gunzip、tar、zip、bzip2)
linux tar命令简介的更多相关文章
- linux tar命令 压缩、打包、解压 详解
linux tar命令 压缩.打包.解压 详解 1.常用压缩命令 tar –czvf 压缩后的文件.tar.gz 要压缩的文件 2.常用解压命令 tar –xzvf 解压后的文件.tar.gz [要解 ...
- Linux tar命令之--exclude参数 排除指定的文件或目录
https://my.oschina.net/u/3285916/blog/1632552 参数: --exclude 打包时排除不需要处理的文件或目录 说明: tar -zcf a.tar.gz 打 ...
- Linux tar命令高级用法——备份数据
Linux tar命令高级用法——备份数据 2015-12-31 Linux学习 Linux上有功能强大的tar命令,tar最初是为了制作磁带备份(tape archive)而设计的,它的作用是把文件 ...
- 学习Linux tar 命令:最简单也最困难
摘要:在本文中,您将学习与tar 命令一起使用的最常用标志.如何创建和提取 tar 存档以及如何创建和提取 gzip 压缩的 tar 存档. 本文分享自华为云社区<Linux 中的 Tar 命令 ...
- linux nload命令简介及安装方法
第一步:nload命令简介 nload 命令用于查看linux网络流量状况,实时输出.可以理解为是一个控制台应用程序,用来实时监测网络流量和带宽使用情况的命令. 使用可视化的界面显示流入和留出系统的网 ...
- [转]Linux tar 命令
一.使用介绍 1.名词区分 打包:将一大堆文件或目录变成一个总的文件[tar命令] 压缩:将一个大的文件通过一些压缩算法变成一个小文件[gzip,bzip2等] Linux中很多压缩程序只能针对一个文 ...
- linux tar命令
tar命令打包还是压缩需要看所调用的命令参数....tar在使用时可以调用命令参数, 比如tar -xvf +文件名就是解包,但是不是解压...只有在使用了参数z等调用gzip等 压缩命令时才是压缩或 ...
- Linux tar 命令用法
tar 命令可以为linux的文件和目录创建档案.利用 tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件.tar 最初被用来在磁带上创建档案,现在,用户 ...
- linux Tar 命令参数详解
tar命令 . 作用 tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户. . 格式 tar [主选项+辅选项] 文件或目录 eg: tar z ...
随机推荐
- MySQL 运行环境建议规范
一.操作系统环境 操作系统版本选择 CentOS/RHRL/ORACLE Linux 5.x/6.x x86_64 发行版 建议磁盘分区规则 MySQL 运行环境建议规范 挂载点 大小 分区类型 分区 ...
- el captain设置环境变量
这里说的不是设置变量给bash/shell来用, 而是给程序使用, 比如, chromium自36版以后, 就不再内置google api keys, 官方文档(http://www.chromium ...
- 纯CSS3写的10个不同的酷炫图片遮罩层效果
这个是纯CSS3实现的的10个不同的酷炫图片遮罩层效果,可以欣赏一下 在线预览 下载地址 实例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1 ...
- Sequence.js 实现带有视差滚动特效的图片滑块
Sequence.js 功能齐全,除了能实现之前分享过的现代的图片滑动效果,还可以融合当前非常流行的视差滚动(Parallax Scrolling)效果.让多层背景以不同的速度移动,形成立体的运动效果 ...
- 2013年最新流行的响应式 WordPress 主题【上篇】
WordPress 是最流行的内容管理系统,经历了多年的发展和演变.它的成功体现在庞大的社区,数百万的用户,设计师和开发者推动着 WordPress 往更高的层次发展. 海量的免费主题是 WordPr ...
- jQuery的deferred对象使用详解——实现ajax线性请求数据
最近遇到一个ajax请求数据的问题 ,就是想要请求3个不同的接口,然后请求完毕后对数据进行操作,主要问题就是不知道这3个请求誰先返回来,或者是在进行操作的时候不能保证数据都已经回来,首先想到能完成的就 ...
- [deviceone开发]-viewShower和listView
一.简介 viewshower里嵌套listview,实现复杂的列表效果. 二.效果图 三.相关下载 http://source.deviceone.net/source-detail.html?do ...
- [deviceone开发]-购物车的简单示例
一.简介 主要是演示listview所在的ui和模板cell所在的ui之间数据的交互,点击一行,可以通过加减数量,自动把所有选中的汽车价格显示在底部. 二.效果图 三.示例地址: http://sou ...
- CSS 伪类
Link The :link CSS pseudo-class lets you select links inside elements. This will select any link whi ...
- Swift - 访问通讯录-使用AddressBook.framework和AddressBookUI.framework框架实现
1,通讯录访问介绍 通讯录(或叫地址簿,电话簿)是一个数据库,里面储存了联系人的相关信息.要实现访问通讯录有如下两种方式: (1)AddressBook.framework框架 : 没有界面,通过代码 ...