:::tips tar命令是Linux系统中一款功能强大的文件归档工具,它能够将多个文件或目录打包成一个归档文件,经常用于备份文件,也可以压缩文件,以节省磁盘空间。 :::

基本使用

tar命令的基本语法格式为:

  1. tar [选项] 归档文件名 文件与目录

其中,选项后面跟要处理的文件或目录,归档文件名为打包文件名,后面跟要打包的文件或目录,如果不指定,则默认当前目录下的所有文件。

tar 常用选项:

  • -c:表示创建新归档
  • -x:表示从归档文件中抽取文件
  • -t:表示查看归档文件中的内容
  • -f:表示指定归档文件,可以是本地文件,也可以是网络文件
  • -v:表示显示打包过程的详细信息
  • -z:表示将文件用 gzip 压缩后再打包
  • -j:表示将文件用 bz2 压缩后再打包
  • -a:表示自动判断文件的压缩格式,通常与 -j 和 -z 一起使用
  • -r:表示向已存在的归档文件中追加文件
    1. tar -zcvf ipes.tar.gz /kuaicdn/ipes

    tar 压缩解压

    压缩

    假设当前有一个目录 test,里面有三个文件 file1、file2 和 file3,要将这三个文件打包成 test.tar 文件,则可以使用下面的命令:
    1. tar -cf test.tar file1 file2 file3
    如果想要将 test 目录下的所有文件都打包成 test.tar 文件,则可以使用下面的命令:
    1. tar -cf test.tar test
    如果想将 test 目录下的所有文件压缩成 test.tar.gz 文件,则可以使用下面的命令:
    1. tar -czf test.tar.gz test

解压

假设有一个 test.tar.gz 文件,想将其解压到当前目录,则可以使用下面的命令:

  1. tar -xzf test.tar.gz

此命令会自动检测文件的压缩格式,并将文件解压到当前目录中。

解压跳过第一级目录

  1. tar -zxvf file.tar.gz -C target_dir --strip-components 1

打包文件时重名了

  • 目录下有文件 :::tips ca.crt ca.key ca.srl client.crt client.csr client.key client.pfx server.crt server.csr server.key :::

  • 重命名

    • ca.crt 命名为 ca.pem
    • client.crt 命名为 cert.pem
    • client.key 命名为 key.pem
      1. tar -czvf client.tgz client.crt client.key ca.crt --transform="s/ca.crt/ca.pem/;s/client.crt/cert.pem/;s/client.key/key.pem/"
  1. tar -czvf client.tgz client.crt client.key ca.crt --transform="s/ca.crt/ca.pem/;s/client.crt/cert.pem/;s/client.key/key.pem/"