Linux常用打包压缩命令

压缩命令应用场景
tar大部分使用tar即可。创建,查看,解压,解压到指定目录
gzip一般配合其他命令使用
zip+unzip一般用于解压zip格式的压缩包

1. tar 打包压缩命令

1.1 命令详解

【功能说明】

在Linux系统里,tar是将多个文件打包在一起,并且可以实现解压打包的文件的命令。是系统管理员最常用的命令之一,tar命令不但可以实现对多个文件进行打包,还可以对多个文件打包后进行压缩。

打包是指将一大堆文件或目录变成一个总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

【语法格式】

tar [option] [file]
tar [选项]   [文件或目录]

【选项说明】

参数选项解释说明
z通过gzip压缩或解压
c创建新的tar包
v显示详细的tar命令执行过程
f指定压缩文件的名字
t不解压查看tar包的内容
p保持文件的原有属性
P(大写)以绝对路径打包,危险参数
j通过bzip2命令压缩或解压
x解开tar包
C指定解压的目录路径
–exclude=PATTERN打包时排除不需要处理的文件或目录
-X file从指定文件读取不需要处理的文件或目录列表
-N date仅打包比指定日期新的文件,可用于增量打包备份
-h打包软链接文件指向的真实源文件
–hard-dereference打包硬链接文件

1.2 使用范例

tar命令主要的用途是:

  • 创建压缩包
  • 查看压缩包
  • 解压压缩包
  • 解压压缩包到指定目录
