Linux tar 命令


Linux tar(英文全拼:tape archive )命令用于备份文件。

tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。

语法

                    tar 参数 存档文件 [文件或目录]
                

常见参数

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