tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。

tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,对于备份文件或将几个文件组合成为一个文件以便于网络传输非常有用。

打包和压缩

打包是指将一大堆文件或目录变成一个总的文件;

压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。

linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩。

命令参数:

语法:tar [主选项+辅选项] 文件或者目录

使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

主选项:

c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。

x 从档案文件中释放文件。相当于拆包。肯定和z或者j连用。

t 列出档案文件的内容,查看已经备份了哪些文件。

特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。

辅助选项:

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2

-v :压缩的过程中显示文件!这个常用

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!

-p :使用原文件的原来属性(属性不会依据使用者而变)

--exclude FILE:在压缩的过程中,不要将 FILE 打包!

如果要解压到另外的目录,使用-C参数,如temp

tar zxvf ab.tar.gz -C temp

或者全路径

tar zxvf ab.tar.gz -C /home/temp

unzip -o -d /home/sunny myfile.zip

把myfile.zip文件解压到 /home/sunny/

-o:不提示的情况下覆盖文件;

-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下

Tar命令解压文件报错:stdin has more than one entry

使用tar命令解压.zip文件的时候,遇到如下异常,

bingyue@ubuntu:~/Documents$ tar -xzvf wls1033_dev.zip

gzip: stdin has more than one entry--rest ignored

tar: Child returned status 2

tar: Error is not recoverable: exiting now

tar命令是调用了gunzip命令的,

对只有一个压缩内容的文件来解压的时候才用tar, 而如果压缩包里有多个文件被压缩了,

tar命令不能继续工作。可以采用unzip命令去解压。

先查看是否已安装unzip,没有安装的话下载unzip。

然后解压缩:

bingyue@ubuntu:~/Documents$  unzip wls1033_dev,zip -d weblogic

解压缩到当前文件夹下的weblogic文件夹下。

遇到的另外一个异常,一起记录下来:

gzip: stdin: not in gzip format

tar: Child returned status 1

tar: Error is not recoverable: exiting now

网上看到的说明:

You used "tar -zxvf" for the second command. the 'z' option tells tar to use gzip to uncompress the file. Since you already uncompressed it in the first command, gzip doesn't know what to do with it, and it consequently croaks. Tar stops because gzip encountered a problem. So, with the file you have now, you would extract it with:

tar -xvf xxxxxx.x.x.tar

这是因为我使用了tar -zxvf进行解压,

去掉 -z参数,就可以了。

使用实例:

一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar

[root@linux ~]# tar -cvf /tmp/etc.tar /etc    <==仅打包,不压缩!

