vimer linux kernel 爱好者

tar shell 记录

2021-01-06

这个命令真的值得花一点时间去记录。

格式

最简单,如果处理.gz的文件,需要使用”-z“参数,符合认知。如果是bz2,需要使用”-j”选项。

解压 -x

“-x”

压缩 -c

其他

“-v”: verbose

“-f”: file name

实践

压缩

将qemu目录压缩成gz包。

tar -czvf qemu-bak.tar.gz qemu # 源目录在后面

解压

将上述压缩包解压

tar -zxvf qemu.tar.gz qemu # 目标文件在后面

解压到文件夹

首先创建文件夹: mkdir tmp-dir,然后使用 “-C” 参数解压到制定目录。

tar -zxvf qemu.tar.gz -C tmp-dir

解压 .tar.xz

tar xf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz

压缩 tbz2格式,附带权限

tar --owner root --group root -cjf kernel_supplements.tbz2 lib/modules

这条命令是压缩成 tbz2 文件,且带着相应的权限。具体的作用就是把 lib/modules目录下 的文件压缩成kernel_supplements.tbz2 文件。

压缩时不包括当前目录

参考这个链接: https://www.cnblogs.com/hh2737/p/7710830.html

如果打包一个文件夹比如一个dts文件,那么正常情况下我是压缩的这个包,但是,如果在项目中需要 我们把dts下的东西直接解压到 dtb 目录下,这样是不行的。因为解压的时候,正常是在 dtb/dts的。 那么,这就需要我们在压缩的时候做一些改动。

有两种方式可以解决这个问题:

  1. 进入dts文件夹
tar zcf dts.tar.gz *

这种方式会不会把这在生成的tar包也压缩进去,这值得我们怀疑,但是据我观察,好像不会的。

  1. 在外部排除
tar -zcf dts.tar.gz -C dts/ .

尤其别忘了后面的那一个”.”


上一篇 rust-cargo-fun-

下一篇 WebAssembly 简介

Comments

Content