Linxu压缩之tar
tar: 在linux上是常用的打包、解压、压缩工具
一些常用的命令参数如下:
选项 | 解释 |
---|---|
-c | 建立压缩档案的参数 |
-x | 解压缩压缩档案的参数 |
-t | 列出档案文件的内容,查看已经备份了哪些文件 |
-v | 压缩的过程中显示档案 |
-C | 解压文件至指定的目录 |
-l | 对每一个压缩文件,显示以下字段: 压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名称 |
-r | 新增文件到已存在的备份文件的结尾部分 |
-j | 说明此压缩是bzip2的方式,文件名为*.tar.bz2 |
注:在上列c/x/t参数中,这个三参数之能同时存在一个
example:
[test1@leungyong test]$ ll
total 20
-rw-rw-r-- 1 test1 test1 7 Jan 29 12:08 a.txt
-rw-rw-r-- 1 test1 test1 5 Jan 27 19:15 b.txt
-rw-rw-r-- 1 test1 test1 12 Jan 27 19:20 c.txt
-rw-r–r-- 1 test1 test1 159 Jan 27 12:09 root.txt
-rw-rw-r-- 1 test1 test1 165 Jan 27 12:09 user.txt
[test1@leungyong test]$
[test1@leungyong test]$
[test1@leungyong test]$ cd …
[test1@leungyong ~]$
[test1@leungyong ~]$ pwd
/home/test1
[test1@leungyong ~]$
[test1@leungyong ~]$ ll
total 12
drwxrwxrwx 2 test1 test1 4096 Jan 29 12:27 test
drwxr-xr-x 3 root root 4096 Jan 28 22:30 test1
drwxr-xr-x 2 root root 4096 Jan 29 12:42 test2
-
打包 /home/test1/test 成为 test.tar
tar -cvf test.tar test -----仅打包,不压缩!
查看打包文件中有哪些文件:tar -tvf test.tar -
打包 /home/test1/test 中 a.txt b.txt文件到 /home/test1/ab.tar
tar -cvf /home/test1/test/ab.tar a.txt b.txt
tar调用程序进行压缩与解压缩:
-
压缩 /home/test1/test 成为test.tar.gz
tar -cvzf test.tar.gz -C /home/test1 test ------打包并压缩(gzip)tar -cvjf test.tar.gz -C /home/test1 test------打包并压缩(bzip2)
-
解压 把当前目录的test.tar.gz 解压到test1中
tar -zxvf test.tar.gz -C test1
注:要指定文件目录一定要加上-C
如 tar -cvf test.tar /home/test1/test 使用决定路径标识的源文件,在用tar命令压缩后会创建home、test1文件夹、test存在\home\test1文件夹下。
tar -cvzf test.tar -C /home/test1 test
该命令中的-C dir参数,将tar的工作目录从当前目录改为/home/test1将test文件(不带绝对路径)压缩到test.tar中