前言:
先说一下遇到的场景:前段时间在配合做 DevOps,组内有块代码是 php 的,需要用 tar 命令打包归档上传到 nexus 库,后来发现解压出来的包居然缺失了隐藏文件(配置文件),查了一下资料解决了,这里记录一下。
1. tar 命令常规用法
-c 创建新的档案文件
-C 指定到目录。注意:该目录必须存在
-f 指定打包的文件名。在f之后要立即接打包文件名!不能再加参数!
-x 解压
-O 将文件解压到标准输出
-p 使用原文件的原来属性
-P 创建归档文件,使用绝对路径
-t 列出档案文件中的内容
-r 向压缩归档文件末尾追加文件
-u 更新原压缩包中的文件
-v 显示详细过程
-z 使用gzip压缩,一般格式为xx.tar.gz或xx. tgz
-Z 有compress
-j 使用bzip2压缩,一般格式为xxx.tar.bz2
--exclude 在压缩过程中,排除某个文件
--remove-files 在完成打包后,删除原文件夹
一定要注意大小写
归档:
tar -cvf 2020-08-03_log.tar *.log
压缩归档:
tar -czvf 2020-08-03_log.tar.gz *.log
解压缩:
tar -xvf 2020-08-03_log.tar
解压缩到指定目录:
tar -xvf 2020-08-03_log.tar -C /var/log/
2.归档隐藏文件
当前文件夹下包含隐藏文件的所有文件归档到 php_project.tar:
tar -cvf php_project.tar * .[!.]*
3.归档某文件夹下的所有文件,不包含这个文件夹
eg, 归档 log 文件夹下的所有文件
常规都是下面这么写
tar -cvf log.tar /var/log/*
但是归档以后再解开,会发现是一个三级目录:var/log/*
前面两个目录是不需要的,怎么整?
方法一,cd 进去归档
cd /var/test;
tar -cvf /home/log.tar *
方法二
tar -cvf log.tar -C /var/log/ .
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/16549.html