linux tar命令的使用

tar命令

上次的压缩命令大多只能对单一的文件进行压缩,对目录却无能为力,虽然 gzip, bzip2, xz 也能够针对目录来进行压缩不过, 这几个指令对目录的压缩指的是“将目录内的所有文件 “分别” 进行压缩”的动作。在Windows 的系统,可以使用类似 WinRAR 这一类的压缩软件来将好多数据“包成一个文件”的样式。不过在linux中,也存在将很多个文件,目录打包成一个大文件,也就是打包指令,那就是神奇的tar,同时还可以通过 gzip/bzip2/xz 的支持,将该文件同时进行压缩。

tar的命令实在太多,以下只说一下常用的几个,其他的可以在linux上找man来解决。

用法:

先看一下参数:

  1. -c :创建打包文件,可搭配 -v 来察看过程中被打包的文件名(filename)
  2. -t :察看打包文件的内容含有哪些文件名,重点在察看“文件名”就是了;
  3. -x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
    特别留意的是, -c, -t, -x 不可同时出现在一串命令行中。

以上三个是与打包解包相关的命令,命令串中只能出现其中一个。

  1. -z :通过 gzip 的支持进行压缩/解压缩:此时文件名最好为 *.tar.gz
  2. -j :通过 bzip2 的支持进行压缩/解压缩:此时文件名最好为 *.tar.bz2
  3. -J :通过 xz的支持进行压缩/解压缩:此时文件名最好为 *.tar.xz
    特别留意, -z, -j, -J 不可以同时出现在一串命令行中

以上三个参数是压缩时选用的哪种压缩方式,压缩指令参数只能有一个。

  1. -v :在压缩/解压缩的过程中,将正在处理的文件名显示出来!
  2. -f filename:-f 后面要立刻接要被处理的文件名!建议 -f 单独写一个选项啰!(比较不会忘记)
  3. -C 目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
  4. -p(小写) :保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
  5. -P(大写) :保留绝对路径,亦即允许备份数据中含有根目录存在之意;

打包:tar -cv -f filename.tar 要打包的文件1 要打包的文件2 要打包的目录

root@localhost:/tmp# tar -cvf many.tar test.txt test2.txt direc
test.txt
test2.txt
direc/

以上命令的意思是将test.txt test2.txt 文件,direc目录打包在一起名字叫many.tar,注意这只是打包,并没有压缩,c的意思是将文件打包,v是打包的过程中显示文件名,f后是打包之后的名字。注意f要跟其他参数放一起时只能放在最后。

压缩:上面说了打包的命令,接下来只要加一个参数即可进行压缩

tar -c[zjJ]v -f filename.tar

-z

root@localhost:/tmp# tar -czvf many.tar.gz test.txt test2.txt direc
test.txt
test2.txt
direc/
root@localhost:/tmp# ls -l
-rw-r--r-- 1 root root   240 6月  15 15:59 many.tar.gz

-j

root@localhost:/tmp# tar -cjvf many.tar.bz2 test.txt test2.txt direc
test.txt
test2.txt
direc/
root@localhost:/tmp# ls -l
-rw-r--r-- 1 root root   251 6月  15 16:01 many.tar.bz2

-J

root@localhost:/tmp# tar -cJvf many.tar.xz test.txt test2.txt direc
test.txt
test2.txt
direc/
root@localhost:/tmp# ls -l
-rw-r--r-- 1 root root   268 6月  15 16:03 many.tar.xz

解压:

解压缩:tar -x[zjJ]v -f filename.tar.bz2 -C 欲解压缩的目录,与压缩不一样,c换成了x,x是将打的包解开与c是相反的意思。中括号中的参数根据压缩时参数进行选择,只能选择一个

以J示例:

root@localhost:/tmp# tar -xJvf many.tar.xz
test.txt
test2.txt
direc/

小结:

总结

  1. *.tar 用 tar -xvf 解包-未压缩
  2. *.gz 用 gzip -d或者gunzip 解压(未被打包的文件)
  3. .tar.gz和*.tgz 用 tar -xvzf 解压,解压的出的文件一一列出。
  4. *.bz2 用 bzip2 -d或者用bunzip2 解压(未被打包的文件)
  5. *.tar.bz2用tar -xvjf 解压,解压的出的文件一一列出
  6. *.Z 用 uncompress 解压
  7. *.tar.Z 用tar -xvZf 解压
  8. *.rar 用 unrar e解压
  9. *.zip 用 unzip 解压
  10. *.tar.xz用tar -xvJf来解压,解压的出的文件一一列出
  11. *.xz 用xz -d 来解压

tar的神奇之处有很多,不懂就问man

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三寸花笺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值