当你想对当前路径中的文件/文件夹打包压缩时,但是又不想把某个文件/文件夹包含在呢,该怎么办呢?
很好,tar命令刚好有一个选项可以满足当前需求,选项为--exclude=文件/文件夹(多个文件和文件夹需要独立写)
请看下面实例:
andy@andy-virtual-machine:~/GNU_C_Programming$ ls
1.txt 2.txt 3.txt hexFormatPrintMain hexFormatPrintMain.c
andy@andy-virtual-machine:~/GNU_C_Programming$ tar -jcvf package.tar.bz ./
1.txt 3.txt hexFormatPrintMain.c
2.txt hexFormatPrintMain
andy@andy-virtual-machine:~/GNU_C_Programming$tar -jcvf package.tar.bz * --exclude=3.txt
1.txt
2.txt
hexFormatPrintMain
hexFormatPrintMain.c
andy@andy-virtual-machine:~/GNU_C_Programming$ ls
1.txt 2.txt 3.txt hexFormatPrintMain hexFormatPrintMain.c package.tar.bz
andy@andy-virtual-machine:~/GNU_C_Programming$ file package.tar.bz
package.tar.bz: bzip2 compressed data, block size = 900k
andy@andy-virtual-machine:~/GNU_C_Programming$ ls
1.txt 2.txt 3.txt hexFormatPrintMain hexFormatPrintMain.c package.tar.bz
andy@andy-virtual-machine:~/GNU_C_Programming$ mkdir unpakage_dir
andy@andy-virtual-machine:~/GNU_C_Programming$ tar -jxvf package.tar.bz -C unpakage_dir/
1.txt
2.txt
hexFormatPrintMain
hexFormatPrintMain.c
andy@andy-virtual-machine:~/GNU_C_Programming$ ls
1.txt 2.txt 3.txt hexFormatPrintMain hexFormatPrintMain.c package.tar.bz unpakage_dir
andy@andy-virtual-machine:~/GNU_C_Programming$ cd unpakage_dir/
andy@andy-virtual-machine:~/GNU_C_Programming/unpakage_dir$ ls
1.txt 2.txt hexFormatPrintMain hexFormatPrintMain.c
上面案例成功将文件3.txt排除在外。