Linux常用文件压缩/解压命令格式大全(tar、gzip、bzip2、zip、compress、cpio、compress、dd)建议收藏

Linux常用文件压缩/解压命令格式大全

  • 1. tar
  • 2. gzip
  • 3. bzip2
  • 4. zip
  • 5. compress
  • 6. cpio
  • 7.dd

1. tar

  • 打包备份后的文件包缀:.tar

  • 作用:用来对系统上的文件作备份与恢复,可以将系统上多个文件组构成一个tar文件备份到磁盘内或写入到一般的文件(文件名为*.tar)上,也可以将文件从一个tar文件解回到原来的系统中。

  • 说明:仅能将一个目录下的所有文件变成一个文件,不具备压缩功能,因此,一般都会将tar与gzip或bzip2一同使用。

  • tar的压缩语法格式

  • tar –zcvf tarfile.tar.gz 准备压缩的目录或文件名称
    常用选项说明:
    -c 是产生一个压缩文件
    -z 使目录tar起来后再自动使用gzip把文件压缩起来
    -j 使用bzip2压缩
    -v 把压缩过程显示在屏幕上
    -f 表示要使用文件或设备,该选项一般是必选的
    -t, --list list the contents of an archive

例1: 将/home/xinetd.d目录中的所有文件打包成一个文件后再由gzip压缩:
tar -zcvf xinet.tar.gz /home/xinetd.d/

例2 仅将/home/xinetd.d目录中的所有文件仅打包,不经过gzip压缩
tar -cvf xinet2.tar /home/xinetd.d/

  • tar的解压缩语法格式
  • tar –zxvf tarfile.tar.gz(格式共3部分)
    常用选项说明:
    -x 从.tar.gz文件中释放文件
    -z 该参数配合参数c(产生压缩文件)使用是压缩,但是配合参数x使用是以gzip解压缩
    -f 指定将tarfile这个文件解压缩
    -j 使用bunzip2解压缩

tar –zxvf xinet.tar.gz


2. gzip

  • 压缩后的文件后缀:.gz

  • 作用:主要用来压缩文件系统上的文件,以减少文件所占用的磁盘空间

  • 当对一个文件进行压缩时,它会产生一个文件名为原始文件名附加”.gz”的压缩文件来取代原始未压缩文件。

  • 压缩语法:
    gzip -1 -9 -r 要压缩的文件名或目录
    常用选项说明:
    -1 表示快速压缩
    -9 采用高压缩比压缩,系统默认的压缩比值是6
    -r 采用递归压缩(用于一次压缩完某一目录内的所有文件)

例1: gzip –1 dnew.exe
例2: gzip –9 –r /home/xinetd.d/

  • 解压缩指令:gunzip或gzip
  • 解压缩语法
    gunzip –r filename.gz 或 gzip –dr filename.gz
    常用选项:
    -d 表示decompress(解压)的意思
    -r 表示递归解压缩

例:gunzip -r news.gz


3. bzip2

  • 压缩后的文件后缀:.bz2

  • bzip2的主要优点是压缩比要大于gzip,这样就可以产生文件大小更小的文件;缺点是more CPU intensive than gzip(比gzip占用更多CPU)

  • 压缩/解压格式:
    bzip2 [选项] <目标文件>
    常用选项说明:
    -h --help print this message
    -d --decompress 强制解压
    -z --compress 强制压缩
    -k --keep 保留(不删除)输入文件
    -f --force 强制覆盖现有输出文件
    -t --test 测试压缩文件完整性
    -c --stdout 输出到标准输出
    -q --quiet 静默抑制非关键错误消息
    -s --small 占用较少的内存
    -1 … -9 将块大小设置为100k…900k
    –fast -1的别名
    –best -9的别名

例:
#bzip2 filename 压缩文件,压缩后文件后缀为:.bz2
#bunzip2 filename.bz2 解压缩文件
#bzip2 -9 filename 使用第9级压缩比率(最大压缩比率)压缩文件


4. zip

  • 压缩后的文件后缀为:.zip
  • 广泛应用于windows操作系统中,压缩打包当前目录下的所有文件及子目录后.zip后缀会自动生成。

压缩格式:
zip [选项] <压缩包.zip> <源文件(路径)>
常用选项说明:
-r 递归,将指定目录下的所有文件和子目录一并处理
-S 包含系统和隐藏文件
-y 直接保存符号连接,而非该连接所指向的文件
-X 不保存额外的文件属性
-m 将文件压缩并加入压缩文件后,删除源文件
-<压缩级别> 1~9,数字越大,压缩率越高
-F 尝试修复已损坏的压缩文件
-q 不显示指令执行过程
-g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件
-u 更新压缩包内文件
-f 更新压缩包内文件。如果符合条件的文件没有包含在压缩包中,则压缩后添加
-i <表达式> 压缩目录时,只压缩符合条件的文件
x <表达式> 排除符合条件的文件
-n <文件名后缀> 排除指定文件名后缀的文件
-d <表达式> 从压缩文件内删除指定的文件
-t <日期时间> 把压缩文件的日期设成指定的日期
-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同
-c 替每个被压缩的文件加上注释
-z 替压缩文件加上注释

