在 Linux 中使用 tar 命令打包和压缩文件夹
一、打包的概念
打包:指将多个文件(或目录)合并成一个文件,方便在不同节点之间传递或在服务器集群上部署。
压缩或打包文件常见扩展名 *.tar, *.tar.gz, *.gz, *.bz2, *.Z;
Linux系统一般文件的扩展名用途不大,但是压缩或打包文件的扩展名时必须的,因为linux支持的压缩命令较多,不同的压缩技术使用的压缩算法区别较大,根据扩展名能够使用对应的解压算法。
二、tar命令
1、命令作用
将文件夹打包,也能将包解开成文件夹。
2、选项参数
-c:(create)建立打包文件
-t :查看打包文件的内容含有哪些文件
-x :解打包或解压缩的功能,可以搭配-C(大写)在特定目录解开
-j :通过bzip2的支持进行压缩/解压缩,此时文件最好为*.tar.bz2
-z :通过gzip的支持进行压缩/解压缩,此时文件最好为*.tar.gz
-v :在压缩/解压缩的过程中,将正在处理的文件名显示出来
-f filename:-f 后面跟处理后文件的全名称(路径+文件名+后缀名)
-C 目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
-p:保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
--exclude=FILE:在压缩的过程中,不要将那些文件打包
注意-c, -t, -x 不可同时出现在一串指令列中。
3、案例
案例1:在/tmp文件夹下创建demo文件夹,将/etc目录拷贝到/tmp/demo目录里,然后打包压缩成gz格式,要求显示压缩详情。
1)在/tmp文件夹下创建demo文件夹,将/etc目录拷贝到/tmp/demo目录里。
注意:拷贝非空目录要加 -r
2)将etc文件夹打包压缩成gz格式,并显示压缩详情。
tar -czvf 打包压缩后文件 被打包压缩的文件夹
[root@ied01 demo]# tar -czvf myetc.tar.gz etc
如果打包压缩成.bz2格式,那么tar命令的参数:-cjvf。
案例2:先删除etc目录,解压缩myetc.tar.gz到当前目录。
1)删除etc目录
[root@ied01 demo]# rm -rf etc
2)解压缩myetc.tar.gz到当前目录
[root@ied01 demo]# tar -xzvf myetc.tar.gz
案例3:将myetc.tar.gz解压缩到指定目录:/home。
[root@ied01 demo]# tar -xzvf myetc.tar.gz -C /home
案例4:仅仅解压缩myetc.tar.gz里的某个目录,例如etc/udev。
1)先删除etc目录
[root@ied01 demo]# rm -rf etc
2)解压缩myetc.tar.gz里的etc/udev目录
[root@ied01 demo]# tar -xzvf myetc.tar.gz etc/udev
下一篇: 分布式与集群式
推荐阅读
-
在 Linux 中使用 tar 命令打包和压缩文件夹
-
在 linux 下使用 tar 命令进行压缩和解压缩的详细用法
-
紧急模式问题处理 - 图 1 紧急模式 根本原因分析 应急模式提供了尽可能小的环境,即使无法进入应急模式,也可以在其中修复系统。在应急模式下,系统只安装根文件系统供读取,不尝试安装任何其他本地文件系统,不激活网络接口,只启动一些基本服务。 进入应急模式的原因通常是 /etc/fstab 文件中存在错误,导致文件系统挂载失败。 文件系统中存在错误,导致。 约束和限制 本节适用于 Linux 操作系统紧急模式。程序涉及修复文件系统。修复文件系统有丢失数据的风险,因此请先备份数据,然后再执行修复操作。 处理方法 输入根密码,然后进入修复模式。 在应急模式下,根分区以只读模式挂载。要修改根目录中的文件,需要执行以下命令以读写模式重新挂载根分区。# mount -o rw,remount / 请执行以下命令首先检查 fstab 文件是否有误,然后尝试挂载所有未挂载的文件系统。# mount -a 如果挂载点不存在,请创建一个挂载点。 如果不存在此类设备,请注释或删除挂载行。 如果指定了不正确的挂载选项,请将挂载参数更改为正确的参数。 如果没有发生错误,但出现 UNEXPECTED INCONSISTENCY;RUN fsck MANUALLY 消息(通常是由文件系统错误引起的),请跳至第 7 步。 执行以下命令打开 /etc/fstab 以修改相应的错误。# vi /etc/fstab /etc/fstab 文件包含以下字段,以空格分隔:[文件系统] [dir] [type] [options] [dump] [fsck] 表 1 /etc/fstab 参数 说明 参数 说明 [文件系统] 要挂载的分区或存储设备。 文件系统]列建议以 UUID 的形式写入。执行 blkid 命令可查询设备文件系统 UUID。 参考格式如下: # <device> <dir> <type> <options> <dump> <fsck>; UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4 defaults 0 2 使用 UUID 的好处是,它们与磁盘顺序无关。如果你在 BIOS 中更改了存储设备的顺序,或重新插入了存储设备,或者因为某些 BIOS 可能会随机更改存储设备的顺序,那么使用 UUID 会更有效率。 [文件系统] 文件系统]的挂载位置。 类型 挂载设备或分区的文件系统类型,支持多种不同的文件系统:ext2、ext3、ext4、reiserfs、xfs、jfs、smbfs、iso9660、vfat、ntfs、swap 和 auto。 设置为自动类型后,挂载命令会猜测所使用的文件系统类型,这对 CDROM 和 DVD 等移动设备非常有用。 选项 挂载时要使用的参数,有些参数是特定文件系统特有的。例如,默认值参数使用文件系统的默认挂载参数,ext4 的默认参数为:rw、suid、dev、exec、auto、nouser、async。 有关更多参数,请执行以下命令查看 man 手册:# man mount
-
简单讲解Linux tar命令:打包、压缩与解压缩操作,以及如何将tar解压文件定位到特定文件夹步骤详解
-
详解在Linux中使用tar命令进行文件压缩与解压的操作指南
-
详解在Linux中使用tar命令进行文件压缩与解压的操作指南
-
如何在Linux中轻松使用tar命令进行文件压缩与解压缩操作
-
如何在Linux中轻松使用tar命令进行解压缩操作
-
如何在Linux中使用tar命令跳过特定文件夹进行压缩
-
在Linux中玩转压缩与解压:轻松掌握zip、unzip及tar的使用方法