linux下常用压缩命令

2023-05-16

一、tar命令

tar命令用来打包一个目录,它支持三种格式:“.tar”、“.bz2"和”.gz"

1.1、压缩

tar -cvf [文件名].tar [文件目录] //打包成.tar文件
tar -jcvf [文件名].tar.bz2 [文件目录] //打包成.bz2文件
tar -zcvf [文件名].tar.gz [文件目录] //打包成.gz文件

1.2、解压缩

tar -xvf [文件名].tar //解压到当前文件
tar -xvf [文件名].tar -C [文件目录] //将.tar文件解压到指定目录
tar -jxvf [文件名].tar.bz2 -C [文件目录] //解压.bz2文件到指定目录
tar -zxvf [文件名].tar.gz -C [文件目录] //解压.gz文件到指定目录

1.3、常用选项

-c 建立新的压缩文件
-C 指定解压目录,该目录必须存在
-x 从压缩的文件中提取文件
-j 支持bzip2解压文件
-f 指定压缩文件
-v 显示操作过程
-z 支持gzip解压文件

1.2、tar生成三种文件大小对比

压缩类型压缩前压缩后
tar134M133M
gz134M51M
bz2134M47M

对比可以发现,tar格式只是将文件打包,并没有压缩。bz2的压缩率最高。

二、7z命令

2.1、文件压缩

  • 压缩单个文件或者文件夹
7z a -t7z test.7z file //将file压缩为test.7z

  • 将文件压缩到指定目录下
7z a -t7z ./test/test.7z file //将file压缩到当前目录的test目录下,压缩文件名为test.7z
  • 分卷压缩
7z a -t7z test2.7z  filename -v20m

-t7z指定压缩格式为7z,filename表示要压缩的文件,-v20m表示压缩后每个卷最大不能超过20MB

2.2、解压

  • 解压文件到当前目录
7z x filename.7z
  • 解压文件到指定目录,-o后面直接跟目录,不需要空格
7z x test.7z -r -o./test
  • 解压分卷压缩的文件
7z x filename.7z.001

解压分卷压缩的文件,只需要指定第一个压缩文件的名称即可

2.3、 常用选项

-a 添加文件/文件夹到压缩包
-t 指定压缩格式,如-t7z表示指定压缩格式为7z
-o 是指定解压到的目录
-r 递归所有的子文件夹,这个选项通常可以忽略
-x 解压文件

三、zip命令

3.1、压缩

  • 压缩单个文件
zip filename.zip file

将file压缩为filename.zip,file不能是目录

  • 压缩目录文件
zip -r filename.zip filedir

3.2、解压

unzip filename.zip -d filedir

将filename.zip解压到filedir目录,如果不指定-d filedir则解压到当前目录

四、rar命令

4.1、压缩

  • 将filedir压缩为filename.rar文件
rar a filename.rar filedir

4.2、解压

  • 将rar文件解压到指定的dir目录,如果不指定dir则解压到当前目录
rar x filename.rar dir

五、各种压缩格式对比

