-c -o linux_Linux命令必知必会-Tar

Tar打包文件的顺序

我们查看一个手册 man tar,得知是按照命令行的顺序压缩。

简单地理解成和执行ls -allls 命令枚举文件顺序一致。

     In -c, -r, or -u mode, each specified file or directory is added to the archive in the order speci-
     fied on the command line.  By default, the contents of each directory are also archived.

我们在macOS上验证一下

1. 创建临时文件夹 test-tar

2. 在该文件夹下依次创建A B C 0 1 2 3文件

3. 执行Tar命令 tar cvf 特别注意使用参数v 输出日志


查看日志,我们注意压缩顺序是按照 0 1 2 3 A B C

即和上面man解释一致。

3a9084a162e9760c8cf4caee0e3c83ac.png

有兴趣的读者可以在Linux下进行验证。

参数详述

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解开的意思

压缩

  • tar –cvf jpg.tar *.jpg 将目录里所有jpg文件打包成tar.jpg
  • tar –czf jpg.tar.gz *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
  • tar –cjf jpg.tar.bz2 *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
  • tar –cZf jpg.tar.Z *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
  • rar a jpg.rar *.jpg rar格式的压缩,需要先下载rar for linux
  • zip jpg.zip *.jpg zip格式的压缩,需要先下载zip for linux

解压

  • tar –xvf file.tar 解压 tar包
  • tar -xzvf file.tar.gz 解压tar.gz
  • tar -xjvf file.tar.bz2 解压 tar.bz2
  • tar –xZvf file.tar.Z 解压tar.Z
  • unrar e file.rar 解压rar
  • unzip file.zip 解压zip


总结

    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 e解压
    9. *.zip 用 unzip 解压

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值