tar命令详解

tar的选项参数

1
2
3
4
5
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

1
2
3
4
5
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

--delete从存档中删除 注意是两个减号。

下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

举例说明

  1. 压缩一个目录

    1
    eg:  tar -cvzf test.tar.gz  tar  #压缩当前目录下的tar目录,压缩包的名字叫test.tar.gz

  2. 压缩其中某一类型的文件

    1
    eg:  tar -cvzf test.tar.gz  ./*.c #压缩当前目录下的.c为后缀的文件。但是不能压缩以.开头的文件

  3. 查看一个压缩文件的内容

    1
    eg: tar -tvf test.tar.gz   #查看当前目录下test.tar.gz压缩文件中的文件

  4. 解压一个文件

    1
    eg.  tar -xvzf test.tar.gz #解压test.tar.gz到当前目录下面

  5. 文件夹做一个归档文件、备份一个目录、

    1
    eg: tar -cvf test.tar tar #将tar文件夹下的文件生成一个test.tar归档文件

  6. 将某一类型的文件做成归档文件、备份某一类型的文件

    1
    eg:tar -cvf test.tar ./tar/*.c   # 将tar文件夹下所有以.c结尾的文件放到test.tar 文件中,但是以.开头的文件不行

  7. 向归档文件中添加一个文件夹

    1
    eg: tar -rf test.tar  ./test1  #将test1文件夹中的所有文件,添加到test.tar 归档文件中

  8. 删除归档文件中的文件

    1
    eg: tar -f test.tar --delete a.c  #删除test.tar文件中的 a.c文件

  9. 删除归档文件中的某一类的文件

    1
    eg: tar -f test.tar --delete *.c  #删除test.tar文件中的 以.c结尾的文件

  10. 释放归档文件

    1
    eg:  tar  -xvf  test.tar  #释放test.tar归档文件中的内容到 当前目录下

  11. 查看归档文件中的内容

    1
    eg: tar -tvf test.tar 

总结

格式与解压命令
1
2
3
4
5
6
7
8
9
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 解压
使用举例
1
2
3
4
tar cvf  etcbak.tar etc/      打包一个tar
tar xvf etcbak.tar 解开一个tar
tar cvzf etcbak.tar.gz etc/ 打包压缩一个 tar
tar zxvf etcbak.tar.gz 解压一个tar