Linux文件压缩与解压缩

news2024/11/15 6:45:25

在Linux中,tar实用程序是用于创建、管理和提取存档的常用命令。

tar实用程序的常用选项

执行tar操作需要以下tar命令操作之一:

  1. -c ,--create :创建存档文件(即压缩文件)。
  2. -t,--list:列出存档的内容。
  3. -x,--extract:提取存档。(解压缩操作)

通常包括以下常用的tar命令选项:

  1. -v,--verbose:显示在tar操作期间存档或提取的文件。
  2. -f,--file:在此选项后面加上要创建或打开的存档文件名。
  3. -p:提取时保留原始文件的文件权限。

以下tar命令压缩选项用于选择算法:

  1. -a:使用存档的后缀来确定要使用的算法。
  2. -z,--gzip:使用gzip压缩算法,这会生成.tar.gz后缀。
  3. -j,--bzip2:使用bzip2压缩算法,这会生成.tar.bz2后缀。
  4. -J,--xz:使用xz算法,这会生成.tar.xz后缀。

tar -cf archive.tar foo bar #这个命令的作用是将目录或文件 foo 和 bar 归档到一个名为 archive.tar 的 tar 文件中。

[root@localhost ~]# touch file.cfg project.txt
[root@localhost ~]# tar -cf archive.tar file.cfg file.cfg 
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

使用tar -xf命令可以提取存档的内容;

使用tar命令p选项可保留提取的文件的原始存档权限。

tar命令支持包括如下在内的多种压缩方式:

  1. gzip压缩是传统的、最快的方法,可以跨平台使用。

创建压缩存档:

[root@localhost ~]# cp /etc/*.conf /tmp/
[root@localhost ~]# tar -czf /opt/tmpbackup.tar.gz /tmp/*.conf
[root@localhost ~]# ll -lh /opt/tmpbackup.tar.gz
-rw-r--r--. 1 root root 36K Jul 12 19:07 /opt/tmpbackup.tar.gz
[root@localhost ~]# file /opt/tmpbackup.tar.gz
/opt/tmpbackup.tar.gz: gzip compressed data, from Unix, original size modulo 2^32 133120
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
[root@localhost ~]# tar -xzf /opt/tmpbackup.tar.gz -C /tmp/  #提取格式为gzip的存档
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

  1. bzip2压缩可创建较小的存档,但使用不如gzip广泛。

创建压缩存档:

[root@localhost ~]# tar -cjf /opt/tmpbackup.tar.bz2 /tmp/*.conf
[root@localhost ~]# ll -lh /opt/
total 72K
-rw-r--r--. 1 root root 33K Jul 12 19:09 tmpbackup.tar.bz2
-rw-r--r--. 1 root root 36K Jul 12 19:07 tmpbackup.tar.gz    
[root@localhost ~]# file /opt/tmpbackup.tar.bz2 
/opt/tmpbackup.tar.bz2: bzip2 compressed data, block size = 900k
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
[root@localhost ~]# tar -xjf /opt/tmpbackup.tar.bz2 -C /tmp/
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
  1. xz压缩是更新的技术,提供的压缩率在可用方法中最好。

创建压缩存档:

[root@localhost ~]# tar -cJf /opt/tmpbackup.tar.xz /tmp/*.conf
[root@localhost ~]# ll -lh /opt/
total 108K
-rw-r--r--. 1 root root 33K Jul 12 19:09 tmpbackup.tar.bz2
-rw-r--r--. 1 root root 36K Jul 12 19:07 tmpbackup.tar.gz 
-rw-r--r--. 1 root root 33K Jul 12 19:10 tmpbackup.tar.xz 
[root@localhost ~]# file /opt/tmpbackup.tar.xz 
/opt/tmpbackup.tar.xz: XZ compressed data
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

提取压缩存档的内容:

[root@localhost ~]# tar -xJf /opt/tmpbackup.tar.xz -C /tmp/

gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。

[root@localhost tmp]# touch file.txt
[root@localhost tmp]# gzip file.txt 
[root@localhost tmp]# ll
total 4
-rw-r--r--. 1 root root 29 Jul 13 20:03 file.txt.gz

