Linux tar 命令
Linux tar(英文全拼:tape archive )命令用于备份文件。
tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
语法
tar 参数 存档文件 [文件或目录]
常见参数
- -A或--catenate 新增文件到已存在的备份文件。
- -c或--create 建立新的备份文件。
- -k或--keep-old-files 解开备份文件时,不覆盖已有的文件。
- -r或--append 新增文件到已存在的备份文件的结尾部分。
- -t或--list 列出备份文件的内容。
- -v或--verbose 显示指令执行过程。
- -x或--extract或--get 从备份文件中还原文件。
- -z或--gzip或--ungzip 通过gzip指令处理备份文件。
- -j或--bzip2 通过bzip2指令处理备份文件
- --exclude=<范本样式> 排除符合范本样式的文件。
- --delete 从备份文档中删除文件
gzip压缩
使用gzip压缩需用到z参数,c参数表示创建一个新文件,v参数显示指令执行的信息,f参数表示需指定文件
cd / mkdir archteck cd archteck touch 1.txt 2.txt cd .. tar -zcvf at.tar.gz archteck
bzip2压缩
使用bzip2压缩需用到j参数,c参数表示创建一个新文件,v参数显示指令执行的信息,f参数表示需指定文件
cd / tar -jcvf at.tar.bz2 archteck
gzip解压
x参数表示解压指令,f参数表示需指定文件
cd / mkdir backup cd backup tar -zxvf //at.tar.gz
bzip2解压
x参数表示解压指令,f参数表示需指定文件
cd / mkdir backup1 cd backup1 tar -jxvf //at.tar.bz2
查看备份文件
t参数表示理出备份文件内容
[root@dingju /]# cd / [root@dingju /]# tar -tvf at.tar.gz drwxr-xr-x root/root 0 2023-03-16 10:20 archteck/ -rw-r--r-- root/root 0 2023-03-16 10:20 archteck/2.txt -rw-r--r-- root/root 0 2023-03-16 10:20 archteck/1.txt [root@dingju /]# tar -tvf at.tar.bz2 drwxr-xr-x root/root 0 2023-03-16 10:20 archteck/ -rw-r--r-- root/root 0 2023-03-16 10:20 archteck/2.txt -rw-r--r-- root/root 0 2023-03-16 10:20 archteck/1.txt
生成备份文档,不压缩
[root@dingju /]# cd / [root@dingju /]# tar -cvf at.tar archteck archteck/ archteck/2.txt archteck/1.txt
添加文件到备份文档
r参数将文件添加到备份文档中
[root@dingju /]# touch x.txt #将x.txt文件添加到at.tar备份文件中 [root@dingju /]# tar -rvf at.tar x.txt x.txt
从备份文件中删除文件
使用--delete参数可以从备份文档中删除文件
#将x.txt文件从at.tar备份文件中删除 [root@dingju /]# tar --delete -vf at.tar x.txt [root@dingju /]# tar -tvf at.tar drwxr-xr-x root/root 0 2023-03-16 10:36 archteck/ -rw-r--r-- root/root 0 2023-03-16 10:20 archteck/2.txt -rw-r--r-- root/root 0 2023-03-16 10:20 archteck/1.txt
合并备份文档
使用A参数合并备份文档
[root@dingju /]# cd / [root@dingju /]# mkdir test [root@dingju /]# cd test [root@dingju test]# touch 4.txt 5.txt [root@dingju test]# cd / #生成test.tar备份文档 [root@dingju /]# tar -cvf test.tar test test/ test/4.txt test/5.txt #将test.tar备份文档和at.tar备份文档合并 [root@dingju /]# tar -Avf test.tar at.tar #查看test.tar文档合并后的结果 [root@dingju /]# tar -tvf test.tar drwxr-xr-x root/root 0 2023-03-16 11:19 test/ -rw-r--r-- root/root 0 2023-03-16 11:19 test/4.txt -rw-r--r-- root/root 0 2023-03-16 11:19 test/5.txt drwxr-xr-x root/root 0 2023-03-16 10:36 archteck/ -rw-r--r-- root/root 0 2023-03-16 10:20 archteck/2.txt -rw-r--r-- root/root 0 2023-03-16 10:20 archteck/1.txt
排除
使用exclude参数排除部分文件进行备份
[root@dingju /]# tar -cvf at.tar archteck/ --exclude=archteck/1.txt archteck/ archteck/2.txt