当前位置:首页>Linux>瑞芯微——Linux的常用指令tar

瑞芯微——Linux的常用指令tar

  • 2026-10-01 22:40:36
瑞芯微——Linux的常用指令tar

Linux的常用指令--tar

作为一个嵌入式 Linux 开发者,尤其是在 RV1126b 这类开发板上做项目时,你一定遇到过这些 “刚需场景”:把修改后的 endoscope 和 ui 源码打包发给同事,却不想带上.git 和 build 目录;备份整个根文件系统,保留所有权限;解压 RV1126b 的 release_v1.2.0 大 SDK 压缩包;或者把交叉编译好的库文件打包传到开发板上 —— 这时候,tar 就是你最核心的 “打包压缩工具”,能灵活处理嵌入式开发中的各种文件打包、备份、传输需求。

在我看来,tar 就像嵌入式开发中的 “文件打包机”:它本身是 “打包工具”(把多个文件 / 目录打成一个.tar 包),再配合 gzip/bzip2/xz 实现 “压缩”,形成.tar.gz(tgz)、.tar.bz2、.tar.xz 这些常见的压缩包格式。不管是备份项目、传输源码,还是解压 SDK,tar 都是嵌入式开发的 “必备工具”。

tar 的核心逻辑

很多新手会混淆 “打包” 和 “压缩”,这里先明确:

  • 打包:把多个文件 / 目录合并成一个文件(.tar),不改变大小,只是方便传输;
  • 压缩:用 gzip(.gz)、bzip2(.bz2)、xz(.xz)等工具把.tar 包压缩变小,节省空间。 所以常见的压缩包后缀:
  • .tar.gz / .tgz:tar 打包 + gzip 压缩(最常用,平衡速度和压缩率);
  • .tar.bz2:tar 打包 + bzip2 压缩(压缩率比 gzip 高,但慢一点);
  • .tar.xz:tar 打包 + xz 压缩(压缩率最高,适合大 SDK,比如 RV1126b 的 release 包)。*

这是加粗斜体文本

基础用法:嵌入式开发高频场景(打包 + 解压)

参数
作用
备注
-c
创建(create)新的 tar 包
打包时用
-x
解压(extract)tar 包
解压时用
-v
显示(verbose)打包 / 解压过程
看进度用,避免 “黑盒等待”
-f
指定(file)文件名**
必须放在最后
**,后面紧跟压缩包名
-z
用 gzip 压缩 / 解压 / 解压过程
对应.tar.gz/.tgz
-j
用 bzip2 压缩 / 解压
对应.tar.bz2
-J
用 xz 压缩 / 解压
对应.tar.xz(大 SDK 常用)

场景 1:打包压缩项目源码(发给同事)

tar -czvf dht11.tar.gz dht11

场景 2:解压压缩包

 tar -tzv -f dht11

场景 3:查看压缩包内容(不解压)

tar -tzv -f dht11.tar.gz

场景 4:解压到指定目录(-C)

解压到test目录

tar -xzv -f dht11.tar.gz -C  test/ 

总结

tar 是嵌入式开发中 “打包、压缩、备份、传输” 的核心工具,记住三个核心用法:

1.打包压缩:tar -czv -f 包名.tar.gz --exclude=无用目录 源目录/(gzip 最常用);

2.解压:tar -xzv -f 包名.tar.gz -C 目标目录(.xz 用 - xJ,.bz2 用 - xj);

3.进阶场景:用 -p 保留权限(备份根文件系统)、--strip-components 去掉顶层目录(解压 SDK)、结合 ssh 直接传输文件。

不管是备份 RV1126b 的项目源码、传输交叉编译产物,还是解压大 SDK,tar 都能灵活应对,是嵌入式开发的 “必备利器”~ tar 的大致用法就讲到这里,大家有什么在嵌入式开发中用 tar 的经典场景或小技巧,欢迎在评论区交流~

最新文章

随机文章