压缩解压缩工具等

简介:

Linux中常有的压缩和解压缩工具

 压缩:以时间换空间的一种操作

 压缩的原理:标记和替换

 压缩比:压缩之前与压缩之后的文件的比值

 纯文本文档压缩比较大

 视频图像压缩比小

能够实现压缩功能的工具

 compress/uncompress: .Z扩展名

 gzip/gunzip:.gz扩展名

 bzip2/bunzip2:.bz2扩展名 

 xz/unxz:.xz扩展名  目前压缩比最高的工具

 zip/unzip:.zip扩展名

gzip:

 gzip, gunzip, zcat - compress or expand files

 -d:解压缩

 -#:以指定的的压缩比进行压缩 1-9  最高是9 默认是6

 -c:将压缩结果输出到标准输出,不会对原文件进行压缩

 gzip -c /PATH/TO/FILE > /PATH/TO/COMPRESS_FILE.gz 

bzip2  

 bzip2, bunzip2 - a block-sorting file compressor, v1.0.6

 bzcat - decompresses files to stdout

 -d:解压缩

 -#:指定压缩比 1-9  默认是6

 -k:保留源文件不删除创建新的压缩文件

xz:

xz, unxz, xzcat, - Compress or decompress .xz and .lzma files

 -d:解压缩

 -#: 指定压缩比

 -k:保留源文件不删除创建新的压缩文件

tar:归档程序

  磁带档案

  tar [OPTION...] [FILE].. 

 主选项:

  -c:创建档案文件

  -x:释放档案文件的内容

  -t:查看档案文件中包含的文件

  -u/-r:向档案文件中添加新的文件

 辅助选项:

  -f:指定档案文件的路径 必须放在文件前面

  -C:在释放档案文件中的内容时指定释放的路径

  -z:在创建档案文件时调用gzip进行压缩

  -j:在创建档案文件时调用bzip2进行压缩

  -J:在创建档案文件时调用xz进行压缩 (可能不支持)

  --exclude:在释放档案文件时,排除某个文件

  -k:在释放文件的时候,不会覆盖同名文件

两种特殊文件:

 设备文件:

  mknod 设备名称 主设备号 次设备号

 符号链接文件:

  路径

链接:就是访问一个文件的不同的路径;

 硬链接:数据块指针指向同一个数据块文件;不能跨文件系统创建硬链接;不能对目录文件建硬链接

 符号链接(软链接):用于存储被连接文件的路径的文件;可以跨文件系统创建,也可以对目录创建;但是每次都必须进行两组路径的查找;

ln

 ln [option..] 源文件(src_file) 链接文件(link_file)

 -s: 创建符号链接,省略该选项,即创建硬链接

 -v:显示连接创建的过程

 注意:创建符号链接时,如果想要保证该链接文件被复制或被移动到其他路径中依然可用,最好链接至被链接文件的绝对路径

版本管理:

 apache: 2.2 2.4

 将不同的版本的软件分别放置于不同的目录中,使用符号链接,将软件链接到一个统一路径,   

RAID:

 IDE:

 SCSI:

Redundant Array of Inexpensive Disks廉价磁盘冗余阵列

Redundant Array of independent Disks独立磁盘冗余阵列

RAID的功能:

 提高整个存储设备的IO效率:使多个磁盘实现并行读写;磁盘条带化,chunk

 提高耐用性: 依靠磁盘冗余实现; 即使磁盘发生故障或损坏也不会影响数据;

RAID实现方式:

 硬件实现:通过硬件RAId控制器或适配器将所需的磁盘组织成RAID,而后安装OS;

 BIOS程序设置RAID阵列

 软件模拟实现:利用操作系统通过系统调用方式来模拟RAID实现;性能低

RAID:

 IDE:

 SCSI:

Redundant Array of Inexpensive Disks廉价磁盘冗余阵列

Redundant Array of independent Disks独立磁盘冗余阵列

RAID的功能:

 提高整个存储设备的IO效率:使多个磁盘实现并行读写;磁盘条带化,chunk

 提高耐用性: 依靠磁盘冗余实现; 即使磁盘发生故障或损坏也不会影响数据;

RAID实现方式:

 硬件实现:通过硬件RAId控制器或适配器将所需的磁盘组织成RAID,而后安装OS;

 BIOS程序设置RAID阵列

 软件模拟实现:利用操作系统通过系统调用方式来模拟RAID实现;性能低

RAID的操作级别

 RAID0:提高IO性能,条带卷strip;至少两块磁盘,没有冗余容错能力;没有存储空间的浪费;要求每个磁盘必须提供相同大小的存储空间;

 RAID1:镜像卷 mirror;提供高可用性,需要两块磁盘;现将数据存入主盘,再将数据存入从盘;写入效率较低,略微提高读效率;磁盘空间整体利用率为50%;有冗余容错的能力

 RAID2:

 RAID4:具有容错能力的条带卷;多块磁盘进行异或运算,得到所谓的校验值,并且使用专门的一块磁盘存放校验值,即使有一块磁盘损坏,也不会丢失数据;校验盘IO压力巨大,很容易形成性能瓶颈;

 RAID5:多块磁盘进行循环冗余校验,将校验值随机分配到不同的磁盘条带中;读写IO性能均明显提升,又不会出现性能瓶颈;磁盘利用率=(n-1)/n*100% ;冗余容错能力,至少需要3块磁盘;

 RAID6:多块磁盘进行两轮循环冗余校验,将校验值随机分配到两个不同的磁盘条带中;读写IO性能均明显提升,又不会出现性能瓶颈;最多允许两块磁盘出现损坏或发生故障依然保证数据可用;代价就是增加了计算校验值的时间;

