大家好,又见面了,我是你们的朋友全栈君。
前言:
先说一下遇到的场景:前段时间在配合做 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/ .
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138319.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...