[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc  <==打包后,以 gzip 压缩

[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc  <==打包后,以 bzip2 压缩

# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。

# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~

# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~

# 上述指令在执行的时候,会显示一个警告讯息:

# 『tar: Removing leading `/" from member names』那是关於绝对路径的特殊设定。

二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?

[root@linux ~]# tar -ztvf /tmp/etc.tar.gz

# 由于我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,

# 就得要加上 z 这个参数了!这很重要的!

三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下

[root@linux ~]# cd /usr/local/src

[root@linux src]# tar -zxvf /tmp/etc.tar.gz

# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说

# 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz

# 则解开的目录会在 /usr/local/src/etc ,另外,如果您进入 /usr/local/src/etc

# 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!

四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已

[root@linux ~]# cd /tmp

[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd

# 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,

# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!

五:我要备份 /home, /etc ,但不要 /home/dmtsai

[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

linux中tar及压缩解压命令用法

把常用的tar解压命令总结下,当作备忘: tar 命令可以为Linux的文件和目录创建档案.利用 tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向 档案中加入新的文件.t ...

linux下tar命令详解

linux下tar命令详解    tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.ta ...

&lbrack;转载&rsqb; linux下tar命令解压到指定的目录

参考 http://blog.sina.com.cn/s/blog_62449fcf0100nfar.html linux下tar命令解压到指定的目录 :   #tar zxvf /bbs.tar.z ...

linux下tar命令解压到指定的目录

linux下tar命令解压到指定的目录 : #tar zxvf xx.tar.gz -C /xx//把根目录下的xx.tar.gz解压到/xx/下,前提要保证存在/xx这个目录 这个和cp命令有点不同 ...

linux中tar命令(打包、压缩、解压)、zip和unzip、rar多种压缩文件

一.名词解释 打包:将一大堆文件或目录变成一个总的文件[tar命令] 压缩:将一个大的文件通过一些压缩算法变成一个小文件[gzip,bzip2等] Linux中很多压缩程序只能针对一个文件进行压缩,这 ...

linux zip命令 tar命令 【压缩、解压缩】参数列表:

linux zip命令参数列表:   -a 将文件转成ASCII模式 -F 尝试修复损坏的压缩文件 -h 显示帮助界面 -m 将文件压缩之后,删除源文件   -n 特定字符串 不压缩具有特定字尾字符串 ...

linux使用tar命令打包压缩时排除某个文件夹或文件

今天在使用tar命令进行文件夹打包压缩的时候,需要打包压缩masalaPage目录,但是该目录中的2017,2016两个目录中的文件不进行打包压缩 所以通常使用的tar -zcvf masalaPag ...

菜鸟学Linux命令&colon;ssh命令 远程登录

1.查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号.使用ssh -V命令可以得到版本号.需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用Op ...

菜鸟学Linux命令&colon;chmod命令和数字文件权限

chmod是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数.只有文件所有者和超级用户可以修改文件或目录的权限.可以使用绝对模式,符号模式指定文件的权限 ...

随机推荐

Java Web开发之分页(ajax)

1.需要用到的jar包.js文件 JSONArray().fromObject()需要的jar包: (1)commons-beanutils-1.8.3.jar (2)commons-collecti ...

Python自动化 【第九篇】:Python基础-线程、进程及python GIL全局解释器锁

本节内容: 进程与线程区别 线程 a)  语法 b)  join c)  线程锁之Lock\Rlock\信号量 d)  将线程变为守护进程 e)  Event事件 f)   queue队列 g)  生 ...

WordPress主题制作教程10:添加文章类型插件Custom Post Type UI

下载 Custom Post Type UI>> 用Custom Post Type UI添加自定义文章类型对于新手来说最简单不过了,下载安装后,在插件栏启用一下,就可以开始添加文章类型了 ...

phpcmsV9手机站内容页有时内容不显示

phpcmsV9手机站内容页有时内容不显示,修改的办法是: 在文件phpcms\modules\wap\index.php 中 屏蔽第119行,即如下内容 //$content = $contentp ...

echarts的部署和使用

echarts是百度开发的一款商业级.开源免费的前端图表组件,具体可访问其主页:http://echarts.baidu.com/ echarts目前已经发布了2.0版本,使用起来非常的方便,并且效果 ...

Head First设计模式之装饰者模式

一.定义 装饰者模式,英文叫Decorator Pattern,在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象. 动态将职责附加到 ...

使用 ServiceAnt 更好地解耦你的程序

今天要厚着脸皮给大家推荐一个自己做的通信中间件--ServiceAnt,目前已经在我们团队的两个产品线上投入了使用. ServiceAnt是什么 它最初的定位是ESB(企业服务总线),但目前还没有达到 ...

ionic2中如何使用自动生成器

ionic generator是命令行的功能,ionic2自动帮我们创建应用程序,从而节省了大量的时间,并增加我们的速度来开发一个项目的关键部分. ionic generator使我们可以自动创建以下 ...

Python爬虫原理

前言 简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前: 一.爬虫是什 ...