压缩格式源文件大小压缩后大小耗时
.tar134M133M0.361s
.bz2134M47M10.963s
.gz134M51M7.402s
.zip134M52M8.267s
.rar134M41M暂无
.7z134M26M55.903s
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux下常用压缩命令 的相关文章

  • 让 MongoDB 在 Linux 上监听远程连接

    我已在 Windows 本地计算机上 上成功安装 MongoDB 作为服务 但现在我想将 MongoDb 移动到单独的服务器 所以我将 tarball 解压到网络上的虚拟服务器 运行 Linux 当我从本地计算机使用 PuTTY 连接到服务
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • 并行运行 make 时出错

    考虑以下制作 all a b a echo a exit 1 b echo b start sleep 1 echo b end 当运行它时make j2我收到以下输出 echo a echo b start a exit 1 b star
  • 在 Linux 中禁用历史记录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 要在 Linux 环境中禁用历史记录 我执行了以下命令 export HISTFILESIZE 0 export HISTSIZE 0 u
  • 在Linux上编译C# + WPF以便在Windows上运行

    我有一个 C 应用程序 其中某些部分是使用 WPF 编写的 Mono 不支持 可以在 Linux 上编译这个应用程序吗 最终 该应用程序将在 Windows 上运行 但它是更大框架的一部分 并且我们的整个构建过程在 Linux 上运行 因此
  • 为什么我收到的数据包数据大小大于mss?

    我在两台 PC 上使用 ifconfig ethX mtu 300 修改了 MTU 并使用 netperf 测试网络 我用 WireShark 嗅探了 SYN 数据包中的 MSS 260 但我得到了一些大于 260 的数据包 为什么 嗅探器
  • 何时使用 pthread 条件变量?

    线程问题 看来 只有在其他线程调用 pthread cond notify 之前调用 pthread cond wait 时 条件变量才起作用 如果在等待之前发生通知 那么等待将被卡住 我的问题是 什么时候应该使用条件变量 调度程序可以抢占
  • Unix 命令列出包含字符串但*不*包含另一个字符串的文件

    如何递归查看包含一个字符串且不包含另一个字符串的文件列表 另外 我的意思是评估文件的文本 而不是文件名 结论 根据评论 我最终使用了 find name html exec grep lR base maps xargs grep L ba
  • bluetoothctl 到 hcitool 等效命令

    在 Linux 中 我曾经使用 hidd connect mmac 来连接 BT 设备 但自 Bluez5 以来 这种情况已经消失了 我可以使用 bluetoothctl 手动建立连接 但我需要从我的应用程序使用这些命令 并且使用 blue
  • 创建 jar 文件 - 保留文件权限

    我想知道如何创建一个保留其内容的文件权限的 jar 文件 我将源代码和可执行文件打包在一个 jar 文件中 该文件将在使用前提取 人们应该能够通过运行批处理 shell 脚本文件立即运行示例和演示 然后他们应该能够修改源代码并重新编译所有内
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • 跟踪 Linux 程序中活跃使用的内存

    我想跟踪各种程序在特定状态下接触了多少内存 例如 假设我有一个图形程序 最小化时 它可能会使用更少的内存 因为它不会重新绘制窗口 这需要读取图像和字体并执行大量库函数 这些对象仍然可以在内存中访问 但实际上并没有被使用 类似的工具top它们
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 如何禁用 GNOME 桌面屏幕锁定? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何阻止 GNOME 桌面在几分钟空闲时间后锁定屏幕 我已经尝试过官方手册了在红帽 https access redhat com doc
  • 如何在 shell 脚本中并行运行多个实例以提高时间效率[重复]

    这个问题在这里已经有答案了 我正在使用 shell 脚本 它读取 16000 行的输入文件 运行该脚本需要8个多小时 我需要减少它 所以我将其划分为 8 个实例并读取数据 其中我使用 for 循环迭代 8 个文件 并在其中使用 while
  • 大多数 Linux 系统头文件与 C++ 兼容吗?

    大多数 Linux 系统头文件 API C 兼容吗 今天我试图做这样的事情 include
  • 从 Python 调用 PARI/GP

    我想打电话PARI GP http pari math u bordeaux fr dochtml gpman html仅从Python计算函数nextprime n 对于不同的n是我定义的 不幸的是我无法得到帕里蟒蛇 http code
  • 使用 sed 更新 xml 属性(Windows + cygwin 和 Linux)?

    我需要使用 sed 命令对 xml 文件进行更新 但我在这方面遇到了麻烦 它需要在 Windows 使用 cygwin 和 Linux 上运行 XML 具有以下元素
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t

