zoukankan      html  css  js  c++  java
  • lesson

    作用:为linux的文件和目录创建档案,也可以在档案中改变文件,或者向档案中加入新的文件即用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的 

    语法:tar[必要参数][选择参数][文件] 

    参数:

     必要参数有如下:

      -A 新增压缩文件到已存在的压缩 add
      -B 设置区块大小        block
      -c 建立新的压缩文件      create
      -d 记录文件的差别       difference
      -r 添加文件到已经压缩的文件
      -u 添加改变了和现有的文件到已经存在的压缩文件
      -x 从压缩的文件中提取文件
      -t 显示压缩文件的内容
      -z 支持gzip解压文件
      -j 支持bzip2解压文件
      -Z 支持compress解压文件
      -v 显示操作过程
      -l 文件系统边界设置
      -k 保留原有文件不覆盖
      -m 保留文件不被覆盖
      -W 确认压缩文件的正确性
     可选参数如下:
      -b 设置区块数目
      -C 切换到指定目录
      -f 指定压缩文件
      --help 显示帮助信息
      --version 显示版本信息

    辨析:首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。 为什么要区分这两个概念     呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压   缩(gzip bzip2命令)。

     

     

    常见例子:常见解压/压缩命令 

    tar 
    解包:tar xvf FileName.tar
    打包:tar cvf FileName.tar DirName
    (注:tar是打包,不是压缩!)


    .gz
    解压1:gunzip FileName.gz
    解压2:gzip -d FileName.gz
    压缩:gzip FileName

    .tar.gz 和 .tgz
    解压:tar zxvf FileName.tar.gz
    压缩:tar zcvf FileName.tar.gz DirName

    .bz2
    解压1:bzip2 -d FileName.bz2
    解压2:bunzip2 FileName.bz2
    压缩: bzip2 -z FileName

    .tar.bz2
    解压:tar jxvf FileName.tar.bz2
    压缩:tar jcvf FileName.tar.bz2 DirName

    .bz
    解压1:bzip2 -d FileName.bz
    解压2:bunzip2 FileName.bz
    压缩:未知

    .tar.bz
    解压:tar jxvf FileName.tar.bz
    压缩:未知

    .Z
    解压:uncompress FileName.Z
    压缩:compress FileName

    .tar.Z
    解压:tar Zxvf FileName.tar.Z
    压缩:tar Zcvf FileName.tar.Z DirName

    .zip
    解压:unzip FileName.zip
    压缩:zip FileName.zip DirName

    .rar
    解压:rar x FileName.rar
    压缩:rar a FileName.rar DirName 

     

    使用实例

    实例1:将文件全部打包成tar包

    命令:

    tar -cvf log.tar log2012.log

    tar -zcvf log.tar.gz log2012.log

    tar -jcvf log.tar.bz2 log2012.log

    输出:

    [root@localhost test]# ls -al log2012.log

    ---xrw-r-- 1 root root 302108 11-13 06:03 log2012.log

    [root@localhost test]# tar -cvf log.tar log2012.log 

    log2012.log

    [root@localhost test]# tar -zcvf log.tar.gz log2012.log

    log2012.log

    [root@localhost test]# tar -jcvf log.tar.bz2 log2012.log 

    log2012.log

    [root@localhost test]# ls -al *.tar*

    -rw-r--r-- 1 root root 307200 11-29 17:54 log.tar

    -rw-r--r-- 1 root root   1413 11-29 17:55 log.tar.bz2

    -rw-r--r-- 1 root root   1413 11-29 17:54 log.tar.gz

    说明:

    tar -cvf log.tar log2012.log    仅打包,不压缩! 

    tar -zcvf log.tar.gz log2012.log   打包后,以 gzip 压缩 

    tar -zcvf log.tar.bz2 log2012.log  打包后,以 bzip2 压缩 

    在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar包; 如果加 j 参数,则以 .tar.bz2 来作为tar包名。

     

    二、查看压缩文件
        bzcat 2.txt.bz2
        zcat 2.txt.gz
  • 相关阅读:
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (四) 自动化部署
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (三) 服务观测
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (二) 部署微服务程序
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (一) 部署 Nacos
    C++知识点
    libmkl 学习笔记
    基于tesseract-OCR进行中文识别
    poco编译与运行
    Linux下的I/O复用与epoll详解(转载)
    高并发网络编程之epoll详解(转载)
  • 原文地址:https://www.cnblogs.com/LinuxSuDa/p/4422121.html
Copyright © 2011-2022 走看看