RAID混合级别

 RAID01:先做RAID0,在做RAID1

 RAID10:先做RAID1,在做RAID0

 RAID50:先做RAID5,在做RAID0

 RAID7:可以理解为一个存储计算机,自带操作系统以及相应的管理工具,可以独立运行

 JBOD:Just a Bunch of Disks,仅仅就是一组磁盘;将多块磁盘的存储空间连接到一起,顺序存放数据;

在centos上可以实现软RAID:

 内核提供一个md的模块(multi disks,multi devices)

 用户空间需要mdadm的工具来设置和修改md内核模块的参数;

mdadm: 模式化工具

  mdadm [mode] <raiddevice> [option...] <component device>

   模式包括:

    创建模式:-C

     -n #:使用#块磁盘来创建RAID

     -l #:指示RAID级别

     -a {yes|no}: 允许或不允许系统自动创建md设备文件

     -c chunk-size:默认512k 必须是2的n次方 指定chunk大小

     -x #:指定在阵列中空闲磁盘的数量

    装配模式:-A

    根据/etc/mdadm.conf指示的RAID进行装配

    管理模式:-a添加硬件设备 -r删除 -f标记失效

    杂项:-D --scan显示RAID的详细信息  mdadm -D --scan > /etc/mdadm.conf

    该配置文件用于RAID设备的再次装配

     -S停止RAID设备

     -G增长模式加新磁盘

 cat /proc/mdstat 查看模拟化

 dd:转换和拷贝文件

LVM2

 Logical Volume Manager 逻辑卷管理器 Version 2

 IBM

 使用纯软件的方式组织一个或多个底层的块设备,将他们重新定义为一个逻辑块设备的解决方案

 利用内核中的dm模块实现;

 dm:device mapper 设备映射表

 dm模块可以将一个或多个底层块设备组织成一个逻辑块设备;

 用户空间中的相应命令向dm模块发出系统调用,就可以完成后逻辑块设备的管理

 逻辑块设备统一的存放在/dev/dm-#(数字)

使用dm机制实现LVM管理的步骤

 1.创建并标识物理卷,PV

 注意:如果用来创建吴丽娟的设备式普同分区,一定要将分区的iD是8e

 2.基于PV创建卷组,逻辑块设备,创建卷组的同时指定PE的大小

 注意:一旦PE大小被指定,就不允许更改

 3. 在已经创建的卷组中创建逻辑卷,

 4.在逻辑卷中创建文件系统(高级格式化)

 5.挂载

物理卷的管理操作

 pvcreate:创建物理卷

 pvdisplay:显示物理卷的详细信息

 pvs:显示物理卷的简单信息

 pvremove:删除物理卷

 pvmove:将某个物理卷中的所有的PE移动到其他物理卷中

卷组的管理操作

 vgcreate:创建卷组

  -s#{kKmMgG}:指定PE大小,省略默认PE式4M

 vgremove:删除卷组

 vgextend:扩展卷组容量,将新的PV添加到卷组中  

 vgreduce:缩减卷组容量,将PV从卷组中移除,在做此次操作之前,应该先使用pvmove,保证被移除的pv上没有被占用的PE

 vgdisplay:显示卷组的详细信息

 vgs:显示卷组的简单信息

