Linux文件压缩与归档

简介:

一、压缩和解压缩工具
    一般压缩的对象的是:ascii文件
    压缩比:压缩前后的size比例
        含义:把相同的内容,进行替换为简单的字符//很多压缩算法
        目的:时间换空间{CPU时间}
        
    compress/uncompress  , .Z 后缀
    gzip/gunzip        , .gz
    bzip2/bunzip2  , .bz2
    xz/unxz  ,  .xz
    zip/unzip
    tar,cpio
    
    1.gzip/gunzip/zcat
        gzip a//会删除原有文件
        gunzip a.gz //会删除压缩文件
        zcat a.gz //自动临时解压,并查看,文件太大的话,建议不要使用zcat,因为要占用大量的内存
        
        -d :解压缩,相当于gunzip
        -# :指定压缩比,数字越大,压缩比越大,默认是6(1-9)
            gzip -9 aa 
        -c :输出到屏幕,并保留源文件
            gzip -c aa > aa.gz 
    2.bzip2/bunzip2/bzcat
        bzip2 a //会删除源文件
        -d a.bz2 //解压缩
        -# //指定压缩比(1-9),默认是6
        -k //keep 保留源文件
            bzip2 -k a //自动保存源文件
    3.xz/unxz/xzcat{.xz} ,lzma/unlzma/lzcat{.lzma}
        -d 解压缩
        -# 指定 压缩级别默认6,1-9
        -k 保留源文件
        
    //上述都支持压缩文件,不支持压缩目录
二、归档工具:tar,cpio
    tar [OPTION] ... FILE ...
        -c 创建归档
            -f 指定文件路径和名字
            cf a.tar a
        -x 展开归档
            tar xf a.tar -C /tmp/test //指定其他路径
        -t 查看归档文件的文件列表
            tar -tf a.tar 
        -r //apend 添加新的文件到tar文件
            tar -r test/messages log.tar
    cpio //3种模式
        cpio-out:从标准输入获得文件名列表 (一行一个)。默认把归档包写到标准输出,因此一般重定向到 一个文件中
        copy-in模式中, cpio 从归档包里读取文件, 或者列出归档包里的内容。它从标准输入读入归档包
        copy-pass模式中, cpio把文件从一棵目录树复制到另一棵, 它结合了 copy-in 和 copy-out 的操作, 但不使用归档包。
        缺省情况下,cpio从标准输入读取输入数据,向标准输出写入输出数据。
        
        -o或--create:执行copy-out模式,建立备份档
        -c:使用旧ASCII备份格式;
        -v:verbose
        -B:将输入/输出的区块大小改成5210Bytes;
        -i或--extract:执行copy-in模式,还原备份档;
        -d或--make-directories:如有需要cpio会自行建立目录;
        -t或--list:将输入的内容呈现出来;
        
        
        将/etc下的所有普通文件都备份到/opt/etc.cpio,使用以下命令: 
        find /etc –type f | cpio –ocvB >/opt/etc.cpio 
        cpio –icduv 《 /opt/etc.cpio  //有时可能因为备份的文件过多,一个屏幕无法显示完毕,此时我们利用下面命令,让磁带机的文件信息输出到文件。    
        将系统上所有资料备份到磁带机内,使用以下命令: 
        find / -print | cpio -covB > /dev/st0 这里的/dev/st0是磁带的设备名,代表SCSI磁带机。 
        查看上例磁带机上备份的文件,使用以下命令: 
        cpio -icdvt 《 /dev/st0 > /tmp/st_content
        
三、结合使用:
    -z ;gzip2
        zcf a.tar.gz file ...
        xf a.tar.gz  //展开的时候可以自动识别压缩格式
    -j :bzip2
        -jcf
        -jxf
    -J :xz
        -Jcf
        -Jxf
        
四、zip/unzip 

    通用压缩工具,但是性能一般
    本身既能归档,也能压缩
    zip test.zip /test/
    unzip test.zip












本文转自MT_IT51CTO博客,原文链接:http://blog.51cto.com/hmtk520/1950148,如需转载请自行联系原作者

相关文章
|
9天前
|
监控 Linux Perl
【专栏】Linux 命令小技巧:显示文件指定行的内容
【4月更文挑战第28天】本文介绍了Linux中显示文件指定行内容的方法,包括使用`head`和`tail`命令显示文件头尾部分,利用`sed`的行号指定功能以及`awk`处理文本数据。文章还列举了在代码审查、日志分析和文本处理中的应用场景,并提醒注意文件编码、行号准确性及命令组合使用。通过练习和实践,可以提升Linux文本文件处理的效率。
|
1天前
|
Linux
Linux 文件查找
Linux 文件查找
|
1天前
|
运维 NoSQL Linux
linux环境收集core文件步骤
请注意,生成core文件可能会占用磁盘空间,因此应谨慎使用。一旦完成故障排查,建议将相关的core文件删除以释放磁盘空间。
12 4
|
4天前
|
Linux 开发工具 Perl
|
6天前
|
Linux
Linux文件误删恢复
请注意,成功恢复误删文件的机会取决于多个因素,包括文件被删除后经过的时间、磁盘的使用情况以及您采取的操作。因此,尽可能快速采取行动,并避免在误删文件所在的磁盘上写入新数据,以提高恢复成功的可能性。
10 0
|
7天前
|
存储 监控 Linux
|
7天前
|
安全 Linux
【亮剑】如何在Linux使用 chattr 命令更改文件或目录的扩展属性?
【4月更文挑战第30天】`chattr`是Linux中用于管理文件和目录扩展属性的命令,影响文件系统处理方式。常用属性包括:`a`(追加)、`i`(不可变)、`s`(安全删除)和`S`(同步更新)。通过`chattr [选项] <模式> <文件或目录>`设置属性,如`chattr +i <文件名>`使文件不可变,`-i`移除不可变属性。`lsattr`用于查看属性。注意,只有root用户有权更改属性,不是所有文件系统都支持所有属性,且更改关键文件属性前应备份。`chattr`有助于提升系统安全性和数据保护。
|
7天前
|
Linux 开发者
【亮剑】Linux 中的文件锁定命令:flock、fcntl、lockfile、flockfile
【4月更文挑战第30天】本文介绍了Linux系统中的四种文件锁定机制:flock、fcntl、lockfile和flockfile,用于多进程环境下协调共享资源访问,防止数据损坏和竞争条件。flock适合脚本,fcntl提供底层灵活性,lockfile用于管理锁定文件,flockfile则结合两者功能。选择锁定策略时需考虑应用场景,如脚本可选flock,复杂需求则用fcntl。理解并正确使用这些工具对保证系统稳定性和数据一致性至关重要。
|
7天前
|
存储 算法 Linux
【Linux】文件打包解压_tar_zip
【Linux】文件打包解压_tar_zip
16 0
【Linux】文件打包解压_tar_zip
|
7天前
|
Linux 开发者
【Linux】:文件查看 stat、cat、more、less、head、tail、uniq、wc
【Linux】:文件查看 stat、cat、more、less、head、tail、uniq、wc
19 1