• Linux打包和压缩——管理打包和压缩的命令


    Linux打包和压缩——管理打包和压缩的命令

    摘要:本文主要学习了Linux的打包命令和压缩命令。

    tar命令

    tar命令可以用来进行打包和解打包,压缩和解压缩。

    基本语法

    打包和压缩的语法:

    1 tar [选项] 源文件或目录

    解打包和解压缩的语法:

    1 tar [选项] 压缩包

    选项说明

    打包和压缩的选项:

    1 -c:将多个文件或目录进行打包。
    2 -v:显示打包文件的过程。
    3 -f 文件名:指定打包的文件名。
    4 -z:压缩和解压缩.tar.gz格式。
    5 -j:压缩和解压缩.tar.bz2格式。

    解打包和解压缩的选项:

    1 -x:对tar包做解打包操作。
    2 -v:显示解打包的过程。
    3 -f 文件名:指定要解压的文件名。
    4 -z:压缩和解压缩.tar.gz格式。
    5 -j:压缩和解压缩.tar.bz2格式。
    6 -t:只查看包中有哪些文件或目录,不做解打包操作。
    7 -C 目录名:指定解打包位置。

    使用举例

    打包为 tar 格式的文件:

    1 [root@localhost home]# tar -cvf hello.tar hello hello-hard hello-soft 
    2 hello
    3 hello-hard
    4 hello-soft
    5 [root@localhost home]# ls
    6 hello  hello-hard  hello-soft  hello.tar  test  test-soft
    7 [root@localhost home]# 

    压缩为 tar.gz 格式的文件:

    1 [root@localhost home]# tar -zcvf test.tar.gz test test-soft
    2 test/
    3 test-soft
    4 [root@localhost home]# ls
    5 hello  hello-hard  hello-soft  hello.tar  test  test-soft  test.tar.gz
    6 [root@localhost home]# 

    解打包 tar 格式的文件:

    1 [root@localhost home]# tar -xvf hello.tar 
    2 hello
    3 hello-hard
    4 hello-soft
    5 [root@localhost home]# ls
    6 hello  hello-hard  hello-soft  hello.tar  test.tar.gz
    7 [root@localhost home]# 

    解压缩 tar.gz 格式的文件:

    1 [root@localhost home]# tar -zxvf test.tar.gz 
    2 test/
    3 test-soft
    4 [root@localhost home]# ls
    5 hello  hello-hard  hello-soft  hello.tar  test  test-soft  test.tar.gz
    6 [root@localhost home]# 

    查看 tar 格式文件的内容:

    1 [root@localhost home]# tar -tvf hello.tar
    2 -rw-r--r-- root/root     10240 2019-07-11 01:28 hello
    3 hrw-r--r-- root/root         0 2019-07-11 01:28 hello-hard 连接到 hello
    4 lrwxrwxrwx root/root         0 2019-07-11 03:56 hello-soft -> hello
    5 [root@localhost home]# 

    查看 tar.gz 格式文件的内容:

    1 [root@localhost home]# tar -ztvf test.tar.gz 
    2 drwxr-xr-x root/root         0 2019-07-11 01:14 test/
    3 drwxr-xr-x root/root         0 2019-07-11 01:14 test-soft/
    4 [root@localhost home]# 

    zip命令

    zip命令类似于Windows系统中的winzip压缩程序。

    基本语法

    1 zip [选项] 压缩包名 源文件或源目录列表

    选项说明

    1 -r:递归压缩目录,及将指定目录下的所有文件以及子目录全部压缩。
    2 -m:将文件压缩之后,删除原始文件,相当于把文件移到压缩文件中。
    3 -v:显示详细的压缩过程信息。
    4 -q:在压缩的时候不显示命令的执行过程。
    5 -压缩级别:压缩级别是从1~9的数字,-1代表压缩速度更快,-9代表压缩效果更好。
    6 -u:更新压缩文件,即往压缩文件中添加新文件。

    使用举例

     1 [root@localhost home]# ls
     2 hello  hello-hard  hello-soft  test  test-soft
     3 [root@localhost home]# zip hello.zip hello hello-hard 
     4   adding: hello (deflated 99%)
     5   adding: hello-hard (deflated 99%)
     6 [root@localhost home]# ls
     7 hello  hello-hard  hello-soft  hello.zip  test  test-soft
     8 [root@localhost home]# zip test.zip test test-soft
     9   adding: test/ (stored 0%)
    10   adding: test-soft/ (stored 0%)
    11 [root@localhost home]# ls
    12 hello  hello-hard  hello-soft  hello.zip  test  test-soft  test.zip
    13 [root@localhost home]#

    unzip命令

    unzip命令可以查看和解压缩zip文件。

    基本语法

    1 unzip [选项] 压缩包名

    选项说明

    1 -d 目录名:将压缩文件解压到指定目录下。
    2 -n:解压时并不覆盖已经存在的文件。
    3 -o:解压时覆盖已经存在的文件,并且无需用户确认。
    4 -v:查看压缩文件的详细信息,包括压缩文件中包含的文件大小、文件名以及压缩比等,但并不做解压操作。
    5 -t:测试压缩文件有无损坏,但并不解压。
    6 -x 文件列表:解压文件,但不包含文件列表中指定的文件。

    使用举例

     1 [root@localhost home]# ls
     2 hello.zip  test.zip
     3 [root@localhost home]# unzip -v hello.zip 
     4 Archive:  hello.zip
     5  Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
     6 --------  ------  ------- ---- ---------- ----- --------  ----
     7    10240  Defl:N       99  99% 07-11-2019 01:28 dda39bf9  hello
     8    10240  Defl:N       99  99% 07-11-2019 01:28 dda39bf9  hello-hard
     9 --------          -------  ---                            -------
    10    20480              198  99%                            2 files
    11 [root@localhost home]# unzip hello.zip 
    12 Archive:  hello.zip
    13   inflating: hello                   
    14   inflating: hello-hard              
    15 [root@localhost home]# ls
    16 hello  hello-hard  hello.zip  test.zip
    17 [root@localhost home]# unzip -d zip test.zip 
    18 Archive:  test.zip
    19    creating: zip/test/
    20    creating: zip/test-soft/
    21 [root@localhost home]# ls
    22 hello  hello-hard  hello.zip  test.zip  zip
    23 [root@localhost home]# ls zip
    24 test  test-soft
    25 [root@localhost home]#
  • 相关阅读:
    JS-字符串截取方法slice、substring、substr的区别
    Vue中computed和watch的区别
    Vue响应式原理及总结
    JS实现深浅拷贝
    JS中new操作符源码实现
    点击页面出现爱心效果
    js判断对象是否为空对象的几种方法
    深入浅出js实现继承的7种方式
    es6-class
    详解 ESLint 规则,规范你的代码
  • 原文地址:https://www.cnblogs.com/shamao/p/11170552.html
Copyright © 2020-2023  润新知