tar命令
Linux tar(英文全拼:tape archive )命令用于备份文件。
tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
1.命令格式:
tar[必要参数][选择参数][文件]
2.命令功能:
用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的
3.命令参数:
必要参数有如下:
-A 新增压缩文件到已存在的压缩
-B 设置区块大小
-c 建立新的压缩文件
-d 记录文件的差别
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-Z 支持compress解压文件
-v 显示操作过程
-l 文件系统边界设置
-k 保留原有文件不覆盖
-m 保留文件不被覆盖
-W 确认压缩文件的正确性
可选参数如下:
-b 设置区块数目
-C 切换到指定目录
-f 指定压缩文件
–help 显示帮助信息
–version 显示版本信息
tar是打包,不是压缩!
使用tar命令对文件进行打包压缩与解压缩:
使用gzip方式对文件进行压缩,并指定压缩名为 tar_gzip.tar.gz
[root@ls_nfqZ8Onc ~]# tar -zcvf tar_gzip.gz file file [root@ls_nfqZ8Onc ~]# ls file tar_gzip.gz
使用bzip2方式对文件夹进行压缩,并指定压缩名为 tar_bzip2.tar.bz2
[root@ls_nfqZ8Onc ~]# tar -jcvf tar_bzip2.bz2 file file [root@ls_nfqZ8Onc ~]# ls file tar_bzip2.bz2 tar_gzip.gz
使用xz方式对文件进行压缩,并指定压缩名为 tar_xz.tar.xz
[root@ls_nfqZ8Onc ~]# tar -Jcvf tar_xz.tar.xz file file [root@ls_nfqZ8Onc ~]# ls file tar_bzip2.bz2 tar_gzip.gz tar_xz.tar.xz
新建文件file1.txt,file2.txt,file3.txt
[root@ls_nfqZ8Onc ~]# touch file1.txt file2.txt file3.txt [root@ls_nfqZ8Onc ~]# ls file file2.txt file.tar.bz2 file.tar.xz file1.txt file3.txt file.tar.gz
对文件file1.txt和file2.txt,进行压缩(使用gzip方式),排除file3.txt(即不对file3进行压缩)并指定压缩名为tar_file.tar.gz
[root@ls_nfqZ8Onc ~]# tar -cvzf tar_file.tar.gz --exclude=file3.txt file*.txt file1.txt file2.txt [root@ls_nfqZ8Onc ~]# ls file file2.txt file.tar.bz2 file.tar.xz file1.txt file3.txt file.tar.gz tar_file.tar.gz
新建文件file4.txt,将file4.txt添加到tar_file.tar.gz中
[root@ls_nfqZ8Onc ~]# gunzip tar_file.tar.gz [root@ls_nfqZ8Onc ~]# tar -rvf tar_file.tar file4.txt file4.txt [root@ls_nfqZ8Onc ~]# gzip tar_file.tar [root@ls_nfqZ8Onc ~]# ls file file2.txt file4 file.tar.bz2 file.tar.xz file1.txt file3.txt file4.txt file.tar.gz tar_file.tar.gz
查看压缩包tar_file.tar.gz有哪些文件及目录(不解压,只查看)
[root@ls_nfqZ8Onc ~]# tar -tvf tar_file.tar.gz -rw-r--r-- root/root 0 2022-07-19 17:48 file1.txt -rw-r--r-- root/root 0 2022-07-19 17:48 file2.txt -rw-r--r-- root/root 0 2022-07-19 17:59 file4.txt
解压tar_gzip.tar.gz到指定目录tar_test(没有这个目录就创建)
[root@ls_nfqZ8Onc ~]# tar -xzvf tar_file.tar.gz -C tar_test/ file1.txt file2.txt file4.txt [root@ls_nfqZ8Onc ~]# cd tar_test/ [root@ls_nfqZ8Onc tar_test]# ls file1.txt file2.txt file4.txt
解压tar_xz.tar.xz
[root@ls_nfqZ8Onc tar_test]# tar -xJvf tar_xz.tar.xz file3