linux每天一命令: tar

tar 可以将多个档案或目录包成一个大档案
常用参数:

-c 表示需要打包档案
-C 在解压的时候, 可以定位到指定目录下解压
-t 显示都有哪些档名
-x 表示需要解压
-j 通过bzip2 压缩/解压 档名命名为*.tar.bz2
-z 通过gzip  压缩/解压 档名命名为*.tar.gz
-r 向包中追加,只能向不带压缩的包中追加
-v 显示处理的详情 
-f 后面跟上压缩包

命名规则

不加-j, -z 参数 -> tar
-j 参数代表使用bzip2 应该命名为 *.tar.bz2
-z 参数代表使用gzip 应该命名为 *.tar.gz

操作

压缩

下面使用两种方式压缩/etc目录

  • 使用bzip2
    tar -jpcv -f /root/etc.tar.bz2 /etc
  • 使用gzip
    tar -zpcv -f /root/etc.tar.gz /etc
  •     比较2者结果
        -rw-r--r--. 1 root root  8965275 11月  1 04:30 /root/etc.tar.bz2
        -rw-r--r--. 1 root root 10497607 11月  1 04:25 /root/etc.tar.gz
        可以到结果的大小, 使用-j参数压缩会后更小些
    

    查询tar包内的文件

    查看档名
    tar -jt -f /root/etc.tar.bz2
    查看档名和其权限 加-v参数
    tar -jvt -f /root/etc.tar.bz2
    
    说明:这里是.bz2格式的, 若是gz则把-j换成-z
    

    解压

    解压.bz2格式
        tar -jxv -f file.tar.bz2 -C 指定目录
    解压.gz格式
        tar -zxv -f file.tar.gz -C 指定目录
    
    只解压 包中的指定文件
        tar
    

    打包

    仅仅是打包,而不压缩
    tar -cvf myfile.tar file2

    向包中追加一个文件(将-c换成-r, 只能向不带压缩的包中追加)
    tar -rvf myfile.tar file3

    解开(此时会同时生成file2, file3)
    -tar -xvf myfile.tar

    只解开指定的文件
    tar -xvf myfile.tar file3

    其他两种压缩方式

  • zip
  • 将.txt格式文件进行压缩
    zip file.zip *.txt

    zip格式的解压
    unzip file.zip

  • rar
  • 将.txt格式文件进行压缩
    rar file2.rar *.txt

    rar格式的解压
    unrar file2.rar

    你可能感兴趣的:(【linux】)