tar命令通过-c、-v、-f参数可打包文件,如tar -cvf backup.tar file1.txt dir1/;结合-z参数实现gzip压缩,如tar -czvf backup.tar.gz file1.txt dir1/;使用-j参数进行bzip2压缩,如tar -cjvf backup.tar.bz2 file1.txt dir1/;解压时用-x参数并根据格式添加z或j,如tar -xzvf backup.tar.gz;查看内容不解压则用-t参数,如tar -tzvf backup.tar.gz。
在linux系统中,处理文件压缩和解压最常用的方式之一就是使用tar命令。它不仅可以打包文件,还能结合不同的压缩算法(如gzip、bzip2等)进行压缩。下面我们就来聊聊tar命令在日常使用中最常见、最实用的几种用法。
如何用tar打包文件?
如果你只是想把多个文件或目录合并成一个包,而不进行压缩,可以使用以下命令:
tar -cvf 包名.tar 文件1 文件2 目录1 ...
- -c:创建新包。
- -v:显示打包过程中的详细信息。
- -f:指定生成的包文件名。
比如,要把file1.txt和dir1/打包成backup.tar,就可以写:
tar -cvf backup.tar file1.txt dir1/
这个操作很适合归档一些不需要压缩但需要集中管理的文件。
如何用tar进行gzip压缩?
如果希望压缩后的文件更小,通常会配合gzip使用。这时候命令会是这样:
tar -czvf 压缩包名.tar.gz 要压缩的文件...
- -z:表示使用gzip压缩。
例如:
tar -czvf backup.tar.gz file1.txt dir1/
这条命令会生成一个名为backup.tar.gz的压缩包。这是目前最常用的压缩格式之一,兼容性好、压缩率适中。
如何用tar进行bzip2压缩?
如果你对压缩率要求更高,可以选择bzip2压缩,虽然压缩速度会慢一些,但压缩后的体积更小:
tar -cjvf 压缩包名.tar.bz2 文件...
- -j:表示使用bzip2压缩。
举个例子:
tar -cjvf backup.tar.bz2 file1.txt dir1/
这种方式适合用于长期存档或者传输带宽有限的情况。
如何解压tar压缩包?
解压的时候,根据压缩方式不同,参数也要对应上:
-
解压.tar文件:
tar -xvf 文件名.tar
-
解压.tar.gz文件:
tar -xzvf 文件名.tar.gz
-
解压.tar.bz2文件:
tar -xjvf 文件名.tar.bz2
其中:
- -x:表示解压。
- 其他参数保持一致即可。
你也可以通过添加-C指定解压到某个目录,例如:
tar -xzvf backup.tar.gz -C /path/to/target/
小贴士:查看tar包内容不解压
有时候你只想看看里面有哪些文件,而不想真的解压出来,可以用:
tar -tvf 文件名.tar
或者对应压缩格式加上z或j:
tar -tzvf 文件名.tar.gz tar -tjvf 文件名.tar.bz2
这在处理不确定内容的压缩包时非常有用。
基本上就这些。掌握这几个常用组合,就能应对大多数tar打包和压缩场景了。不复杂但容易忽略的是参数顺序和压缩格式对应的选项,多练几次就熟练了。