gunzip 是个使用广泛的解压缩程序,它用于解开被 gzip 压缩过的文件,这些压缩文件预设最后的扩展名为 .gz。

[root@localhost tmp]# gunzip file.txt.gz 
[root@localhost tmp]# ls
file.txt

zip 是个使用广泛的压缩程序,压缩后的文件后缀名为 .zip。

[root@localhost tmp]# touch file{a..j}.txt
[root@localhost tmp]# zip files.zip file{a..j}.txt
  adding: filea.txt (stored 0%)
  adding: fileb.txt (stored 0%)
  adding: filec.txt (stored 0%)
  adding: filed.txt (stored 0%)
  adding: filee.txt (stored 0%)
  adding: filef.txt (stored 0%)
  adding: fileg.txt (stored 0%)
  adding: fileh.txt (stored 0%)
  adding: filei.txt (stored 0%)
  adding: filej.txt (stored 0%)
[root@localhost tmp]# ls
filea.txt  filec.txt  filee.txt  fileg.txt  filei.txt  files.zip
fileb.txt  filed.txt  filef.txt  fileh.txt  filej.txt

unzip为.zip压缩文件的解压缩程序。

[root@localhost tmp]# unzip files.zip 

Linux bzip2命令是.bz2文件的压缩程序。

Linux bunzip2命令是.bz2文件的解压缩程序。

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

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

相关文章

0708,LINUX目录相关操作 + LINUX全导图

主要是冷气太足感冒了,加上少吃药抗药性差,全天昏迷,学傻了学傻了 01:简介 02: VIM编辑器 04:目录 05:文件 03:常用命令 06:进程 07:进程间的通信 cat t_c…

数据结构(4.1)——串的存储结构

串的顺序存储 串(String)的顺序存储是指使用一段连续的存储单元来存储字符串中的字符。 计算串的长度 静态存储(定长顺序存储) #define MAXLEN 255//预定义最大串为255typedef struct {char ch[MAXLEN];//每个分量存储一个字符int length;//串的实际长…

接口安全配置

问题点: 有员工在工位在某个接口下链接一个集线器,从而扩展上网接口,这种行为在某些公司是被禁止的,那么网络管理员如何控制呢?可以配置接口安全来限制链接的数量,切被加入安全的mac地址不会老化&#xff…

开源模型应用落地-工具使用篇-Spring AI-Function Call(八)

​​​​​​​一、前言 通过“开源模型应用落地-工具使用篇-Spring AI(七)-CSDN博客”文章的学习,已经掌握了如何通过Spring AI集成OpenAI和Ollama系列的模型,现在将通过进一步的学习,让Spring AI集成大语言模型更高阶…

Linux的世界 -- 初次接触和一些常见的基本指令

一、Linux的介绍和准备 1、简单介绍下Linux的发展史 1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组(comp.os.minix)中宣布他编制出了一种类似UNIX的小操作系统,叫Linux。新的操作系统是受到另一个UNIX的…

【Python】爬虫实战01:获取豆瓣Top250电影信息

本文中我们将通过一个小练习的方式利用urllib和bs4来实操获取豆瓣 Top250 的电影信息,但在实际动手之前,我们需要先了解一些关于Http 请求和响应以及请求头作用的一些知识。 1. Http 请求与响应 HTTP(超文本传输协议)是互联网上…

C#创建windows服务程序

步骤 1: 创建Windows服务项目 打开Visual Studio。选择“创建新项目”。在项目类型中搜索“Windows Service”并选择一个C#模板(如“Windows Service (.NET Framework)”),点击下一步。输入项目名称、位置和其他选项,然后点击“创…

C++ | Leetcode C++题解之第232题用栈实现队列

题目&#xff1a; 题解&#xff1a; class MyQueue { private:stack<int> inStack, outStack;void in2out() {while (!inStack.empty()) {outStack.push(inStack.top());inStack.pop();}}public:MyQueue() {}void push(int x) {inStack.push(x);}int pop() {if (outStac…

秋招突击——7/9——MySQL索引的使用