解压格式
unzip [选项] <压缩文件> [压缩包中将被释放的文件]
常用选项说明:
-d <路径> 指定解压路径
-n 解压缩时不覆盖原有文件
-f 覆盖原有文件
-o 不经询问,直接覆盖原有文件
-u 覆盖原有文件,并将压缩文件中的其他文件解压缩到目录中
-l 显示压缩文件内所包含的文件
-z 显示压缩包注释
-j 不处理压缩文件中原有的目录路径
-q 执行时不显示任何信息
-v 执行是时显示详细的信息
-x <表达式> 排除压缩包中的指定文件


5. compress

  • 压缩后的文件后缀为: .Z(大写)
  • 作用:文件经过compress程序压缩后,会被置换产生一个.Z的文件,这个.Z的文件的拥有权关系以及修改的时间将会保留原先未压缩文件的设置。

压缩格式:
compress [-f][-v] 文件名
常用选项说明:
[-f] compress命令执行时,如果目的文件存在,将会询问用户是否要覆盖现有的文件,如果使用了这个选项,将会强制执行压缩命令,不询问而直接覆盖。
[-v] 显示每一个文件的压缩比率

例 :
compress –v /tmp/lilo.conf

解压格式
uncompress [-f][-v] 文件名
常用选项说明:
[-f] 强制输出文件内容,如果目标文件已经存在,直接覆盖文件的内容,而不询问用户
[-v] 显示每一个指定文件的压缩比率


6. cpio

  • 作用:用来将文件复制到一个archive文件中,或者是从一个archive文件中复制出文件,而这些文件可以位于任何存储设备上(磁盘、磁带等)
  • cpio命令可以被区分为两种操作模式:
    (1)copy-out
    (2)copy-in

(1).copy-out 操作模式

  • 作用:cpio的copy-out操作模式用来将文件复制到archive中

  • 程序运行方法:
    从标准输入中读取一个文件名清单(一个文件名独立一行),并将archive文件写入到标准输出。要产生文件名清单最典型的方法是利用ls、find、grep命令,并结合管道来操作。

格式:
cpio {-o|--create} [-A] [ > archive ]
cpio -t

常用选项说明:
{-o|–create} -o进入copy-out模式,-create生成archive文档
-A 附加到现存的archive内
-d, --make-directories 根据需要创建目录
-v, --verbose 在处理每个文件时,将其名称打印到stderr
-t 提供每个文件的详细列表。

例1: 将find的结果复制到archive文档document
find /tmp/samba/* | cpio –o >document

例2: 将archive文档document中每个文件分屏显示
cpio –t

(2).copy-in 操作模式

  • 作用:cpio的copy-in操作模式用来将文件从archive中复制出来;

  • 程序执行方法:
    从标准输入读取archive文件的内容,并使用命令行中的参数作为样板
    archive文件内只有名称至少符合一个样板的文件才会被复制。

格式
cpio {-i|--extract} [pattern] [-dm] [ < archive ]
常用选项说明:
{-i|extract} 进入copy-in模式
[pattern] 样板 (注意:样板中的通用匹配符*,?不会匹配“.” ,但可以匹配/)
[-d] 在需要建立目录的地方建立目录
[-m] 在建立文件时,维持文件原先的修改时间

例1: 将archive文档中的.gif文件复制出来并据需要建立目录
cpio –i –d *.gif

例2:将archive文档中的所以文件复制出来并据需要建立目录
cpio –i –d


7.dd

  • 作用:以指定的转换格式转换输入文件的内容,并将转换后的结果输出,即转换(存储格式)复制文件。

格式:
dd [选项]

常用选项说明:

  1. if=file 指定输入源文件(常指定设备),如果没有指定,默认为标准输入
  2. of=file 指定输出目标文件,如果没有指定,默认为标准输出
  3. bs=bytes read and write up to BYTES bytes at a time (即一次读写的BYTES size,s理解为per),定义为BLOCK
  4. Count=n copy only n*BLOCK input blocks(省略的话则全部读完)
    · 例:dd if=/dev/fd0(软盘) of=fdimage(该文件名为起始地址,起始指针)

例:
dd if=FreeBSD-9.0-RELEASE-i386-memstick.img of=/dev/sdb0 bs=64k
· 注:后缀为.img的文件一般是用一个文件代表一个分区,比如用来表示一个独立的操作系统;苹果手机下载安装包更新的也是.img后缀的文件

实例:增加文件形式的交换分区

  1. 生成256M的文件
    dd if=/dev/zero(抹零设备) of=/swapfile1 bs=1024K count=256

  2. 加强swap文件权限
    #chown root:root /swapfile1
    #chmod 0600 /swapfile1

  3. 在swapfile1文件中创建linux swap文件系统
    #mkswap /swapfile1 格式化成交换分区的格式

  4. 使swap file立即生效
    #swapon(启用交换分区) /swapfile1

  5. 更新/etc/fstab file
    #


    /swapfile1 none(交换分区哪都不挂) swap sw 0 0

  6. 在linux上显示交换使用摘要
    #swapon -s

  7. 关闭swap文件
    #swapoff /swapfile1


你可能感兴趣的:(Linux,网络服务,linux,操作系统,shell)