LinuxBasicsForHackers笔记 -- 压缩和归档

压缩分为有损或无损。有损压缩对于减小文件大小非常有效,但会丢失信息的完整性。换句话说,压缩后的文件与原始文件并不完全相同。 这种类型的压缩非常适合图形、视频和音频文件,文件中的微小差异几乎不会被注意到。

本章重点介绍这种无损压缩类型,许多实用程序和算法都可以提供这种压缩类型。 不幸的是,正如您想象的那样,无损压缩不如有损压缩那么有效,但有时,完整性往往比压缩比重要得多。

将文件打包在一起

通常,压缩文件时要做的第一件事是将它们组合成存档。在大多数情况下,归档文件时,您将使用 tar 命令。Tar 代表磁带存档,指的是系统使用磁带存储数据的史前计算时代。 tar 命令从多个文件创建一个文件,该文件称为存档、tar 文件或 tarball。

您可以使用下面的命令将多个文件组合起来创建一个存档文件:tar -cvf <文件名.tar> 文件1 文件2 文件3

c 选项表示创建,v(代表详细且可选)列出 tar 正在处理的文件,f 表示写入以下文件。

我们可以通过使用带有 -t 内容列表开关的 tar 命令来显示 tarball 中的这些文件,而无需提取它们,如下所示:tar -tvf <文件名>.tar

您可以使用带有 -x(extract)开关的 tar 命令从 tarball 中提取这些文件,如下所示:tar -xvf <文件名>.tar

如果您想提取文件并“静默”执行,即不显示任何输出,您可以简单地删除 -v(verbose)开关,如下所示:tar -xf <文件名>.tar

请注意,默认情况下,如果提取的文件已存在,tar 将删除现有文件并将其替换为提取的文件。

压缩文件

现在我们有一个存档文件,但该文件比原始文件的总和还要大。 如果您想压缩这些文件以便于传输怎么办?Linux 有几个能够创建压缩文件的命令。 我们将看看这些:

  • gzip, which uses the extension .tar.gz or .tgz
  • bzip2, which uses the extension .tar.bz2
  • compress, which uses the extension .tar.z

这些都能够压缩我们的文件,但是它们使用不同的压缩算法并且具有不同的压缩率。一般来说,compress 速度最快,但生成的文件较大; bzip2 最慢,但生成的文件最小; gzip 介于两者之间。

gzip压缩

gzip <文件名>.tar – 对文件进行压缩。
gunzip <文件名>.* – 使用gunzip 命令(GNU unzip 的缩写)解压缩文件。

bzip2压缩

bzip2 <文件名>.tar – 对文件进行压缩。
bunzip2 <文件名>.* – 解压缩文件。

compress压缩

compress <文件名>.tar – 对文件进行压缩。
uncompress <文件名>.* – 解压缩文件。

创建存储设备的逐位或物理副本

dd 命令会逐位复制文件、文件系统甚至整个硬盘驱动器。 这意味着即使已删除的文件也会被复制(是的,重要的是要知道已删除的文件可能是可恢复的),从而可以轻松发现和恢复。大多数逻辑复制实用程序(例如 cp)不会复制已删除的文件。

需要注意的是,dd 命令不应用于典型的日常文件和存储设备复制,因为它非常慢; 其他命令可以更快、更有效地完成工作。 不过,当您需要一份没有文件系统或其他逻辑结构的存储设备副本时(例如在取证调查中),它非常有用。

dd 命令的基本语法如下:dd if=inputfile of=outputfile

因此,如果您想制作闪存驱动器的物理副本,假设闪存驱动器是 sdb,您将输入以下内容:dd if=/dev/sdb of=/root/flashcopy

有许多选项可与 dd 命令一起使用,您可以对这些选项进行一些研究,但最有用的是 noerror 选项和 bs(block size)选项。 顾名思义,noerror 选项即使遇到错误也会继续复制。 bs 选项允许您确定要复制的数据的块大小(每个块读取/写入的字节数)。默认情况下,它设置为 512 字节,但可以更改它以加快进程。例如: dd if=/dev/media of=/root/flashcopy bs=4096 conv:noerror

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

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

