【linux】(17)压缩和解压
tar
tar
是一个用于创建、维护、修改和解压缩存档文件的 Linux 命令。tar
常常用于备份文件或者将多个文件打包成一个文件以便于传输或存储。以下是 tar
命令的详细教程,包括常用选项和示例:
基本语法
tar [选项] [文件或目录]
常用选项
-c
:创建一个新的存档。-x
:从存档中提取文件。-t
:列出存档中的文件。-v
:显示操作过程(verbose),通常与其他选项配合使用以显示详细信息。-f
:指定存档文件的名称。在使用时,-f
后面紧跟目标 tar 文件名。-z
:使用 gzip 压缩或解压缩文件(扩展名通常为.tar.gz
或.tgz
)。-j
:使用 bzip2 压缩或解压缩文件(扩展名通常为.tar.bz2
或.tbz
)。-J
:使用 xz 压缩或解压缩文件(扩展名通常为.tar.xz
)。-C
:改变到指定目录。例如,从存档中提取时,将文件解压到指定目录。
常见用法
-
创建 tar 存档
将目录
dir/
打包为archive.tar
:tar -cvf archive.tar dir/
-
创建压缩存档
使用 gzip 压缩:
tar -cvzf archive.tar.gz dir/
使用 bzip2 压缩:
tar -cvjf archive.tar.bz2 dir/
使用 xz 压缩:
tar -cvJf archive.tar.xz dir/
-
提取(解压缩)tar 存档
从
archive.tar
中提取文件:tar -xvf archive.tar
从压缩过的存档中提取文件:
tar -xvzf archive.tar.gz # gzip 压缩 tar -xvjf archive.tar.bz2 # bzip2 压缩 tar -xvJf archive.tar.xz # xz 压缩
-
列出存档内容
查看存档
archive.tar
中包含的文件:tar -tvf archive.tar
-
解压缩到指定目录
将存档解压缩到
target-directory/
:tar -xvf archive.tar -C target-directory/
-
附加文件到现有存档
将
file.txt
添加到archive.tar
:tar -rvf archive.tar file.txt
注意事项
- 使用
-f
选项时,tar
要求目标文件名紧跟在选项后面。 tar
的压缩和解压缩选项-z
,-j
, 和-J
不能混合使用,每次操作要确定只采用一种压缩方式。
了解这些基本用法后,你就能有效地使用 tar
命令来管理 Linux 环境中的文件存档。如果需要进一步学习,可以查看 tar
的手册页,命令如下:
man tar
gzip
gzip
和 gunzip
是 Unix 和 Linux 系统中常用的命令行工具,用于文件压缩和解压缩。gzip
用于压缩文件,而 gunzip
用于解压缩。它们通常与其他工具(如 tar
)结合使用以管理压缩存档。
gzip和gunzip
gzip
是用于将文件压缩为 .gz
格式的工具。压缩后的文件通常比原始文件小,因此可以节省存储空间或加快传输速度。
基本语法
gzip [选项] [文件名]
常用选项
-c
:将输出发送到标准输出(stdout),而不是覆写原始文件。-d
:解压缩文件。这与使用gunzip
的效果相同。-k
:在压缩时保留原文件。-r
:递归压缩目录中的所有文件。-v
:显示详细的压缩信息。-1
至-9
:指定压缩级别。-1
为最快(最低压缩),-9
为最慢(最高压缩)。默认使用-6
。
示例
-
压缩文件
将
file.txt
压缩为file.txt.gz
:gzip file.txt
-
压缩文件并保留原文件
使用
-k
选项保留原始文件:gzip -k file.txt
-
将输出发送到标准输出
压缩
file.txt
并输出到标准输出,而不创建.gz
文件:gzip -c file.txt > file.txt.gz
-
递归压缩目录中的文件
压缩
dir/
目录中的所有文件:gzip -r dir/
-
指定压缩级别
使用最高压缩级别(可能较慢):
gzip -9 file.txt
gunzip
gunzip
通常与 gzip
配合使用,用于解压缩 .gz
文件。
基本语法
gunzip [选项] [压缩文件名]
常用选项
-c
:将解压缩输出发送到标准输出,而不覆写原文件。-k
:在解压缩时保留压缩文件。-v
:显示详细的解压缩信息。
示例
-
解压缩文件
将
file.txt.gz
解压缩为file.txt
:gunzip file.txt.gz
-
解压缩并将输出发送到标准输出
将解压缩的内容输出到标准输出:
gunzip -c file.txt.gz > file.txt
-
保留压缩文件
解压缩时保留原始压缩文件:
gunzip -k file.txt.gz
结合使用 tar
压缩和解压缩目录通常结合 tar
和 gzip
使用。创建 .tar.gz
文件的命令为:
tar -cvzf archive.tar.gz directory/
解压 .tar.gz
文件:
tar -xvzf archive.tar.gz
通过掌握以上命令和选项,你可以灵活地使用 gzip
和 gunzip
来压缩和解压缩文件,从而更有效地管理系统中的文件和目录。对于更多详细信息,可以访问手册页:
man gzip
man gunzip
ZIP
在 Linux 中,zip
是一个常用的压缩工具,用于将文件和目录压缩成 .zip
格式的压缩包。
安装 zip
在大多数 Linux 发行版中,zip
工具可能已经预安装。如果没有,你可以使用包管理器进行安装:
- 对于基于 Debian 的系统(如 Ubuntu):
sudo apt update sudo apt install zip
- 对于基于 Red Hat 的系统(如 CentOS):
sudo yum install zip
- 对于基于 Arch 的系统(如 Manjaro):
sudo pacman -S zip
基本用法
- 压缩文件 将单个文件压缩成
.zip
文件:
zip archive_name.zip file1
这里 archive_name.zip
是压缩文件的名称,file1
是要压缩的文件。
- 压缩多个文件 同时将多个文件压缩到同一个
.zip
文件中:
zip archive_name.zip file1 file2 file3
- 压缩目录 使用
-r
(递归)选项来压缩整个目录及其子目录:
zip -r archive_name.zip directory_name/
高级用法
- 排除特定文件 使用
-x
选项来排除不想压缩的文件或目录:
zip -r archive_name.zip directory_name/ -x file_to_exclude
- 分卷压缩 如果需要将压缩文件分成多个较小的部分,可以使用
-s
选项来指定每个分卷的大小。例如,将压缩文件分成 50MB 的部分:
zip -r -s 50m archive_name.zip directory_name/
- 设置压缩等级 使用
-0
到-9
的选项来设置压缩等级,其中-0
表示存储(无压缩),-9
表示最大压缩:
zip -r -9 archive_name.zip directory_name/
- 使用密码保护 使用
-e
选项来为压缩文件设置密码保护:
zip -e archive_name.zip file1
命令执行后,系统会提示你输入密码。
解压缩
要解压缩 .zip
文件,可以使用 unzip
命令。如果尚未安装 unzip
,可以使用与安装 zip
相同的方法进行安装。
- 解压缩
.zip
文件到当前目录:
unzip archive_name.zip
- 解压缩
.zip
文件到指定目录:
unzip archive_name.zip -d destination_directory
相关文章:
【linux】(17)压缩和解压
tar tar 是一个用于创建、维护、修改和解压缩存档文件的 Linux 命令。tar 常常用于备份文件或者将多个文件打包成一个文件以便于传输或存储。以下是 tar 命令的详细教程,包括常用选项和示例: 基本语法 tar [选项] [文件或目录]常用选项 -c࿱…...

