ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux 文件目录压缩与解压命令

2021-12-30 18:36:30  阅读:112  来源: 互联网

标签:解压 文件目录 tar dev etc localhost Linux root bash


Linux 文件目录压缩与解压命令

compress压缩: compress是个历史悠久的压缩程序,文件经它压缩后,其名称后面会多出 ".Z" 的扩展名。

[root@localhost ~]# yum install -y ncompress
[root@localhost ~]# compress --help

命令语法:[ compress [选项] 文件或目录 ]

        -f              #强制覆盖掉目标文件
        -c              #将结果送到标准输出,无文件被改变
        -r              #递归的操作方式
        -b 数字         #压缩效率是一个介于9~16
        -d              #对文件进行解压缩而非压缩
        -v              #显示指令执行过程

通过使用compress -c命令压缩一个文件.

[root@localhost ~]# ls -lh
total 944K
-rwxr-xr-x. 1 root root 942K Sep 26  2017 bash

[root@localhost ~]# compress -c bash > bash.Z

[root@localhost ~]# ls -lh
total 1.6M
-rwxr-xr-x. 1 root root 942K Sep 26  2017 bash
-rw-r--r--. 1 root root 596K Nov 16 06:38 bash.Z

通过使用compress -d命令解压一个文件.

[root@localhost ~]# ls -lh
total 596K
-rw-r--r--. 1 root root 596K Nov 16 06:38 bash.Z

[root@localhost ~]# compress -d bash.Z

[root@localhost ~]# ls -lh
total 944K
-rw-r--r--. 1 root root 942K Nov 16 06:38 bash

zip压缩: zip命令压缩的拓展名.zip 各种系统都支持zip的压缩格式,所以在一定程度上,是可以通用的.

[root@localhost ~]# yum install -y zip unzip
[root@localhost ~]# zip --help

命令语法:[ zip/unzip [选项] 文件或目录 ]

        -r              #递归压缩,连同子目录一同压缩
        -S              #包含系统和隐藏文件
        -v              #显示指令执行过程
        -q              #不显示指令执行过程

通过使用zip -r -v 命令将/etc/目录全部内容压缩.

[root@localhost ~]# zip -r -v lyshark.zip /etc/

[root@localhost ~]# ls -lh
total 12M
-rw-r--r--. 1 root root 12M Nov 16 09:46 lyshark.zip

使用unzip -l命令查询一个压缩包中的文件.

[root@localhost ~]# unzip -l lyshark.zip

使用unzip -d命令将文件解压到指定目录.

[root@localhost ~]# unzip lyshark.zip -d /tmp/

[root@localhost ~]# ls -lh /tmp/
total 12K
drwxr-xr-x. 84 root root 8.0K Nov  6 11:02 etc

gzip压缩: gzip是Linux系统默认支持的压缩格式,其可以与tar命令结合使用,gzip对文本文件有60%~70%的压缩率。

[root@localhost ~]# gzip --help

命令语法:[ gzip/zcat [选项] 文件或目录 ]

        -a              #使用ASCII文字模式
        -d              #解开压缩文件
        -f              #强行压缩文件
        -l              #列出压缩文件的相关信息
        -n              #压缩时,不保存原来的文件名称及时间戳
        -N              #压缩时,保存原来的文件名称及时间戳
        -q              #不显示警告信息
        -r              #递归处理
        -v              #显示指令执行过程

通过使用gzip -rv命令压缩一个文件.

[root@localhost ~]# ls -lh
total 944K
-rwxr-xr-x. 1 root root 942K Sep 26  2017 bash

[root@localhost ~]# gzip -rv bash
bash:    51.2% -- replaced with bash.gz

[root@localhost ~]# ls -lh
total 460K
-rwxr-xr-x. 1 root root 460K Sep 26  2017 bash.gz

通过使用gzip -l/zcat -l命令查询一个文件.

[root@localhost ~]# gzip -l bash.gz

         compressed        uncompressed  ratio uncompressed_name
             470300              964544  51.2% bash

[root@localhost ~]# zcat -l bash.gz
         compressed        uncompressed  ratio uncompressed_name
             470300              964544  51.2% bash

通过使用gzip -dv / zcat命令解压一个文件.

[root@localhost ~]# ls -lh
total 460K
-rwxr-xr-x. 1 root root 460K Sep 26  2017 bash.gz

[root@localhost ~]# gzip -dv bash.gz
bash.gz:         51.2% -- replaced with bash

[root@localhost ~]# zcat -d bash.gz >bash_zcat

