tar压缩解压缩

参考文章1
参考文章2

压缩

tar zcvf 文件名.tar.gz 待压缩文件名
tar -cvf **.tar *.jpg将所有的jpg文件打包

可以先切换到当前目录下。压缩文件名和被压缩文件名都可以加路径。

tar -cvf /tmp/etc.tar /etc    <==仅打包,不压缩!
tar -zcvf /tmp/etc.tar.gz /etc  <==打包后,以 gzip 压缩
tar -jcvf /tmp/etc.tar.bz2 /etc  <==打包后,以 bzip2 压缩

压缩并排除某些目录或文件

tar zcvf fd.tar.gz * --exclude=file1 --exclude=dir1

注意:

  • --exclude=file1 而不是 --exclude file1
  • 要排除一个目录是--exclude=dir1而不是--exclude=dir1/
    也可以在父目录打包
    tar zcvf fd.tar.gz pardir --exclude=pardir/file1 --exclude=pardir/dir1

tar zcvf backup_1.tar.gz /opt/data --exclude=resource*
在打包/opt/data时就排除了resource命名的目录和文件
如果想不包含部分的特定文件列表,可以把不包含的文件放到一个文件ext.txt,然后
tar zcvf backup_1.tar.gz /opt/data --exclude=resource* -X ext.txt
就可以了。
我的ext.txt文件内容如下:

$ cat /tmp/ext.txt  
/opt/data/devs/locks/db-logs.lock
/opt/data/devs/locks/db.lock
/opt/data/devs/hooks/post-revprop-change.tmpl
/opt/data/devs/hooks/pre-lock.tmpl
/opt/data/devs/hooks/post-unlock.tmpl
/opt/data/devs/db/transactions
/opt/data/devs/db/txn-current-lock
/opt/data/devs/db/write-lock
/opt/data/devs/db/format
/opt/data/devs/conf/passwd

这样就可以在打包的时候不包含以上的文件或者目录。

解压

tar zxvf 文件名.tar.gz

解压后的文件只能解压到当前目录。

  • 只解压压缩包中的某个文件

我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已
tar -zxvf /tmp/etc.tar.gz etc/passwd,注意etc/passwd前面的根目录/被去除了。

  • 压缩的时候排除目录
    我要备份/home, /etc,但不要/home/dmtsai
    tar -zcvf myfile.tar.gz /home/* /etc --exclude=/home/dmtsai

查看压缩文件中有哪些文件

tar -ztvf /tmp/etc.tar.gz

z是说明用gzip压缩的,t是查看,v是显示过程,f是档名

tar的C参数

tar -cvf file2.tar /home/usr2/file2

该命令可以将/home/usr2/file2文件打包到当前目录下的file2.tar中,需要注意的是:使用绝对路径标识的源文件,在用tar命令压缩后,文件名连同绝对路径(这里是home/usr2/,根目录'/'被自动去掉了)一并被压缩进来
解压缩后的文件名不是想象中的file2,而是home/usr2/file2

tar -cvf file2.tar -C /home/usr2 file2
该命令中的-C dir参数,将tar的工作目录从当前目录改为/home/usr2,将file2文件(不带绝对路径)压缩到file2.tar中。注意:-C dir参数的作用在于改变工作目录,其有效期为该命令中下一次-C dir参数之前
使用tar的-C dir参数,同样可以做到在当前目录/home/usr1下将文件解压缩到其他目录,例如:
tar -xvf file2.tar -C /home/usr2
而tar不用-C dir参数时是无法做到的:

`tar -xvf file2.tar /home/usr2`
tar: /tmp/file: Not found in archive
tar: Error exit delayed from previous errors

tar语法

tar 主选项[辅助选项] 文件或者目录

主选项是必须要有的,有且只能有一个,辅助选项可以有多个。

主选项

选项 描述
c 创建打包文件
x 解压
t 查看内容
r 向压缩归档文件末尾追加文件
u 更新原来的压缩包中的文件

辅助选项

选项 描述
z 是否具有gzip属性,即是否gzip压缩解压缩。格式为.tar.gz或.tgz
j 是否具有bzip2属性,即是否需要bzip2压缩解压缩。格式为**.tar.bz2
v 压缩过程中显示文件过程(常用)
f 是否使用档案名字,注意使用f之后要立即接档案名字,后面不能再有其他参数(该参数必须有)
p 使用原文件的原来属性(属性不会根据使用者而变)

你可能感兴趣的:(tar压缩解压缩)