共计 2113 个字符,预计需要花费 6 分钟才能阅读完成。
通过 SSH 拜访服务器,难免会要用到压缩,解压缩,打包,解包等,这时候 tar 命令就是是必不可少的一个功能强大的工具
tar 命令能够为 linux 的文件和目录创立档案。利用 tar,能够为某一特定文件创建档案(备份文件),也能够在档案中扭转文件,或者向档案中退出新的文件。tar 最后被用来在磁带上创立档案,当初,用户能够在任何设施上创立档案。利用 tar 命令,能够把一大堆的文件和目录全副打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是十分有用的。
打包和压缩
- 打包是指将一大堆文件或目录变成一个总的文件;
- 压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
Linux 中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar 命令),而后再用压缩程序进行压缩(gzip bzip2 命令)
linux 下最罕用的打包程序就是 tar 了,应用 tar 程序打进去的包咱们常称为 tar 包,tar 包文件的命令通常都是以.tar 结尾的。生成 tar 包后,就能够用其它的程序来进行压缩。
命令格局
> tar [必要参数] [抉择参数] 文件
命令性能
用来压缩和解压文件。tar 自身不具备压缩性能。他是调用压缩性能实现的。
命令参数
必要参数
- - A 或 –catenate:新增文件到以存在的备份文件;
- -B:设置区块大小;
- - c 或 –create:建设新的备份文件;
- -C < 目录 >:这个选项用在解压缩,若要在特定目录解压缩,能够应用这个选项。
- -d:记录文件的差异;
- - x 或 –extract 或 –get:从备份文件中还原文件;
- - t 或 –list:列出备份文件的内容;
- - z 或 –gzip 或 –ungzip:通过 gzip 指令解决备份文件;
- - Z 或 –compress 或 –uncompress:通过 compress 指令解决备份文件;
- -f< 备份文件 > 或 –file=< 备份文件 >:指定备份文件;
- - v 或 –verbose:显示指令执行过程;
- -r:增加文件到曾经压缩的文件;
- -u:增加扭转了和现有的文件到曾经存在的压缩文件;
- -j:反对 bzip2 解压文件;
- -v:显示操作过程;
- -l:文件系统边界设置;
- -k:保留原有文件不笼罩;
- -m:保留文件不被笼罩;
- -w:确认压缩文件的正确性;
- - p 或 –same-permissions:用原来的文件权限还原文件;
- - P 或 –absolute-names:文件名应用相对名称,不移除文件名称前的“/”号;
- -N < 日期格局 > 或 –newer=< 日期工夫 >:只将较指定日期更新的文件保留到备份文件里;
- –exclude=< 范本款式 >:排除合乎范本款式的文件。
抉择参数
- -b 设置区块数目
- -C 切换到指定目录
- -f 指定压缩文件
- –help 显示帮忙信息
- –version 显示版本信息
打包一个文件, 不压缩
> tar -cvf rumenz.tar rumenz.txt
打包并压缩一个文件(应用 gzip 压缩)
> tar -zcvf rumenz.tar.gz rumenz.txt
打包并压缩一个文件(应用 bzip2 压缩)
> tar -jcvf rumenz.tar.bz2 rumenz.txt
在选项 f 之后的文件档名是本人取的,咱们习惯上都用 .tar 来作为辨识。如果加 z 选项,则以.tar.gz 或.tgz 来代表 gzip 压缩过的 tar 包;如果加 j 选项,则以.tar.bz2 来作为 tar 包名。
列出打包压缩文件外面的内容
> tar -ztvf rumenz.tar.gz
因为咱们应用
gzip
压缩的rumenz.tar.gz
,所以要查阅rumenz.tar.gz
包内的文件时,就得要加上z
这个选项了
tar.gz
解压缩
> tar -xzvf rumenz.tar.gz
tar.gz
解压缩到 /tmp 目录
> tar -xzvf rumenz.tar.gz -C /tmp
只解压 rumenz.tar.gz
外面的1.txt
,2.txt
> tar -zcvf rumenz.tar.gz *.txt
// 查看 rumenz.tar.gz 外面的文件(在不解压缩的状况下看)
> tar -ztvf rumenz.tar.gz
1.txt
2.txt
3.txt
4.txt
> tar -zxvf rumenz.tar.gz 1.txt 2.txt
1.txt
2.txt
> ls
1.txt 2.txt rumenz.tar.gz
压缩文件并保留其权限
> tar -zcpvf rumenz.tar.gz 1.txt 2.txt 3.txt 4.txt
这个 - p 的属性是很重要的,尤其是当您要保留本来文件的属性时。
不打包压缩某个文件(或目录)
> tar --exclude rumenz/doc rumenz.tar.gz rumenz/*
在 /etc
当中,比 2021/01/01
新的文件才备份
> tar -N "2021/01/01" -zcvf etc.tar.gz /etc
bzip2 压缩, 查看, 解压
- 压 缩:tar -jcvf rumenz.tar.bz2 rumenz
- 查 询:tar -jtvf rumenz.tar.bz2
- 解压缩:tar -jxvf rumenz.tar.bz2 -C test
原文链接:https://rumenz.com/rumenbiji/…
微信公众号: 入门小站