Linux

Linux 如何快速的打包大目录?tar 命令

DevX · 10月21日 · 2020年 · · · · · ·

如果只需要打包不需要压缩的话,tar cf archive.tar directory

例子:备份mysql的数据文件夹var

进入到var所在目录 cd /usr/local/mysql

然后输入命令 tar cf var.tar var

解包:tar -xvf var.tar

如果需要压缩的话,gzip, bzip2, 7zip都有可以调节压缩率的参数。当然最终的压缩率取决于数据本身的冗余程度。压缩要花费更长的时间,尤其是要把文件压缩得尽可能小的话。

实例

压缩文件 非打包

# touch a.c       
# tar -czvf test.tar.gz a.c   //压缩 a.c文件为test.tar.gz

列出压缩文件内容
# tar -tzvf test.tar.gz 
-rw-r--r-- root/root     0 2010-05-24 16:51:59 a.c

解压文件

# tar -xzvf test.tar.gz 

排除目录中的某些文件,然后进行压缩。
命令格式如下:
tar --exclude=目录名/* 或者 文件名 -zcvf 备份文件名.tgz 目录名
具体举例:
# 创建一个名为 abc 的目录 mkdir abc # 进入 abc 这个目录 cd abc # 创建两个文件,文件名为1.txt 2.txt touch 1.txt 2.txt # 切换到 abc 的父目录 cd .. # 将文件 abc 进行压缩时,排除1.txt,压缩后的文件名为 abc.tar tar --exclude=abc/1.txt -zcvf abc.tgz abc # 解压文件 tar -zxvf abc.tgz # 删除压缩文件 rm abc.tgz # 删除解压后的文件,并删除文件夹 rm -rf abc
0 条回应