摄像机视频分析软件下载LiteAIServer视频智能分析平台玩手机打电话检测算法技术的实现
随着科技的不断进步,摄像机视频分析软件的发展已经为我们的生活带来了许多便捷。其中,LiteAIServer视频智能分析平台的玩手机打电话检测算法技术尤为突出,它利用先进的图像处理和人工智能技术,能够自动识别并监控视频中的玩手机或…...

springboot购物推荐网站的设计与实现(代码+数据库+LW)
摘要 随着信息互联网购物的飞速发展,一般企业都去创建属于自己的电商平台以及购物管理系统。本文介绍了东大每日推购物推荐网站的开发全过程。通过分析企业对于东大每日推购物推荐网站的需求,创建了一个计算机管理东大每日推购物推荐网站的方案。文章介…...

【Unity3D插件】Unity3D HDRP Outline高亮发光轮廓描边插件教程
推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群:398291828小红书小破站 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 最近用Unity3D的HDRP(高清渲染管…...

QT基础 UI编辑器 QT5.12.3环境 C++环境
一、UI编辑器 注意:创建工程时,要勾上界面按钮 UI设计师界面的模块 UI编辑器会在项目构建目录中自动生成一个ui_xxx.h(构建一次才能生成代码),来表示ui编辑器界面的代码,属于自动生成的,一定不…...

计算机网络socket编程(5)_TCP网络编程实现echo_server
个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 计算机网络socket编程(5)_TCP网络编程实现echo_server 收录于专栏【计算机网络】 本专栏旨在分享学习计算机网络的一点学习笔记,欢迎大家在评论区交…...

go语言闭包捕获的是变量的引用而不是变量的值
在 Go 语言中,闭包捕获的是变量的引用,而不是变量的值。这意味着闭包会引用循环变量或外部变量的实际内存位置,而不是在闭包创建时复制变量的值。这种行为有时会导致意外的结果,尤其是在循环中创建多个闭包时。 闭包捕获变量的引…...

周期法频率计的设计
目录 周期法频率计 分析: 设计过程: 周期法频率计 对于低频信号,应用周期法进行测频。周期法测频的基本原理是:应用标准频率信号统计被测信号两个相邻脉冲之间的脉冲数,然后通过脉冲数计算出被测信号的周期ÿ…...
【Linux】drop cache与reclaim的区别
前言 在 Linux 内核中,drop cache和reclaim是两种不同的内存管理机制,它们的目的和实现方式有所不同。 Drop Cache 定义 drop cache 是一种手动操作,允许用户通过向 /proc/sys/vm/drop_caches 写入特定的值,直接清除系统中的缓…...

【Linux课程学习】:命令行参数,环境变量
🎁个人主页:我们的五年 🔍系列专栏:Linux课程学习 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 命令行参数: 用命令行参数实现不同…...

HTB:WifineticTwo[WriteUP]
目录 连接至HTB服务器并启动靶机 信息搜集 使用rustscan对靶机TCP端口进行开放扫描 使用nmap对靶机开放端口进行脚本、服务扫描 使用curl访问靶机8080端口 使用浏览器直接访问/login路径 漏洞利用 使用searchsploit搜索该WebAPP漏洞 Payload USER_FLAG:bb…...

mac安装Pytest、Allure、brew
安装环境 安装pytest 命令 pip3 install pytest 安装allure 命令:brew install allure 好吧 那我们在安装allure之前 我们先安装brew 安装brew 去了官网复制了命令 还是无法下载 如果你们也和我一样可以用这个方法哦 使用国内的代码仓库来执行brew的安装脚本…...

关于相机选型的一些参数说明
上一篇:关于相机的一些参数计算(靶面、视野等) 目录 1.卷帘快门和全局快门1.1 卷帘快门1.2 全局快门PS:视觉伺服与快门选择 2.黑白和彩色3.CCD和CMOS3.1 CCD3.2 CMOSCCD VS CMOS 4.面阵和线扫4.1 面阵4.2 线扫4.3 面阵 VS 线扫 5.…...
深入解析 Cron 表达式高级用法:Spring 与 Linux Crontab 的全面对比与实践20241120
深入解析 Cron 表达式高级用法:Spring 与 Linux Crontab 的全面对比与实践 任务调度是后台服务中的重要组成部分,无论是定期数据备份、日志归档还是周期性报表生成,Cron 表达式始终是描述这些任务规则的核心工具。本文将聚焦 Spring Cron 表…...
24软专 数据结构
1、A[n],k,将数组向右循环移动k位。要求时间复杂度O(n),空间O(1)。 思路:采用三次反转数组的操作,可以实现时间复杂度为O(n),空间复杂度为O(1)的算法。 void moveElem(int array[],int k,int length){//a…...

洛谷 P1616 疯狂的采药 C语言 记忆化搜索
题目: https://www.luogu.com.cn/problem/P1616?contestId215526 完全背包问题,最后一个超出空间了。完全背包和就是无限次的拿,公式跟01背包差不多。 但是,只有当前能拿和拿不下,换下一个。注意要处理好边界条件。…...

#渗透测试#红蓝攻防#HW#SRC漏洞挖掘01之静态页面渗透
免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停…...
element-plus入门教程:Button
一、Button组件概述 Element Plus的Button组件是一个常用的操作按钮,提供了多种类型、尺寸、状态等配置选项,以满足不同的交互需求。 二、安装Element Plus 在Vue 3项目中,可以通过npm或yarn来安装Element Plus。 npm install element-pl…...

oneplus6线刷、trwp、magisk(apatch)、LSPosed、Shamiko、Hide My Applist
oneplus6线刷android10.0.1 oneplus6线刷包(官方android10.0.1)下载、线刷教程: OnePlus6-brick-enchilada_22_K_52_210716_repack-HOS-10_0_11-zip 启用开发者模式 设置 / 连续点击6次版本号 : 启用开发者模式设置/开发者模式/{打开 usb调试, 打开 网络adb调试,…...

flux的版本
1.flux1-dev.safetensors https://huggingface.co/black-forest-labs/FLUX.1-devhttps://huggingface.co/black-forest-labs/FLUX.1-dev原生的23.8G的模型。原生12B的模型,float16的。需要配合ae.safetensors,flux1-dev.safetensors以及clip-l和T5的权重使用,注意ae.sft和f…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...

Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...