文章目录 引言正文B站网课索引基础创建索引如何在一个表中查看索引为字符串建立索引全文索引复合索引复合索引中的排序问题索引失效的情况使用索引进行排序覆盖索引维护索引 数据库基础——文档资料学习整理创建索引删除索引创建唯一索引索引提示复合索引聚集索引索引基数字符串…

网络安全——防御课实验二

在实验一的基础上&#xff0c;完成7-11题 拓扑图 7、办公区设备可以通过电信链路和移动链路上网(多对多的NAT&#xff0c;并且需要保留一个公网IP不能用来转换) 首先&#xff0c;按照之前的操作&#xff0c;创建新的安全区&#xff08;电信和移动&#xff09;分别表示两个外网…

基础小波降噪方法(Python)

主要内容包括&#xff1a; Stationary wavelet Transform (translation invariant) Haar wavelet Hard thresholding of detail coefficients Universal threshold High-pass filtering by zero-ing approximation coefficients from a 5-level decomposition of a 16Khz …

win10系统更新后无法休眠待机或者唤醒,解决方法如下

是否使用鼠标唤醒 是否使用鼠标唤醒 是否使用键盘唤醒

【Java开发实训】day03——方法的注意事项

目录 一、方法的基本概念 二、void和return关键字 三、单一返回点原则 四、static方法使用说明 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo__✍️原创&#xff0c;首发于…

《Windows API每日一练》9.25 系统菜单

/*------------------------------------------------------------------------ 060 WIN32 API 每日一练 第60个例子POORMENU.C&#xff1a;使用系统菜单 GetSystemMenu函数 AppendMenu函数 (c) www.bcdaren.com 编程达人 -------------------------------------------…

Java02--基础概念

一、注释 注释是在程序指定位置添加的说明性信息 简单理解&#xff0c;就是对代码的一种解释 1.单行注释 格式: //注释信息 2.多行注释 格式: /*注释信息*/ 3.文档注释 格式: /**注释信息*/ 注释使用的细节: 注释内容不会参与编译和运…

九盾安防丨如何判断叉车是否超速?

在现代物流和生产流程中&#xff0c;叉车是提高效率和降低成本的关键工具。然而&#xff0c;叉车的高速行驶也带来了安全隐患&#xff0c;这就要求我们对其进行严格的安全管理。九盾安防&#xff0c;作为业界领先的安防专家&#xff0c;今天就为大家揭晓如何判断叉车是否超速&a…

OpenCV距离变换函数distanceTransform的使用

操作系统&#xff1a;ubuntu22.04OpenCV版本&#xff1a;OpenCV4.9IDE:Visual Studio Code编程语言&#xff1a;C11 功能描述 distanceTransform是OpenCV库中的一个非常有用的函数&#xff0c;主要用于计算图像中每个像素到最近的背景&#xff08;通常是非零像素到零像素&…

VMware_centos8安装

目录 VMware Workstation Pro的安装 安装centos VMware Workstation Pro的安装 正版VMware 17百度网盘下载链接 (含秘钥) 链接&#xff1a;https://pan.baidu.com/s/16zB-7IAACM_1hwR1nsk12g?pwd1111 提取码&#xff1a;1111 第一次运行会要求输入秘钥 秘钥在上边的百度网盘…

【Leetcode】最小数字游戏

你有一个下标从 0 开始、长度为 偶数 的整数数组 nums &#xff0c;同时还有一个空数组 arr 。Alice 和 Bob 决定玩一个游戏&#xff0c;游戏中每一轮 Alice 和 Bob 都会各自执行一次操作。游戏规则如下&#xff1a; 每一轮&#xff0c;Alice 先从 nums 中移除一个 最小 元素&…

docker安装nginx并配置https

参考 docker安装nginx并配置https-腾讯云开发者社区-腾讯云 (tencent.com) 证书的生成 参见&#xff1a;SpringBoot项目配置HTTPS接口的安全访问&#xff08;openssl配置&#xff09;_配置接口访问-CSDN博客 步骤 1: 拉取Nginx镜像 docker pull nginx 好使的镜像如下&#x…