linux命令解压tar命令,菜鸟学Linux命令:tar命令 压缩与解压缩相关推荐

  1. linux内核移植lpa是什么,菜鸟学Linux移植lesson3之WebCamera_CMOS测试

    网络摄像机 1.CMOS摄像头驱动的移植 准备好CMOS摄像头驱动源码,包含2个文件:ov9650.c和ov9650.h(光盘资料/源码包/驱动源码/camera 驱动),将这2个文件复制到drive ...

  2. linux chmod命令数字,菜鸟学Linux命令:chmod命令和数字文件权限

    chmod是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数. 只有文件所有者和超级用户可以修改文件或目录的权限.可以使用绝对模式,符号模式指定文件的权 ...

  3. 服务器如何解压zip文件,ECS Linux 服务器解压zip格式文件操作方法

    Linux 系统服务器用unzip命令解压操作,方法如下所示: 如压缩文件是test.zip,而压缩包中的文件是testzip.png [root@machine 0318test]# ll drwx ...

  4. linux备份压缩tgz,linux关于解压和压缩命令 zip rar tar.gz tgz

    linux关于解压和压缩命令 .zip 解压:unzip FileName.zip 压缩:zip FileName.zip DirName .rar 解压:rar -x FileName.zip 压缩 ...

  5. Linux下tar命令解压到指定的目录

    文章转自:linux下tar命令解压到指定的目录_曹毅涵_新浪博客 版权归原作者. Linux下tar命令解压到指定的目录 : tar -zxvf /bbs.tar.zip -C /zzz/bbs / ...

  6. 解压命令linux tgz,Linux_centos_redhat下tar命令解压tgz文件方法

    .tar.gz,或者.tgz的文件一般是在Linux下用tar和gnuzip压缩的文件. 1.在Linux下展开.tar.gz文件:tar zxvf filename.tar.gz filename ...

  7. 记录下linux系统tar命令解压文件时碰到的问题

    使用tar -zxvf test.tar.gz解压文件时报错: gzip: stdin: not in gzip format   --不是Gzip格式 tar: Child returned sta ...

  8. linux rar解压_linux命令

    文件搜索 打包和压缩文件 Linux下的多用户多任务操作系统 查看文件内容 挂载一个文件系统 磁盘空间 用户和群组 文件的权限 文件的特殊属性 RPM 包 YUM 软件包升级器 DEB 包 安装软件 ...

  9. linux常用解压和压缩文件的命令

    linux常用解压和压缩文件的命令 .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ---- ...

最新文章

  1. (三十一)java多线程二
  2. 标题栏外区域拖动窗体
  3. 七十、反转和合并链表、 链表有环的判断
  4. Openpose——windows编译(炒鸡简单)
  5. 层次分析法matlab_建模开讲课程回放2:层次分析法及其MATLAB
  6. cocos2d-x 3.10 显示Box2d 调试视图
  7. layui鼠标放上图片局部放大_老照片修复教程之—裁剪图片大小
  8. 各种数据库默认端口汇集
  9. android框架揭秘之Java服务学习笔记
  10. 图书馆管理信息系统可行性分析
  11. 模拟购物车系统(添加、修改、查询、结算)(Java实现)
  12. 计算机科学专业博士,美国留学:布兰迪斯大学计算机科学博士专业简介
  13. 如何用ps把照片变成白底
  14. A*搜索算法——图形搜索算法
  15. 微信小游戏颜色风暴自动化
  16. 大厂面试真题解读:Tomcat的连接器是如何设计的?
  17. 如何注册微软Azure并获取语音合成服务?
  18. 笔记本选购2018.9
  19. 燕山大学计算机系在哪个校区,2021年燕山大学有几个校区,大一新生在哪个校区...
  20. python精通大学_小白21天精通Python是如何做到的?

热门文章

  1. Citespace使用教程1
  2. java计算机毕业设计vue学习视频课程网站源码+mysql数据库+系统+lw文档+部署
  3. 轻量级的搜索引擎MeiliSearch
  4. wget socks5 代理
  5. select函数详解
  6. linux select函数详解
  7. uni-app的滚动加载 uni-load-more组件使用
  8. linux中如何递归搜索文件,关于linux:递归查找具有特定扩展名的文件
  9. 《快速掌握PyQt5》专栏整理成书出版啦!
  10. 未来智能设备不再以视觉展现为主!