云梦编程网

当前位置:首页 > Liunx教程 >

tar命令详解

作者:佚名 时间:2024-02-16 12:10:37 阅读:(7)

tar命令的功能是用于压缩和解压缩文件,能够制作出Linux系统中常见的.tar、.tar.gz、.tar.bz2等格式的压缩包文件,也可以将多个文件压缩打包到一个压缩文件。接下来云梦编程为大家详细的介绍的一下Linux的tar命令的详细使用方法,有需要的小伙伴可以参考一下:

tar命令详解

1、打包和压缩的概念

    (1)、打包是指将一大堆文件或目录合并成一个总的文件;

    (2)、压缩则是将一个大容量的文件通过一些压缩算法(gzip、bzip2等命令)变成一个小容量的文件。

2、语法格式:

tar 参数 文件或目录

3、常用参数:

-A 新增文件到以存在的备份文件
-B 设置区块大小
-c 建立新的备份文件
-C <目录> 仅压缩指定目录里的内容或解压缩到指定目录
-d 记录文件的差别
-x 从归档文件中提取文件
-t 列出备份文件的内容
-z 通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz
-Z 通过compress指令处理备份文件
-f<备份文件> 指定备份文件
-v 显示指令执行过程
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-j 通过bzip2指令压缩/解压缩文件,文件名最好为*.tar.bz2
-v 显示操作过程
-l 文件系统边界设置
-k 保留原有文件不覆盖
-m 保留文件不被覆盖
-w 确认压缩文件的正确性
-p 保留原来的文件权限与属性
-P 使用文件名的绝对路径,不移除文件名称前的“/”号
-N <日期格式> 只将较指定日期更新的文件保存到备份文件里
-- -exclude=<范本样式> 排除符合范本样式的文件
-- -remove-files 归档/压缩之后删除源文件

4、常用命令:

单个文件压缩打包 tar czvf my.tar.gz file1
多个文件压缩打包 tar czvf my.tar.gz file1 file2,...(file*)(也可以给file*文件mv 目录在压缩)
单个目录压缩打包 tar czvf my.tar.gz dir1
多个目录压缩打包 tar czvf my.tar.gz dir1 dir2
解包至当前目录:tar xzvf my.tar.gz

5、命令范例:

    (1)、将整个/etc目录下的文件全部打包成为/etc/etc.tar

#仅打包,不压缩!
tar -cvf /home/etc.tar /etc
#打包后,以 gzip 压缩
tar -zcvf /tmp/etc.tar.gz /etc
#打包后,以 bzip2 压缩
tar -jcvf /tmp/etc.tar.bz2 /etc

PS:在参数f之后的文件档名是我们自己定义的,习惯上都使用.tar来作为辨识。

    (2)、查看上述/tmp/etc.tar.gz 文件内有哪些文件?

tar -ztvf /tmp/etc.tar.gz

PS:由于我们上面使用的是gzip压缩,所以要查看该tar file内的文件时,就得要加上z这个参数了!

    (3)、将/tmp/etc.tar.gz文件解压在/usr/local/src目录下

cd /usr/local/src
tar -zxvf /tmp/etc.tar.gz

接下来进入/usr/local/src/etc则会发现,该目录下的文件属性与/etc/可能会有所不一样

    (4)、在/tmp目录下,将/tmp/etc.tar.gz内的etc/passwd解开而已

tar -zxvf /tmp/etc.tar.gz etc/passwd

    (5)、将/etc/内的所有文件打包压缩起来,并且保存其权限!

tar -zxvpf /tmp/etc.tar.gz /etc

这个-p的属性是很重要的,尤其是在我们要保留原本文件的属性时!

    (6)、在/home目录,比2022/12/18新的文件才备份

tar -N '2022/12/18' -zcvf home.tar.gz /home

    (7)、备份/home, /etc,不要/home/wwwlogs

tar --exclude /home/wwwlogs -zcvf myfile.tar.gz /home/* /etc


以上就是云梦编程为大家详细介绍的ta命令用法的全部内容了,了解更多相关文章请关注云梦编程网!

最新文章

热门文章