相关文章

解读Stable Video Diffusion:详细解读视频生成任务中的数据清理技术

Diffusion Models视频生成-博客汇总 前言:Stable Video Diffusion已经开源一周多了,技术报告《Stable Video Diffusion: Scaling Latent Video Diffusion Models to Large Datasets》对数据清洗的部分描述非常详细,虽然没有开源源代码,但是博主正在尝试复现其中的操作。这篇…

医学影像PACS信息化数字平台源码

PACS系统对医院影像科意义重大&#xff0c;将业务量巨大的影像检验流程依托于信息化技术&#xff0c;对于进行信息化建设的医院而言&#xff0c;是十分必要的。 PACS系统源码&#xff0c;集成三维影像后处理功能&#xff0c;包括三维多平面重建、三维容积重建、三维表面重建、三…

包装类, 泛型---java

目录 一. 包装类 1.1 基本数据类型和对应的包装类 1.2 装箱和拆箱 二. 泛型 2.1什么是泛型 2.2泛型的引入 2.3 泛型类语法 2.4 泛型类的使用 2.5 裸类型(Raw Type)(了解) 2.6 泛型是如何编译的 2.7 泛型的上界 2.8 泛型方法 一. 包装类 在 Java 中&#xff0c;由于基本…

uniapp实战 —— 竖排多级分类展示