tar命令选项与说明
创建 zcf/zcvftar zcf 压缩包 被压缩的文件/目录
查看 tf/ztftar tf /tmp/etc.tar.gz即使不指定z选项,tar命令也会自动判断压缩包类型,自动调用gzip
解压 xf/xvftar xf /tmp/etc.tar.gz
# 案例1.打包当前的1.txt文件为test.tar.gz
[root@localhost ~]# echo aaa > 1.txt
[root@localhost ~]# ll
total 4
-rw-r--r-- 1 root root 4 Nov 10 12:19 1.txt
[root@localhost ~]# cat 1.txt 
aaa[root@localhost ~]# tar zcvf test.tar.gz 1.txt
1.txt
[root@localhost ~]# ll
total 8
-rw-r--r-- 1 root root   4 Nov 10 12:19 1.txt
-rw-r--r-- 1 root root 118 Nov 10 12:20 test.tar.gz# 案例2.同时打包多个文件
#打包/etc/hosts 1.txt /etc/passwd
[root@localhost ~]# tar zcvf test.tar.gz /etc/hosts /etc/passwd 1.txt
tar: Removing leading `/' from member names
/etc/hosts
/etc/passwd
1.txt# 注意: 打包建议到相对路径
[root@localhost ~]# tar zcvf dir.tar.gz etc test
etc/
etc/hosts
etc/passwd
test/
[root@localhost ~]# ll
total 12
-rw-r--r-- 1 root root   4 Nov 10 12:19 1.txt
-rw-r--r-- 1 root root 695 Nov 10 12:26 dir.tar.gz
drwxr-xr-x 2 root root  33 Nov 10 12:24 etc
drwxr-xr-x 2 root root   6 Nov 10 12:26 test# 案例3.解压test.tar.gz 到当前目录
[root@localhost ~]# mv test.tar.gz /opt/
[root@localhost ~]# cd /opt/
[root@localhost opt]# tar xf test.tar.gz 
[root@localhost opt]# ll
total 8
-rw-r--r-- 1 root root   4 Nov 10 12:19 1.txt
drwxr-xr-x 2 root root  33 Nov 10 12:28 etc
-rw-r--r-- 1 root root 675 Nov 10 12:22 test.tar.gz
[root@localhost opt]# ll etc/
total 8
-rw-r--r-- 1 root root  158 Nov  3 10:25 hosts
-rw-r--r-- 1 root root 1017 Oct 10  2008 passwd# 案例4.指定解压到某个位置-C
[root@localhost ~]# tar xf 1.tar.gz -C /opt/
# 案例5.压缩包在/root下 想在/opt下解压
[root@localhost ~]# ll
total 4
-rw-r--r-- 1 root root 695 Nov 10 12:26 dir.tar.gz
[root@localhost ~]# cd /opt/
[root@localhost opt]# rm -rf *
[root@localhost opt]# ll
total 0[root@localhost ~]# ll
total 4
-rw-r--r-- 1 root root 695 Nov 10 12:26 dir.tar.gz
[root@localhost ~]# cd /opt/
[root@localhost opt]# rm -rf *
[root@localhost opt]# ll
total 0
[root@localhost opt]# ll
total 0
[root@localhost opt]# tar xf /root/dir.tar.gz 
[root@localhost opt]# ll
total 0
drwxr-xr-x 2 root root 33 Nov 10 12:24 etc
drwxr-xr-x 2 root root  6 Nov 10 12:26 test

2. gzip 压缩或解压文件

2.1 命令详情

【功能说明】

gzip命令用于将一个大的文件通过压缩算法 (Lempel-Ziv coding (LZ77))变成一个小的文件。gzip命令不能直接压缩目录,因此目录需要先用tar打包成一个文件,然后tar再调用gzip进行压缩。

【语法格式】

gzip [option] [file]
gzip   [选项] [文件]

【选项说明】

参数选项解释说明
-d解开压缩文件
-v显示指令执行的过程
-l列出压缩文件的内容信息
-c将内容输出到标准输出,不改变原始文件
-r对目录下的所有文件递归进行压缩操作
-n (n这里代指数字,范围1~9)指定压缩率,默认为6,值越大压缩率越高
-t测试,检查压缩文件是否完整

2.2 使用范例

[root@localhost test]# ls
1.txt  2.txt  3.html  4.html
[root@localhost test]# gzip *.txt
[root@localhost test]# ls
1.txt.gz  2.txt.gz  3.html  4.html
# ".gz"后缀是gzip命令自动添加的。
# gzip命令的缺点是压缩后源文件不见了,它的特性是压缩、解压都会自动删除源文件。# 不解压显示每个压缩文件的信息。使用-l参数
# 压缩率为0是因为,源文件为空文件。
[root@localhost test]# gzip -l *.txt.gz compressed        uncompressed  ratio uncompressed_name26                   0   0.0% 1.txt26                   0   0.0% 2.txt122               16429  99.4% 5.txt174               16429  99.1% (totals)# 实际解压文件
[root@localhost test]# gzip -dv *.txt.gz 
1.txt.gz:         0.0% -- replaced with 1.txt
2.txt.gz:         0.0% -- replaced with 2.txt
5.txt.gz:        99.4% -- replaced with 5.txt
# -d 解压缩;-v 显示过程
[root@localhost test]# ls
1.txt  2.txt  3.html  4.html  5.txt
# 查看解压后的结果,gz文件不存在了,只剩下txt文件。

3. zip 打包和压缩文件

3.1 命令详解

【功能说明】

zip压缩格式是 Windows 与 Linux等多平台通用的压缩格式。和gzip命令相比,zip命令压缩文件不仅不会删除源文件,而且还可以压缩目录。

【语法格式】

zip [option] [file]
zip   [选项] [文件或目录]

【选项说明】

参数选项解释说明
-r递归压缩,将指定目录下的所有文件和子目录一并压缩
-x压缩文件时排除某个文件
-q不显示压缩信息

3.2 使用范例

# 压缩文件1.txt和2.txt
[root@localhost test]# ls
1.txt  2.txt  3.html  4.html  5.txt
[root@localhost test]# zip 1-2.zip 1.txt 2.txt adding: 1.txt (stored 0%)adding: 2.txt (stored 0%)
[root@localhost test]# ls
1-2.zip  1.txt  2.txt  3.html  4.html  5.txt
# 源文件依然存在# 压缩目录
[root@localhost ~]# zip -r test.zip test/adding: test/ (stored 0%)adding: test/2.txt (stored 0%)adding: test/1.txt (stored 0%)adding: test/3.html (stored 0%)adding: test/1-2.zip (stored 0%)adding: test/5.txt (deflated 99%)adding: test/4.html (stored 0%)
[root@localhost ~]# ls
test  test.zip# 排除压缩,指定某些文件不进行压缩
[root@localhost ~]# zip -r test.zip test/ -x test/5.txt adding: test/ (stored 0%)adding: test/2.txt (stored 0%)adding: test/1.txt (stored 0%)adding: test/3.html (stored 0%)adding: test/1-2.zip (stored 0%)adding: test/4.html (stored 0%)

4. unzip 解压zip文件

4.1 命令详解

【功能说明】

unzip命令可以解压zip命令或其他压缩软件压缩的zip格式的文件。

【语法格式】

unzip [option] [fie]
unzip [选项] [压缩文件]

【选项说明】

参数选项解释说明
-l不解压显示压缩包内容
-d指定解压目录
-o解压时不提示是否覆盖文件
-v解压时显示详细信息

4.2 使用范例

# 查看压缩文件信息
[root@localhost ~]# ls
test  test.zip
[root@localhost ~]# unzip -l test.zip 
Archive:  test.zipLength      Date    Time    Name
---------  ---------- -----   ----0  01-04-2024 13:35   test/0  12-29-2023 12:55   test/2.txt0  12-29-2023 12:55   test/1.txt0  01-04-2024 11:17   test/3.html298  01-04-2024 13:35   test/1-2.zip0  01-04-2024 11:17   test/4.html
---------                     -------298                     6 files# 直接进行源路径解压,会提示是否覆盖源文件
[root@localhost ~]# unzip test.zip 
Archive:  test.zip
replace test/2.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: yextracting: test/2.txt              
......           
replace test/4.html? [y]es, [n]o, [A]ll, [N]one, [r]ename: yextracting: test/4.html             
[root@localhost ~]# ls
test  test.zip# 解压时不进行提示是否覆盖
[root@localhost ~]# unzip -o test.zip 
Archive:  test.zipextracting: test/2.txt              extracting: test/1.txt              extracting: test/3.html             extracting: test/1-2.zip            extracting: test/4.html # 指定解压目录解压文件
[root@localhost ~]# unzip -d test/ test.zip 
Archive:  test.zipcreating: test/test/extracting: test/test/2.txt         extracting: test/test/1.txt         extracting: test/test/3.html        extracting: test/test/1-2.zip       extracting: test/test/4.html
[root@localhost ~]# tree
.
├── test
│   ├── 1-2.zip
│   ├── 1.txt
│   ├── 2.txt
│   ├── 3.html
│   ├── 4.html
│   ├── 5.txt
│   └── test
│       ├── 1-2.zip
│       ├── 1.txt
│       ├── 2.txt
│       ├── 3.html
│       └── 4.html
└── test.zip

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/50943.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

KEEP_HIERARCHY

KEEP_HIERACHY指示工具保留用户层次结构,以便优化不会 跨越其边界。虽然这有助于布局规划、分析和调试,但它 会抑制优化,导致更大、更慢的设计。 建议:为了避免这些负面影响,请注册一个模块实例的所有输出,…

使用【Easypoi】实现百万数据导出

本文使用easypoi实现百万级数据导出 文章目录 前言一、一般情况下导出二、解决思路三、实现步骤导入依赖重写方法调用实现 结束 前言 下文实现了通过easypoi实现将百万级数据导出 一、一般情况下导出 一般导出流程(简单导出): 创建对应的…

智能制造的规划之路线部分

作为新建FAB厂的智能制造负责人,实现智能制造是一个系统工程,需要从战略规划到具体实施的各个层面进行考虑。以下是初稿。。。 1. |明确目标和需求|: - 确定智能制造的目标,比如提高生产效率、降低成本、提升产品质量等。 …

数据库安全综合治理方案(54页PPT)附下载

方案介绍: 数据库安全综合治理方案是一个综合性的策略,旨在确保数据库系统的完整性、保密性和可用性,防止未经授权的访问、数据泄露、篡改及滥用。该方案涉及多个层面,包括访问控制、数据加密、审计与监控、备份与恢复、以及安全…

Dreambooth on Stable Diffusion

Dreambooth on Stable Diffusion 1.DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation 2.[论文简析]DreamBooth: Fine Tuning Text-to-Image Diffusion Models…[2208.12242] 3.sd_dreambooth_extension 4.stable-dreambooth 对3-5张特定…

17.5【C语言】static的补充说明

static &#xff08;静态的) 作用&#xff1a;修饰局部变量&#xff0c;修饰全局变量&#xff0c;修饰函数 对比两段代码 #include <stdio.h> void test() {int a 5;a;printf("%d ", a); } int main() {int i 0;for(i0; i<5; i){test();}return 0; } …

HarmonyOS 质量、测试、上架速浏

1.应用质量要求&#xff1a; 1. 应用体验质量建议: 功能数据完备 功能完备 数据完备 基础体验要求 基础约束 兼容性 稳定性 性能 功耗 安全…

IPython的Bash之舞:%%bash命令全解析

IPython的Bash之舞&#xff1a;%%bash命令全解析 IPython的%%bash魔术命令为Jupyter Notebook用户提供了一种在单元格中直接执行Bash脚本的能力。这个特性特别适用于需要在Notebook中运行系统命令或Bash特定功能的场景。本文将详细介绍如何在IPython中使用%%bash命令&#xff…

reduceByKey 函数详解

reduceByKey 函数详解 实现原理 reduceByKey 函数主要用于处理分布式数据集。它接收两个操作符作为参数&#xff1a; keySelector&#xff1a;这是一个映射函数&#xff0c;用于从输入元素中提取键。 valueReducer&#xff1a;这是另一个函数&#xff0c;用于将具有相同键的…

网格布局 HTML CSS grid layout demo

文章目录 页面效果代码 (HTML CSS)参考 页面效果 代码 (HTML CSS) <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…

高速传输新体验:探索最新USB-C移动硬盘盒的无限可能

在数字化时代&#xff0c;数据存储的重要性不言而喻&#xff0c;而硬盘盒作为连接外部硬盘与计算机的关键设备&#xff0c;其功能也在不断进化。近年来&#xff0c;随着技术的创新与发展&#xff0c;市场上出现了一种新型硬盘盒——它不仅能安全、高效地存储和传输数据&#xf…

安装VMware Workstation Pro

一、下载 通过百度网盘分享的文件&#xff1a;VMware-workstation-full-16.2.4-2008... 链接&#xff1a;https://pan.baidu.com/s/1mDnFhLQErBlpeX_KjsgtzA 提取码&#xff1a;0bw7 二、安装 &#xff08;1&#xff09;双击exe文件 &#xff08;2&#xff09;安装软件 &…

Docker搭建Flink

Docker搭建Flink环境的步骤&#xff1a; 1. 安装Docker 确保你的系统已经安装了Docker。如果没有安装&#xff0c;可以参考以下命令进行安装&#xff1a; # 对于Ubuntu系统 sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io # 对于CentOS系…

算法-bfs-八数码

题目一 解题思路 将每一串字符都想象成一个点&#xff0c;已知起点和终点,每一次更新相邻的节点&#xff0c;采用bfs得到到达终点的最短路径。 数据结构&#xff1a; unordered_map&#xff08;哈希表&#xff09;来存储每种字符串对应情况需要移动的次数。 queue(队列)存储…

刷题计划 day4 【双指针、快慢指针、环形链表】链表下

⚡刷题计划day4继续&#xff0c;可以点个免费的赞哦~ 下一期将会开启哈希表刷题专题&#xff0c;往期可看专栏&#xff0c;关注不迷路&#xff0c; 您的支持是我的最大动力&#x1f339;~ 目录 ⚡刷题计划day4继续&#xff0c;可以点个免费的赞哦~ 下一期将会开启哈希表刷题…

vuex学习day01-vuex简述、基于脚手架创建项目、基于脚手架创建项目

1、vuex简述 之所以采用vuex是因为当我们有多个公共状态的组件时&#xff0c;vue的简单性容易崩溃 &#xff08;1&#xff09;概念 Vuex 是Vue.js 应用程序的状态管理模式库。简单讲&#xff0c;vuex是vue的一个状态管理工具。 &#xff08;2&#xff09;作用 管理vue中的…

w30-python02-pytest入门

代码如下&#xff1a; import pytest class Test_Obj:"""测试类"""#用例级别前后置def setup(self):print(用例级别------的前置处理)def teardown(self):print("用例级别--------的后置处理")# 用例def test_case1(self):print(&quo…

自动驾驶-机器人-slam-定位面经和面试知识系列05之常考公式推导(02)

这个博客系列会分为C STL-面经、常考公式推导和SLAM面经面试题等三个系列进行更新&#xff0c;基本涵盖了自己秋招历程被问过的面试内容&#xff08;除了实习和学校项目相关的具体细节&#xff09;。在知乎和牛客&#xff08;牛客上某些文章上会附上内推码&#xff09;也会同步…

mfc100u.dll 文件缺失?两种方法快速修复丢失mfc100u.dll 文件难题

您的电脑是否遭遇了 mfc100u.dll 文件缺失的问题&#xff1f;这种情况通常由多种原因引起。在本文中&#xff0c;我们将介绍两种修复 mfc100u.dll 文件丢失问题的策略——一种是手动方法&#xff0c;另一种是自动修复的使用。我们将探讨如何有效地解决 mfc100u.dll 文件缺失的几…

Linux中基本目录介绍

/bin: bin是Binary的缩写, 这个目录存放着最基本的程序。/boot: 这里存放的是启动Linux时使用的一些核心文件&#xff0c;包括一些连接文件和映像文件。&#xff08;不要动&#xff09;/dev: dev是Device(设备)的缩写, 存放的是Linux的外部设备&#xff0c;在Linux中访问这些设…