tar命令

[root@linux~]# tar [-cxtzjvfpPN]文件与目录....

参数:

-c:建立一个压缩文件的参数指令(create的意思);

-x:解开一个压缩文件的参数指令!

-t:查看tarfile里面的文件!

特别注意,在参数的下达中,c/x/t仅能存在一个!不可同时存在!

因为不可能同时压缩与解压缩。

-z:是否同时具有gzip的属性?亦即是否需要用gzip压缩?

-j:是否同时具有bzip2的属性?亦即是否需要用bzip2压缩?

-v:压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

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

例如使用『tar -zcvfP tfile sfile』就是错误的写法,要写成

『tar -zcvPf tfile sfile』才对喔!

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

-P:可以使用绝对路径来压缩!

-N:比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!

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

范例:

范例一:将整个/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@linuxsrc]# 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@linuxtmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd

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

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

范例五:将/etc/内的所有文件备份下来,并且保存其权限!

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

#这个-p的属性是很重要的,尤其是当您要保留原本文件的属性时!

范例六:在/home当中,比2005/06/01新的文件才备份

[root@linux~]# tar -N '2005/06/01' -zcvf home.tar.gz /home

范例七:我要备份/home, /etc,但不要/home/dmtsai

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

范例八:将/etc/打包后直接解开在/tmp底下,而不产生文件!

[root@linux~]# cd /tmp

[root@linuxtmp]# tar -cvf - /etc | tar -xvf -

#这个动作有点像是cp-r/etc /tmp啦~依旧是有其有用途的!

#要注意的地方在於输出档变成-而输入档也变成-,又有一个|存在~

#这分别代表standard output, standard input与管线命令啦!

#这部分我们会在Bash shell时,再次提到这个指令跟大家再解释啰!

ZIP

zip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux,Windows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好。闲话少说,我们步入正题吧:

我们可以使用下列的命令压缩一个目录:

# zip -r archive_name.zip directory_to_compress

下面是如果解压一个zip文档:

# unzip archive_name.zip

TAR

Tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,他仅仅只是一个打包工具,并不负责压缩。下面是如何打包一个目录:

# tar -cvf archive_name.tar directory_to_compress

如何解包:

# tar -xvf archive_name.tar.gz

上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来设置解包的路径:

# tar -xvf archive_name.tar -C /tmp/extract_here/

TAR.GZ

这种格式是我使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。使用下面这种格式去压缩一个目录:

# tar -zcvf archive_name.tar.gz directory_to_compress

解压缩:

# tar -zxvf archive_name.tar.gz

上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来设置解包的路径:

# tar -zxvf archive_name.tar.gz -C /tmp/extract_here/

TAR.BZ2

这种压缩格式是我们提到的所有方式中压缩率最好的。当然,这也就意味着,它比前面的方式要占用更多的CPU与时间。这个就是你如何使用tar.bz2进行压缩。

# tar -jcvf archive_name.tar.bz2 directory_to_compress

#bzip2 -d archive_name.tar.bz2

然后:

tar -xvf archive_name.tar即可

上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来设置解包的路径:

# tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/

数据压缩是非常有用的,尤其是对于备份来说。所以,你现在应该考虑在你的备份脚本中使用你在这里学到的压缩方式备份你基本的规则文件以减小你备份文件的大小。

过段时间之后,你就会意识到,在压缩率与CPU占用时间上会有一个平衡,你也要学会如何去权衡什么时候你需要一个快但是压缩率低,什么时候需要一个压缩率高但是CPU点用高的压缩方式,然后你才能避免无谓的空间与时间。