bzip2压缩: bzip2命令用于创建和管理,包括解压缩,使用这个命令必须要先安装,因为这个命令并没有集成安装.

[root@localhost ~]# yum install -y bzip2
[root@localhost ~]# bzip2 --hlep

命令语法:[ bzip2/bzcat [选项] 文件或目录 ]

        -c              #输出压缩解压过程
        -d              #执行解压缩
        -k              #解压后保留原始文件
        -v              #压缩或解压时详细输出
        -z              #强制执行压缩

通过使用bzip2 -kzv命令将bash文件压缩.

[root@localhost ~]# ls -lh
total 944K
-rwxr-xr-x. 1 root root 942K Sep 26  2017 bash

[root@localhost ~]# bzip2 -kzv bash
  bash:     2.164:1,  3.697 bits/byte, 53.79% saved, 964544 in, 445742 out.

通过使用bzip2 -kdv命令解压缩bash.bz2文件.

[root@localhost ~]# ls -lh
total 436K
-rwxr-xr-x. 1 root root 436K Sep 26  2017 bash.bz2

[root@localhost ~]# bzip2 -kdv bash.bz2
  bash.bz2: done

tar 归档并压缩: 该命令常常与gz,bz2等压缩命令结合使用。

[root@localhost ~]# tar --hlep

命令语法:[ tar [选项] 文件或目录 ]

        -c              #新建打包
        -t              #查看打包文件
        -x              #解压打包文件
        -j              #通过bz2进行压缩与解压
        -z              #通过gz进行压缩与解压
        -J              #通过xz进行压缩与解压
        -v              #显示压缩与解压过程
        -C              #指定解压到哪里

通过使用tar -czvf xzvf tvf命令压缩解压与查询.

[root@localhost ~]# tar -czvf lyshark.tar.gz /etc/*        #将/etc/*目录下的内容压缩成lyshark.tar.gz
[root@localhost ~]# tar -tvf lyshark.tar.gz                #查询包中的内容
[root@localhost ~]# tar -xzvf lyshark.tar.gz -C /etc/      #将压缩包,解压到/etc/目录下

通过使用tar -cjvf xjvf tvf命令压缩解压与查询.

[root@localhost ~]# tar -cjvf lyshark.tar.bz2 /etc/*        #将/etc/*目录下的内容压缩成lyshark.tar.bz2
[root@localhost ~]# tar -tvf lyshark.tar.bz2                #查询包中的内容
[root@localhost ~]# tar -xjvf lyshark.tar.bz2 -C /etc/      #将压缩包,解压到/etc/目录下

通过使用tar -cJvf xJvf tvf命令压缩解压与查询.

[root@localhost ~]# tar -cJvf lyshark.tar.xz /etc/*         #将/etc/*目录下的内容压缩成lyshark.tar.xz
[root@localhost ~]# tar -tvf lyshark.tar.xz                 #查询包中的内容
[root@localhost ~]# tar -xJvf lyshark.tar.xz -C /etc/       #将压缩包,解压到/etc/目录下

cpio块级压缩: cpio用来建立或者还原备份的工具程序,cpio命令可以备份任何东西包括设备文件。

[root@localhost ~]# cpio --help

压缩语法:[ cpio –cvBo > [文件|设备] ]

        -c              #使用portable format存储方式
        -v              #显示过程
        -B              #设定输入输出块为512bytes
        -o              #进入copy-out模式(压缩)

查看语法:[ cpio –ivct < [cpio文件] ]

        -i              #将数据从文件复制到系统中
        -c              #使用portable format存储方式
        -t              #查看CPIO压缩包内容

还原语法:[ cpio –idvcu < [cpio文件] ]

        -i              #进入copy-in模式(解压)
        -d              #恢复到指定位置(视压缩方式恢复)
        -v              #显示过程
        -c              #使用portable format存储方式
        -u              #替换所有文件,无提示

使用cpio -cvBo命令,来备份/etc/目录

[root@localhost ~]# find /etc/ -print | cpio -cvBo > /root/etc.cpio

[root@localhost ~]# ls -lh
total 109M
-rw-r--r--. 1 root root 109M Nov 16 10:50 etc.cpio

使用cpio -cvBo命令,将/etc/目录下的内容备份到/sdb磁盘

[root@localhost ~]# find /etc/ -print | cpio -cvBo > /dev/vdb

使用cpio -ivct命令查询,压缩包内容

[root@localhost ~]# ls -lh
total 109M
-rw-r--r--. 1 root root 109M Nov 16 10:50 etc.cpio

