Linux tar 命令

在Linux平台,tar是主要的打包工具。tar命令通常用来把文件和目录压缩为一个文件( tarball 或 tar, gzip 和 bzip)。

Tar选项:

  • c – 创建压缩文件
  • x – 解压文件
  • v – 显示进度.
  • f – 文件名.
  • t – 查看压缩文件内容.
  • j – 通过bzip2归档
  • z –通过gzip归档
  • r – 在压缩文件中追加文件或目录
  • W – 验证压缩文件

把目录/home/abc/code 打包为code.tar

tar -cvf code.tar /home/abc/code/

压缩为 tar.gz 格式的包

tar cvzf code.tar.gz /home/abc/code

压缩率更高的 tar.bz2 格式的包

tar cvfj code.tar.bz2 /home/abc/code/

解压 tar 包

tar -xvf code.tar -C /home/abc/code

解压 tar.gz 包

tar -xvf code.tar.gz

解压 tar.bz2 包

tar -xvf code.tar.bz2

列出 tar 包内容

tar -tvf code.tar

解压tar包中的单个文件

tar --extract --file=code.tar Readme.txt

解压tar包中的多个文件

tar -xvf code.tar "file 1" "file 2"

解压同一种类型的文件(下面代码是解压txt)

tar -xvf code.tar --wildcards *.txt'

在tar包中加入文件或目录

tar -rvf code.tar abcd.txt   // 文件

tar -rvf code.tar Doc        // 目录

1. tar.gz压缩命令:
命令格式:

tar -zcvf 压缩文件名.tar.gz 被压缩文件名

可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。

2. tar.gz解压缩命令:
命令格式:

tar -zxvf 压缩文件名.tar.gz

解压缩后的文件只能放在当前的目录。

解压安装

  1. 解压tar.gz包

最常见的gz格式,则可以执行:“tar –xvzf 软件包名”,就可以一步完成解压与解包工作。

tar -zxvf 软件包名.tar.gz -C /home/hao   

将软件包名.tar.gz解压到指定的目录下 (注意:-C为大写)

  1. 进入解压后的文件目录下 执行“./configure”命令为编译做好准备;

./configure --prefix=/opt

表示安装到/opt目录

  1. 执行“make”命令进行软件编译;
  2. 执行“make install”完成安装;
  3. 执行“make clean”删除安装时产生的临时文件。

3. tar.bz2解压缩命令:
命令格式:

tar -jxvf xx.tar.bz2

4.Linux压缩和解压.bz2文件-bzip2
在Linux系统下使用bzip2压缩和解压.bz2文件。

Bzip2是小有名气的压缩工具,流行的Linux发行版都默认安装了这个工具,包括macOS。

如果你没有安装,执行如下命令安装:

$ sudo apt install bzip2    # Debian/Ubuntu
$ sudo yum install bzip2    # CentOS
$ sudo dnf install bzip2    # Fedora

使用bzip2压缩文件

$ bzip2 filename
# 或

$ bzip2 -z filename
# 生成.bz2文件
 
# 分别压缩多个文件
$ bzip2 filename1 filename2 [filename*]

上面命令压缩完文件之后,会把原文件删除。如果需要保留原文件,使用-k选项。

$ bzip2 -zk filename  # -f选项强制覆盖已存在的文件

要压缩tar文件,执行:

$ bzip2 -zkf backup.tar  # 生成.tar.bz2文件;解压时先使用bzip2再使用tar命令

设置块大小:100k->900k

$ bzip2 -k1  filename
$ bzip2 -kf9  filename

使用bzip2解压文件
使用-d选项:

$ bzip2 -d filename.bz2    # 文件扩展名必须是.bz2
$ bzip2 -vfd filename.bz2  # -f覆盖文件  -v可视化输出  -k保留原文件

查看bzip2帮助:

$ bzip2  -h
$ man bzip2

REF: https://cloud.tencent.com/developer/article/1406683

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