Linux中tar命令的使用,linux 下tar命令详解相关推荐

  1. linux中python编译器的配置_linux下配置python3详解

    一:安装依赖环境 1.1:首先安装gcc编译器,gcc有些系统版本已经默认安装,通过  gcc --version  查看,没安装的先安装gcc,yum -y install gcc 1.2:输入命令 ...

  2. 在linux下给编辑文件在哪里设置密码,Linux中利用Vim对文件进行密码保护的方法详解...

    前言 Vim 是一种流行的.功能丰富的和高度可扩展的 Linux 文本编辑器,它的一个特殊功能便是支持用带密码各种的加密方法来加密文本文件. 本文中,我们将向你介绍一种简单的 Vim 使用技巧:在 L ...

  3. linux怎么重命名多个文件,在Linux中如何一次重命名多个文件详解

    前言 在日常工作中,我们经常需要对一批文件进行重命名操作,例如将所有的jpg文件改成bnp,将名字中的1改成one,等等. 你可能已经知道,我们使用 mv 命令在类 Unix 操作系统中重命名或者移动 ...

  4. linux中磁盘分区fdisk,管理磁盘分区之fdisk详解

    Mozatr的不定期更新,处于学习阶段的Mozart,愿不断分享,不断进步. 此次分享一个重要的管理分区命令:fdisk ,我们一一阐述. (一)分区 首先我们了解下什么是分区,分区是将一个硬盘驱动器 ...

  5. wordcount linux java_Java笔记---Hadoop 2.7.1下WordCount程序详解

    一.前言 在之前我们已经在 CenOS6.5 下搭建好了 Hadoop2.x 的开发环境.既然环境已经搭建好了,那么现在我们就应该来干点正事嘛!比如来一个Hadoop世界的HelloWorld,也就是 ...

  6. linux重命名得通配符,在Linux中如何一次重命名多个文件详解

    前言 在日常工作中,我们经常需要对一批文件进行重命名操作,例如将所有的jpg文件改成bnp,将名字中的1改成one,等等. 你可能已经知道,我们使用 mv 命令在类 Unix 操作系统中重命名或者移动 ...

  7. Linux中samba共享服务的部署及安全优化详解

    samba共享服务的部署及安全优化 文章目录 samba共享服务的部署及安全优化 1.samba服务简介 2.samba基本信息 3.samba的安装与启用 a)windows下文件系统的共享 b)L ...

  8. linux 目录sbit,linux中SUID,SGID与SBIT的奇妙用途详解

    前言 linux对文件的权限管理简直是让人叹为观止,又回顾了一下SUID,SGID和SBIT的作用,总结一下. 其实SUID和SGID的作用跟sudo是相似的.当用户A想执行一个原本属于用户B的可执行 ...

  9. 2.Linux中grep多个关键字“与”和“或”使用详解

    1.Linux grep命令用于查找文件里符合条件的字符串    grep 命令非常常用,经常用于匹配文本字符 grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样 ...

  10. linux粘滞位权限,Linux中的特殊权限粘滞位(sticky bit)详解

    Linux下的文件权限 在linux下每一个文件和目录都有自己的访问权限,访问权限确定了用户能否访问文件或者目录和怎样进行访问.最为我们熟知的一个文件或目录可能拥有三种权限,分别是读.写.和执行操作, ...

最新文章

  1. 利用Oracle分析函数实现多行数据合并为一行
  2. python file_python3之File文件方法
  3. virtio驱动_0020 virtio-blk简易驱动
  4. 分类模型的评估方法-召回率(Recall)
  5. loopback的作用
  6. mysql 记录所有操作_mysql 的一些记录的操作
  7. oracle怎么格式化sql语句,Oracle sqlplus格式化数据
  8. android bitmap转image
  9. php curl exec ch,PHP curl_exec函数的用法实例详解
  10. win7 64位运行不了服务器,G6-e标准包可以装在win7 64位系统上吗?现在提示不能登陆到服务器...
  11. SVN服务器使用(一)
  12. CVPR学习(四):CVPR2019-目标检测
  13. Hyperledger Fabric教程(10)-- peer命令-链码chaincode
  14. Excel如何随机抽取姓名或其他数据
  15. 数字图像处理及matlab实现第三版相关概念总结
  16. Microsoft 神经网络分析算法
  17. Java实现第九届蓝桥杯第几个幸运数字
  18. Java经典for循环题目:兔子繁殖问题
  19. css定位-css新增选择器(内减,属性,伪类,2d变换,过渡)
  20. Java txt文件 转 utf-8 格式

热门文章

  1. Windows下使用Python实现串口通信
  2. 用HTML5播放IPCamera视频
  3. 主流时序数据库分析及选型
  4. 自然语言处理之Doc2Vec的原理和使用
  5. 于丹:请将你的家打扫干净
  6. Parallel Python 并行计算(PP)
  7. 返利指定服务器,忘川风华录返利指定服务器是什么意思 返利指定服务器领取方法[多图]...
  8. [附源码]计算机毕业设计JAVA日常饮食健康推荐系统
  9. python kfold交叉验证_Python sklearn KFold 生成交叉验证数据集的方法
  10. MD5信息摘要算法解析