[root@localhost ~]# cpio -ivct < etc.cpio

使用cpio -idvcu还原文件到/etc/目录

[root@localhost ~]# ls -lh
total 109M
-rw-r--r--. 1 root root 109M Nov 16 10:50 etc.cpio

[root@localhost ~]# cpio -idvcu < /root/etc.cpio

制作ISO镜像: mkisofs命令用来将指定的目录与文件做成ISO 9660格式的映像文件。

[root@localhost ~]# mkisofs --help

命令语法:[ mkisofs [选项] 文件或目录 ]

        -o              #后面接镜像名
        -r              #连同文件属性一起记录
        -v              #显示构建过程
        -m              #排除指定文件
        -V              #新建volume

通过mkisofs制作一个镜像将/etc目录制作成lyshark.iso.

[root@localhost ~]# mkisofs -r -v -o /root/lyshark.iso /etc/

[root@localhost ~]# ls -lh
total 123M
-rw-r--r--. 1 root root 123M Nov 16 11:14 lyshark.iso

磁盘测速与拷贝: dd命令用于磁盘测速与备份,该命令很底层所以可以完成很多备份工具无法完成的功能。

[root@localhost ~]# dd --help

备份语法:[ dd [if=源文件] [of=输出] [count=计数] ]

        if=文件名        #输入文件名
        of=文件名        #输出文件名
        bs=bytes        #读入计数
        count=blocks    #仅拷贝blocks个块
        /dev/zero       #是字符设备会不断返回0值字节
        /dev/null       #空设备,相当于一个垃圾桶

通过使用dd进行磁盘测速,测磁盘读写速度(可分别测试1024,2048,4096,8192)

[root@localhost ~]# dd if=/dev/zero of=/dev/null bs=1024 count=10000
10000+0 records in
10000+0 records out
10240000 bytes (10 MB) copied, 0.00852247 s, 1.2 GB/s

通过使用dd进行磁盘常规备份

#将本地的 /dev/sda 整盘备份到 /dev/hdd
[root@localhost ~]# dd if=/dev/sda /of=/dev/hdd

#将 /dev/sda 全盘数据备份成指定路径的image文件
[root@localhost ~]# dd if=/dev/sda of=/tmp/image

#将image备份文件恢复到指定盘/dev/sdb
[root@localhost ~]# dd if=/tmp/image of=/dev/sdb

#备份 /dev/sda 全盘数据,并利用gzip工具进行压缩,保存到/tmp/image.gz
[root@localhost ~]# dd if=/dev/sda | gzip > /tmp/image.gz

#恢复,将压缩的备份文件 /tmp/image.gz ,恢复到制定盘 /dev/sdb
[root@localhost ~]# gizp -dc /tmp/image.gz | dd of=/dev/sdb

通过使用dd命令备份磁盘MBR,与恢复分区MBR.

#备份MBR,备份磁盘 /dev/sda 开始的512个字节大小的MBR信息到指定文件/tmp/mbr512
#其中:count=1 指仅拷贝一个块;bs=512 指块大小为512个字节
[root@localhost ~]# dd if=/dev/sda of=/tmp/mbr512 count=1 bs=512
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.00015245 s, 3.4 MB/s

#恢复MBR,将备份 /tmp/mbr512 的MBR信息写到磁盘开始部分 /dev/sda
[root@localhost ~]# dd if=/tmp/mbr512 of=/dev/sda
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.000201242 s, 2.5 MB/s

通过使用dd命令拷贝内存数据与光盘数据到指定位置。

#拷贝内存内容到磁盘
[root@localhost ~]# dd if=/dev/mem of=/tmp/mem_image bs=1024(指定块大小为1k)
dd: error reading ‘/dev/mem’: Bad address
632+0 records in
632+0 records out
647168 bytes (647 kB) copied, 0.001591 s, 407 MB/s

#拷贝光盘内容到指定文件夹,并保存为/tmp/LyShark.iso文件
[root@localhost ~]# dd if=/dev/sr0 of=/tmp/LyShark.iso
1249+0 records in
1248+0 records out
638976 bytes (639 kB) copied, 0.368021 s, 1.7 MB/s

#利用随机数填充磁盘,彻底销毁磁盘 /dev/sdb 数据
[root@localhost ~]# dd if=/dev/urandom of=/dev/sdb

标签:解压,文件目录,tar,dev,etc,localhost,Linux,root,bash
来源: https://www.cnblogs.com/LyShark/p/15750023.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有