随机推荐

  • (二)PID控制的Anti-windup

    比例环节 xff1a 快速接近目标积分环节 xff1a 防止稳态误差微分环节 xff1a 减少振荡 被控对象可以分为两个部分 xff0c 分别是执行器 xff0c 用于产生力或者能量从而改变系统 xff0c 和处理 xff0c 比如说温控的
  • Socket的学习(一)什么是Socket?

    本文参考的是 Socket通信原理 https www cnblogs com wangcq p 3520400 html 一 TCP IP UDP是什么 xff1f TCP IP xff08 Transmission Control Pr
  • Socket的学习(二)AF_UNIX实现本地通信

    参考文章 xff1a 1 Unix Domain Socket IPC通信机制 2 How fast are Unix domain sockets 3 read 函数参数理解 一 Unix域的Socket通信及其优点 基于socket的框
  • 工程师笔记|在CMD窗口运行C语言

    cmd窗口大家可能都比较熟悉 xff0c 那如何在cmd窗口编译运行C语言程序呢 xff1f 其实很简单的 xff0c 只需要下载一个C C 43 43 编译器 xff0c 添加一下环境变量 xff0c 之后就能在cmd窗口中编译运行C语言
  • 推挽输出与开漏输出

    推挽输出 要理解推挽输出 xff0c 首先要理解好三极管 xff08 晶体管 xff09 的原理 下面这种三极管有三个端口 xff0c 分别是基极 xff08 Base xff09 集电极 xff08 Collector xff09 和发射
  • 固件、驱动、软件的区别

    不管我们使用什么操作系统 xff0c 无论是 Windows macOS xff0c 还是 Linux xff0c 里面都安装了许多软件 驱动程序和固件 但是 xff0c 这三者概念有什么区别 xff1f 转载微信公众号 xff1a 良许L
  • 51单片机与STM32的区别(为何51单片机IO引脚的驱动能力弱)

    1 51单片机的特性 51单片机之所以成为经典 xff0c 成为易上手的单片机主要有以下特点 xff1a 从内部的硬件到软件有一套完整的按位操作系统 xff0c 称作位处理器 xff0c 处理对象不是字或字节而是位 不但能对片内某些特殊功能
  • I2C—读写EEPROM

    1 I2C协议简介 I2C通讯协议 Inter xff0d IntegratedCircuit 是由Phiilps公司开发的 xff0c 由于它引脚少 xff0c 硬件实现简单 xff0c 可扩展性强 xff0c 不需要USART CAN等
  • SPI—读写串行FLASH

    1 SPI协议简介 SPI协议是由摩托罗拉公司提出的通讯协议 SerialPeripheralInterface xff0c 即串行外围设备接口 xff0c 是一种高速全双工的通信总线 它被广泛地使用在ADC LCD等设备与MCU间 xff
  • C语言中的关键字应用技巧(volatile、const、struct/union、_ _预定义_ _、#/##、void/void*、weak)

    嵌入式C开发关键字的应用技巧 1 volatile volatile修饰表示变量是易变的 xff0c 编译器中的优化器在用到这个变量时必须每次都小心地从内存中重新读取这个变量的值 xff0c 而不是使用保存在寄存器里的备份 xff0c 有效
  • 一文弄懂GPIO不同模式之间的区别与实现原理

    GPIO全称General Purpose Input Output xff0c 即通用输入 输出 其实GPIO的本质就是芯片的一个引脚 xff0c 通常在ARM中所有的I O都是通用的 不过 xff0c 由于每个开发板上都会设计不同的外围
  • printf()是如何与UART外设驱动函数“勾搭”起来的?

    今天给大家分享的是IAR下调试信息输出机制之硬件UART外设 在嵌入式世界里 xff0c 输出打印信息是一种非常常用的辅助调试手段 xff0c 借助打印信息 xff0c 我们可以比较容易地定位和分析程序问题 在嵌入式应用设计里实现打印信息输
  • 卡塔尔世界杯:带“芯片”的智能足球亮相!背后藏着哪些技术原理?

    2022年卡塔尔世界杯正式开幕 xff01 揭幕战上 xff0c 厄瓜多尔队以2 0的比分击败东道主卡塔尔队 xff0c 取得本届世界杯的首场胜利 本场比赛后 xff0c 世界杯东道主首战不败的纪录就此作古 xff0c 这一消息也引发足球圈
  • 串口通信详解

    一 串口通讯简介 串口通信 Serial Communications 的概念非常简单 xff0c 串口按位 bit 发送和接收字节 尽管比按字节 byte 的并行通信慢 xff0c 但是串口可以在使用一根线发送数据的同时用另一根线接收数据
  • C++类详解(public、private、protected)

    二 C 43 43 类的声明 类使用class关键字声明 xff0c 声明方法如下 xff1a class 类名 xff1a public 公有成员 int num private 私有成员 int age protected 保护成员 i
  • linux下网络通信(udp通信协议详解)

    一 udp通信简介 udp是User Datagram Protocol的简称 xff0c 中文名是用户数据报协议 udp协议位于osi模型中的传输层 xff0c 它是一种面向无连接的协议 udp协议并不保证数据一定能够到达对端 xff0c
  • 广播地址、组播地址、网关和子网掩码

    一 IP地址分类 IP地址一共32位 xff0c 由两部分组成 xff0c 网络号和主机号 网络号标识当前设备处于Internet的哪一个网络 xff0c 主机号标识当前设备属于该网络中的那一台主机 IP地址一共分为5类 xff1a 地址分
  • URL格式

    一 URL基本格式 一个完整的url包含方案 用户名 密码 主机名 端口 路径 参数 查询和片段 xff0c 格式如下 xff1a lt scheme gt lt user gt lt password gt 64 lt host gt l
  • c++构造函数和析构函数

    一 构造函数和析构函数的特点 构造函数和析构函数是一种特殊的公有成员函数 xff0c 每一个类都有一个默认的构造函数和析构函数 xff1b 构造函数在类定义时由系统自动调用 xff0c 析构函数在类被销毁时由系统自动调用 xff1b 构造函
  • linux下常用压缩命令

    一 tar命令 tar命令用来打包一个目录 xff0c 它支持三种格式 xff1a tar bz2 34 和 gz 34 1 1 压缩 tar cvf 文件名 tar 文件目录 打包成 tar文件 tar jcvf 文件名 tar bz2