每次在解压的时候都要临时去搜索,明明很简单的命令却总是记不住,这次专门记录一下,加深理解,强化记忆
简介
在 Linux 系统中,tar
命令是一个用于打包和压缩文件的非常强大的工具。它允许用户将多个文件和目录合并成一个单一的归档文件,便于传输和备份 。此外,tar
还可以与不同的压缩程序一起使用,如 gzip、bzip2、xz 等,以减小归档文件的大小。
基本语法
tar
命令的基本语法如下:
tar [选项] [归档文件名] [文件或目录列表]
常用选项
-c
:创建一个新的归档文件。-x
:从归档文件中提取文件。-v
:在处理文件时显示详细的信息。-f
:指定归档文件名。-z
:通过 gzip 压缩或解压缩。-j
:通过 bzip2 压缩或解压缩。-J
:通过 xz 压缩或解压缩。-p
:保留文件的权限。-C
:指定解压缩后文件的存放目录。
我们一般用到的命名可以分为两个模板
tar -cvf
:创建归档文件tar -xvf
:从归档文件中提取文件
然后根据不同大压缩格式,添加对应的参数即可
例如:
tar -zcvf
tar -jcvf
tar -zxvf
示例
创建归档文件
要将 /home/user/docs
目录下的所有文件打包到 /home/user/docs.tar
文件中,可以使用以下命令:
tar -cvf /home/user/docs.tar /home/user/docs
压缩归档文件
使用 gzip 压缩上述创建的归档文件:
tar -czvf /home/user/docs.tar.gz /home/user/docs
解压缩归档文件
从 docs.tar.gz
中提取文件到当前目录:
tar -xzvf /home/user/docs.tar.gz
解压缩到指定目录
将 docs.tar.gz
中的内容解压缩到 /home/user/extracted_docs
目录:
tar -xzvf /home/user/docs.tar.gz -C /home/user/extracted_docs
高级用法
排除文件
在打包时排除某些文件或目录:
tar -cvzf exclude_files.tar.gz --exclude='*.log' /home/user/docs
保留文件的修改时间
在解压缩时保留文件的修改时间:
tar -xzvf files.tar.gz --preserve
列出归档内容
查看归档文件中的内容而不提取它们:
tar -tzvf archive.tar.gz
结语
tar
是 Linux 系统中一个非常有用的命令,它不仅可以帮助用户管理文件和目录,还可以通过压缩减少存储空间的使用。
在平时的开发中,我们可以通过使用编程语言提供的接口执行终端命令,比如os.system()
,用这种的方式执行tar
命令来进行打包和压缩操作,实现起来通过各种库简单,也不用去考虑不同的压缩格式需要不同的库。