压缩
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 |
使用原文件的原来属性(属性不会根据使用者而变) |
网友评论