在很多时候,我们要对某一个目录打包,而这个目录下有几十个子目录和子文件,我们需要在打包的时候排除其中1、2个目录或文件。
这时候我们在用tar命令打包的时候,增加参数 --exclude 就能达到目的。
# tar --help | grep exclude
tar -zcvf /opt/backup/X.tar.gz /opt/web/Y -exclude /opt/web/Y/logs
注意:
1.exclude后面子目录不要跟斜杠"/",否则exclude无效.
2.打包的目录使用相对路径,排除的文件只能接相对路径
3.打包的目录使用绝对路径,排除的文件接相对路径或绝对路径
4.建议打包的目录和排除的文件使用的使用路径时,保持一致,都是用绝对路径,或都是用相对路径
tar -zcf X.tar.gz /opt/abc --exclude /opt/abc/Y.txt
###
tar -zcf X.tar.gz /opt/abc --exclude /opt/abc/xyz --exclude /opt/abc/Y.txt
###
tar命令之--exclude参数 排除指定的文件或目录
https://cloud.tencent.com/developer/article/1360591
在backup.sh文件中,写入这些: BACKUP="/home/gfdpsdev/backup/dps_backup" TIME=$(date +%F) BACKUP_PATH=/home/gfdpsdev/backup/dps_backup/$TIME if [ ! -p $BACKUP_PATH ] then mkdir -p "$BACKUP_PATH" fi cd BACKUP tar -X *.list -zcvf $BACKUP_PATH/dps_$TIME.tar.gz /home/gfdpsdev 加红的这条语句是打包语句。 *.list文件中包含在打包中要排除的文件列表: *.o *.a *.tar *.gz *.Z tmplog srcBak log tmp file core.* Fortify .fortify .CVSROOT backup 这样在打包的时候就不会把*list 中的文件或者文件夹打包了。 摘自:老衣的专栏分析如下:
一、Linux下的tar命令详解
1、tar -c:建立压缩档案
2、tar -x:解压
3、tar -t:查看内容
4、tar -r:向压缩归档文件末尾追加文件
5、tar -u:更新原压缩包中的文件
二、压缩
1、tar -cvf jpg.tar *.jpg// 将目录里所有jpg文件打包成jpg.tar
2、tar -czf jpg.tar.gz *.jpg// 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
3、tar -cjf jpg.tar.bz2 *.jpg// 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
4、tar -cZf jpg.tar.Z *.jpg// 将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
5、rar a jpg.rar *.jpg// rar格式的压缩,需要先下载rar for linux
6、zip jpg.zip *.jpg// zip格式的压缩,需要先下载zip for linux
三、解压
1、tar -xvf file.tar// 解压 tar包
2、tar -xzvf file.tar.gz// 解压tar.gz
3、tar -xjvf file.tar.bz2// 解压 tar.bz2
4、tar -xZvf file.tar.Z// 解压tar.Z
5、unrar e file.rar// 解压rar
6、unzip file.zip// 解压zip
四、具体 *** 作方法:
1、如图看到的示例,用tar命令来打包这些文件以及目录。(文件目录以自己实际情况为准,这里用做参考用例)
2、如图所示,tar -cvf便是打包,包名可以自己定(要加.tar后缀名),这是打包一个bd1.txt文件。
3、打包多个文件就是用空格隔开文件名,这样即可以此来打包多个txt文件。
4、可用星号*跟后缀名来匹配指定某一类文件,比如TXT类文件。
5、用Tar命令打包文件到指定的目录文件夹里面可以在包前面加文件夹的路径,例打包到a文件夹里边了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)