zoukankan      html  css  js  c++  java
  • one_day_one_linuxCmd---tar命令

      《坚持每天学习一个 linux 命令,今天我们来学习 tar 命令》

      摘要:tar 命令是一个 Linux 下的打包程序,通常在 Linux 下,打包和压缩是不同的程序,打包通过 tar 程序来实现,而压缩则有不同的压缩方式,这些压缩方式由不同的程序来实现,然后我们通过 tar 命令进行打包,当然 tar 也支持在打包的同时同步调用压缩程序进行压缩,所以我们可以通过 tar 命令来实现 windows 上面的 压缩包的功能。

    tar 打包

      Linux 下最常用的打包程序,使用 tar 打出来的包我们称之为 tar 包,通常以 .tar 结尾,生成 .tar 包之后,我们就可以用其它的程序来进行压缩了。

    #=========options=================
    # -c : (create)产生新的包
    # -f : (file) 指定包的文件名,只能作为最后一个参数,每一个命令都有该参数
    # -r : 增加文件
    # -u : 更新
    # -t : 列出文件
    # -x : 解开
    #===========example===============
    # function:将所有 .txt 结尾的文件打包成一个名称为 all.tar 的包
    $ tar -cf all.tar *.txt
    
    # 列出 all.tar 中所有的包
    $ tar -tf all.tar
    
    # 解出 all.tar 包中所有文件
    $ tar -xf all.tar

    tar 压缩

      我们也可以直接对单个文件进行压缩而不需要打包,因为打包和压缩是两个毫不相关的程序来实现的。

    # 用 gzip 进行压缩
    $ gzip t1.txt
    
    # 用 gunzip 进行解压
    $ gunzip t1.txt.gz
    
    # 用 bzip2 进行压缩
    $ bzip2 t1.txt
    
    # 用 bunzip2 进行解压
    $ bunzip2 t1.txt.bz2

    tar 打包&&压缩

      为了方便用户在打包解包的同时可以压缩或解压文件,tar 提供了一种特殊的功能,就是 tar 可以在打包或解包的同时调用其它的压缩程序,比如调用 gzip、bzip2 等。

    #==========options===========
    # -z : 有 gzip 属性的
    # -j : 有 bz2 属性的
    # -v : 显示所有过程
    #==========example:gzip==========
    # tar 调用 gzip 压缩
    $ tar -czf all.tar.gz *.txt
    
    # tar 解压 .tar.gz 的压缩包
    $ tar -xzf all.tar.gz
    #==========example:bzip2=========
    # tar 调用 bzip2 压缩
    $ tar -cjf all.tar.bz2
    
    # tar 解压 .tar.bz2 压缩
    $ tar -xjf all.tar.bz2

    windows 下的压缩文件(.zip && .rar)

      Linux 下提供了 zip 和 unzip 程序,用来进行压缩和解压,这里的压缩可以对多个文件进行压缩,即执行了 Linux 下打包和压缩的功能。

    # zip 实例
    # 打包压缩所有以 .txt 结尾的文件,明明为 test.zip
    $ zip test.zip *.txt
    
    # 解压 test.zip
    $ unzip test.zip
    
    # test 为一个目录,目录下有 v1 、v2 两个文件
    # -r : 级联打包压缩文件夹下的所有文件,如果无次选项,则解压后该文件夹为空
    $ zip -r test.zip test
    
    # 解压
    $ unzip test.zip

      对于 .rar 文件,需要安装 RAR for Linux ,可以从网络上下载,安装完成之后就有了 rar 和 unrar 这两个程序。

    # buntu 安装 rar 和 unrar
    $ sudo apt-get install rar unrar
    # 使用 rar 进行压缩,如果为 层级目录,则自动为层级压缩
    $ rar a all.rar *.txt
    
    # 使用 unrar 进行解压,如果存在层级目录,则会将目录下所有文件解压到当前目录下
    $ unrar e all.rar

    # 如果压缩有层级目录存在,则用 e 进行解压会将所有文件解压到当前目录下,无法位置原始的目录结构,此时可以使用 x 选项进行解压
    $ unrar x all.rar

    参考资料;

    https://blog.csdn.net/AresGod/article/details/1803730

    所有博文均为原著,如若转载,请注明出处!
  • 相关阅读:
    《Java并发编程实战》笔记-Happens-Before规则
    《Java并发编程实战》笔记-非阻塞算法
    《Java并发编程实战》笔记-锁与原子变量性能比较
    《Java并发编程实战》笔记-OneValueCache与原子引用技术
    《Java并发编程实战》笔记-状态依赖方法的标准形式
    《Java并发编程实战》笔记-synchronized和ReentrantLock
    力奋github:https://github.com/birdstudiocn
    275. H-Index II
    410. Split Array Largest Sum
    88. Merge Sorted Array
  • 原文地址:https://www.cnblogs.com/zpcoding/p/11509476.html
Copyright © 2011-2022 走看看