逻辑卷的管理操作

 lvcr

 eate:创建逻辑卷

  -L LV_SIZE(#(KkMmGg)): 指定逻辑卷的大小,不能超过卷组的容量

  -l #%{FREE|VG|ORIGIN|PVS}: 指定逻辑卷占用对应存储单元的百分比

  -n 指定逻辑卷的名称

  -i #: 在创建逻辑卷的时候以条带的方式创建,并指明这个逻辑卷上有#个条带

  -I #:在创建逻辑卷的时候,以条带的方式创建,并指明chunk的大小

 lvremove:移除逻辑卷

 lvdisplay:显示逻辑卷的详细信息

 lvs:显示逻辑卷的剑短信息

 lvchange:修改LV的状态

  -ay:激活逻辑卷

  -an:停用逻辑卷

 lvextend:扩展逻辑卷的空间,一定要先扩展逻辑卷的物理边界,在扩展逻辑卷的逻辑边界

 使用ext系列文件系统的时候,resize2fs命令扩展逻辑边界

 lvreduce:缩短逻辑卷的空间

  先缩减逻辑边界,在缩小物理边界

  使用ext系列文件系统的时候,resize2fs命令缩减逻辑边界

为了方便的使用逻辑卷,为/dev/dm-#设备创建了两个符号链接文件:

 /dev/mapper/vg_name-lv_name --> ../dm-#

 /dev/vg_name/lv_name --> ../dm-#

逻辑卷的快照:

 快照,本身也是一种逻辑卷;目标逻辑卷的另外一个访问路径;

 lvcreat -s -p r -L 50G -n mylv_snopshot /dev/myvg/mylv




      本文转自Vincent一马 51CTO博客,原文链接:http://blog.51cto.com/mazhenbo/1923094,如需转载请自行联系原作者



目录
打赏
0
0
0
0
348
分享
相关文章
运筹优化工具库介绍(一)
运筹优化问题有时候极其复杂,我们可以使用运筹优化工具库帮助数学建模,解决复杂的最优化问题,本文介绍几个常见的运筹优化工具库。
1479 0
相比游戏客户端,游戏服务端开发无关紧要吗
感觉游戏服务端,除了更新,保存数据啊、生成随机物品啊、都没什么了,好像游戏开发场景中,服务端已经无关紧要了。看着客户端忙成狗,正在摸鱼的你是否也有过这样的疑问?
727 0
相比游戏客户端,游戏服务端开发无关紧要吗
|
19天前
|
基于 Python 哈希表算法的局域网网络监控工具:实现高效数据管理的核心技术
在当下数字化办公的环境中,局域网网络监控工具已成为保障企业网络安全、确保其高效运行的核心手段。此类工具通过对网络数据的收集、分析与管理,赋予企业实时洞察网络活动的能力。而在其运行机制背后,数据结构与算法发挥着关键作用。本文聚焦于 PHP 语言中的哈希表算法,深入探究其在局域网网络监控工具中的应用方式及所具备的优势。
54 7
Uppy:告别传统上传!这款开源工具如何让文件传输效率提升300%?🐶
**Uppy** 是由 Transloadit 团队开发的模块化、高扩展性的 JavaScript 文件上传库,支持断点续传、云存储直传、图片编辑等高级功能。它无缝集成 React、Vue 等框架,兼容移动端,被 Instagram、知乎等企业采用。Uppy 采用“核心+插件”架构,代码轻量且功能强大,适合电商、在线教育等多种场景。项目开源免费,GitHub 获得数万星标,提供丰富的插件生态和跨平台支持。
129 4
|
6月前
|
TDengine 检测数据最佳压缩算法工具,助你一键找出最优压缩方案
在使用 TDengine 存储时序数据时,压缩数据以节省磁盘空间是至关重要的。TDengine 支持用户根据自身数据特性灵活指定压缩算法,从而实现更高效的存储。然而,如何选择最合适的压缩算法,才能最大限度地降低存储开销?为了解决这一问题,我们特别推出了一个实用工具,帮助用户快速判断并选择最适合其数据特征的压缩算法。
137 0
函数计算驱动多媒体文件处理:高效、稳定与成本优化实践
本次测评的解决方案《告别资源瓶颈,函数计算驱动多媒体文件处理》展示了如何利用阿里云函数计算高效处理多媒体文件。文档结构清晰、内容详实,适合新客户参考。方案提供了一键部署与手动部署两种方式,前者简便快捷,后者灵活性高但步骤较多。通过部署,用户可体验到基于函数计算的文件处理服务,显著提升处理效率和系统稳定性。此外,测评还对比了应用内处理文件与函数计算处理文件的不同,突出了函数计算在资源管理和成本控制方面的优势。
22760 20
构建高效安卓应用:内存优化实战指南
【4月更文挑战第11天】 在移动开发领域,尤其是安卓平台,内存管理是决定应用性能和用户体验的关键因素之一。本文将深入探讨安卓应用内存优化的策略与实践,从内存分配的基本机制到实际的代码级优化技巧,旨在帮助开发者构建更加高效、稳定且响应迅速的应用程序。通过分析内存泄漏的成因、内存抖动的影响以及合理的内存回收策略,我们展示了如何系统性地解决内存问题,确保应用在各种设备上均能保持最佳性能。
鲲鹏系列一: DevKit代码迁移工具技术要点总结
处理器所支持的指令集不同,意味着开发者可能需要对代码进行跨平台的迁移。通常,代码迁移是件复杂又繁琐的工作,需要花费开发者大量精力对软件包、源代码、依赖库文件进行人工分析、检查和识别,手动修正不同指令集之间的相关差异,这些差异主要涉及语法、指令、函数和库文件支持情况。
613 0
鲲鹏系列一: DevKit代码迁移工具技术要点总结
Windows系统增强优化工具
计算机系统优化的作用很多,它可以清理WINDOWS临时文件夹中的临时文件,释放硬盘空间;可以清理注册表里的垃圾文件,减少系统错误的产生;它还能加快开机速度,阻止一些程序开机自动执行;还可以加快上网和关机速度;可以用它把系统个性化。今天为大家带来的是Windows电脑系统上不错的增强优化软件,哪个更好用呢,来对比一下。
Windows系统增强优化工具
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等