效果预览 完整范例代码 页面 src\pages\category\category.vue <script setup lang"ts"> import { getCategoryTopAPI } from /apis/category import type { CategoryTopItem } from /types/category import { onLoad } from dcloudio/uni-app import { compu…

vue指令

v-text 更新元素的 textContent。如果要更新部分的 textContent&#xff0c;需要使用 {{ Mustache }} 插值。 <span v-text"msg"></span> <!-- 和下面的一样 --> <span>{{msg}}</span>v-html 更新元素的 innerHTML。注意&#xff1a;内…

基于高通MSM8953平台android9.0的GPIO驱动开发

2.1、注册设备&#xff1a; 2.1.1、添加编译选项&#xff1a; 1&#xff09;、修改kernel/msm-4.9/drivers/leds下Makefile文件&#xff1a; obj-$(CONFIG_LED_GPIO) led_gpio.o 2&#xff09;、修改kernel/msm-4.9/drivers/leds下Kconfig文件&#xff1a; config LED_GPIO…

Java实现归并排序算法

归并排序算法 &#xff08;1&#xff09;基本思想&#xff1a;归并&#xff08;Merge&#xff09;排序法是将两个&#xff08;或两个以上&#xff09;有序表合并成一个新的有序表&#xff0c;即把待排序序列分为若干个子序列&#xff0c;每个子序列是有序的。然后再把有序子序…

蛋白质序列FeatureDict转化为TensorDict

主要转化语句为 tensor_dict {k: tf.constant(v) for k, v in np_example.items() if k in features_metadata}。 增加了特征名称的选择&#xff0c;不同特征维度&#xff0c;特征数的判断等。 from typing import Dict, Tuple, Sequence, Union, Mapping, Optional #import …

postgresql_conf中常用配置项

在 PostgreSQL 的 postgresql.conf 配置文件中&#xff0c;有许多常用的配置项&#xff0c;这些配置项可以根据特定需求和性能优化进行调整。以下是一些常用的配置项及其作用&#xff1a; 1. shared_buffers 用于设置 PostgreSQL 实例使用的共享内存缓冲区大小。增加此值可以…

游戏被攻击该怎么办?游戏盾该如何使用,游戏盾如何防护攻击

随着Internet互联网络带宽的增加和多种DDOS黑客工具的不断发布&#xff0c;DDOS拒绝服务攻击的实施越来越容易&#xff0c;DDOS攻击事件正在成上升趋势。出于商业竞争、打击报复和网络敲诈等多种因素&#xff0c;导致很多商业站点、游戏服务器、聊天网络等网络服务商长期以来一…

Nacos 配置加密功能也太鸡肋了吧,有种更好的方式

大家好&#xff0c;我是风筝&#xff0c;微信搜「古时的风筝」&#xff0c;更多干货 当项目中用了 Nacos 做配置中心&#xff0c;是不是所有的配置都放到里面呢&#xff0c;大部分时候为了省事和统一&#xff0c;系统所有的配置都直接放在里面了&#xff0c;有时候&#xff0c…

什么是自动化测试框架?常用的自动化测试框架有哪些?

无论是在自动化测试实践&#xff0c;还是日常交流中&#xff0c;经常听到一个词&#xff1a;框架。之前学习自动化测试的过程中&#xff0c;一直对“框架”这个词知其然不知其所以然。 最近看了很多自动化相关的资料&#xff0c;加上自己的一些实践&#xff0c;算是对“框架”…

Redis相关知识

yum安装redis 使用以下命令&#xff1a;直接将redis安装到Linux服务器&#xff08;Xshell&#xff09;中 yum -y install redis 启动redis 使用以下命令&#xff0c;以后台运行方式启动redis redis-server /etc/redis.conf & 操作redis 使用以下命令启动redis客户端 redis-…

RFID在新能源工厂大放异彩

RFID在新能源工厂大放异彩 我国在十四五规划中提出了建设绿色低碳发展的目标&#xff0c;新能源产业成为了国家发展的重点领域之一&#xff0c;开始大力支持各种新能源厂商发展。各个厂商之间不仅比产品、比技术。也比生产想要降本增效&#xff0c;为了实现这一目标&#xff0…

MBD Introduction

介绍 MATLAB是MathWorks公司的商业数学软件&#xff0c;应用于科学计算、可视化以及交互式程序设计等高科技计算环境。Simulink是MATLAB中的一种可视化仿真工具。 Simulink是一个模块图环境&#xff0c;用于多域仿真以及基于模型的设计。它支持系统设计、仿真、自动代码生成以…

Spring基于xml半注解开发

目录 Component的使用 依赖注解的使用 非自定义Bean的注解开发 Component的使用 基本Bean注解&#xff0c;主要是使用注解的方式替代原有的xml的<bean>标签及其标签属性的配置&#xff0c;使用Component注解替代<bean>标签中的id以及class属性&#xff0c;而对…

算法Day26 数位统计

数位统计 Description 给你一个整数n&#xff0c;统计并返回各位数字都不同的数字x的个数&#xff0c;其中0 ≤ x < 10^n。 Input 输入整数n 0≤n≤13 Output 输出整数个数 Sample 代码 import java.util.Scanner;public class Main {public static void main(String[] ar…

一个Oracle Application Container的实例

本例基本涵盖了Oracle Multitenant功能中application container的以下内容&#xff1a; 创建application container/root创建application PDB创建application SEED在application root中安装application在application root中升级application同步application 整个过程如下 创建…

Epoll服务器(ET工作模式)

目录 Epoll ET服务器设计思路Connection类TcpServer类 回调函数Accepter函数Recever函数Sender函数Excepter函数 事件处理套接字相关接口封装运行Epoll服务器 Epoll ET服务器 设计思路 在epoll ET服务器中&#xff0c;我们需要处理如下几种事件&#xff1a; 读事件&#xff…

基于javeweb实现的图书借阅管理系统

一、系统架构 前端&#xff1a;jsp | js | css | jquery 后端&#xff1a;servlet | jdbc 环境&#xff1a;jdk1.7 | mysql | tocmat 二、代码及数据库 三、功能介绍 01. 登录页 02. 首页 03. 图书管理 04. 读者管理 05. 图书分类管理 06. 图书借阅信息 07. 图书归还信…