1
前几天,在重构了项目中的一段代码之后,公司章哥给我示范如何把我的代码放到nginx上测试。他问我会不会使用tar命令,我说听说过,不过没用过。后来周末我就google了几篇文章,在这里简单总结一下tar命令在实际开发中常用的一些用法,希望对读者也有所帮助。

常用选项

  • -c: 创建archive
  • -z: 用gzip压缩archive
  • -j: 用bzip2压缩archive
  • -v: 开启verbose模式
  • -f: 指明archive文件名
  • -x: 解压/提取archive
  • -t: 查看archive文件内容
  • -r: 添加新文件(夹)/修改后的文件(夹)到archive

代码示例

图片描述

  • 打包

    • 打包单个文件

      tar cvf archive.tar file
    • 打包多个文件

      tar cvf archive.tar file1 file2
    • 打包所有文件

      tar cvf archive.tar *
    • 打包单个文件夹

      tar cvf archive.tar directory
    • 打包多个文件夹

      tar cvf archive.tar directory1 directory2
    • 打包所有文件,不包含某一文件

      tar cvf archive.tar --exclude 'log.txt' *
    • 打包所有文件,不包含某些文件

      tar cvf archive.tar --exclude '*.txt' *
      tar cvf archive.tar --exclude 'log.txt' --exclude '*.css' *
    • 打包所有文件,不包含某一文件夹

      tar cvf archive.tar --exclude 'directory' *
    • 打包所有文件,不包含某些文件夹

      tar cvf archive.tar --exclude 'directory1' --exclude 'directory2' *
  • 解包

    • 解包到当前文件夹

      tar xvf archive.tar
    • 解包到指定文件夹

      tar xvf archive.tar -C directory
  • gzip压缩

    tar zcvf archive.tar.gz 
    tar zcvf archive.tgz
  • gzip解压缩

    tar xvf archive.tar.gz
    tar xvf archive.tgz
  • bzip2压缩

    tar jcvf archive.tar.bz2 
    tar jcvf archive.tbz
  • bzip2解压缩

    tar xvf archive.tar.bz2
    tar xvf archive.tbz
  • 查看archive内容

    tar tvf archive.tar
    tar tvf archive.tar.gz
    tar tvf archive.tgz
    tar tvf archive.tar.bz2
    tar tvf archive.tbz
  • 添加新文件(夹)/修改后的文件(夹)到archive

    注意:不能添加到压缩后的archive(gzip,bzip2等)
    tar rvf archive.tar newFile.txt
    tar rvf archive.tar newDirectory
    tar rvf archive.tar newFile newDirectory

参考文档

  1. 18 Tar Command Examples in Linux
  2. The tar Command
  3. How to Compress and Extract Files Using the tar Command on Linux
  4. GNU Tar

玛尔斯通
486 声望693 粉丝

a cyclist, runner and coder.


引用和评论

0 条评论