作者:佚名 时间:2024-02-16 12:10:37 阅读:(7)
tar命令的功能是用于压缩和解压缩文件,能够制作出Linux系统中常见的.tar、.tar.gz、.tar.bz2等格式的压缩包文件,也可以将多个文件压缩打包到一个压缩文件。接下来云梦编程为大家详细的介绍的一下Linux的tar命令的详细使用方法,有需要的小伙伴可以参考一下:
(1)、打包是指将一大堆文件或目录合并成一个总的文件;
(2)、压缩则是将一个大容量的文件通过一些压缩算法(gzip、bzip2等命令)变成一个小容量的文件。
tar 参数 文件或目录
-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 | 归档/压缩之后删除源文件 |
单个文件压缩打包 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
(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命令用法的全部内容了,了解更多相关文章请关注云梦编程网!