站长网 系统 带领你写一个Linux下的打包软件 Tar

带领你写一个Linux下的打包软件 Tar

trace-cmd 是一个易于使用,且特性众多、可用来追踪内核函数的命令。在 之前的文章 里,我介绍了如何利用 ftrace 来追踪内核函数。通过写入和读出文件来使用 ftrace 会变得很枯燥,所以我对它做了一个封装来运行带有选项的命令,以启用和禁用追踪、设置过滤

trace-cmd 是一个易于使用,且特性众多、可用来追踪内核函数的命令。

 

在 之前的文章 里,我介绍了如何利用 ftrace 来追踪内核函数。通过写入和读出文件来使用 ftrace 会变得很枯燥,所以我对它做了一个封装来运行带有选项的命令,以启用和禁用追踪、设置过滤器、查看输出、清除输出等等。

 

trace-cmd 命令是一个可以帮助你做到这一点的工具。在这篇文章中,我使用 trace-cmd 来执行我在 ftrace 文章中所做的相同任务。由于会经常参考那篇文章,建议在阅读这篇文章之前先阅读它。

 

安装 trace-cmd

本文中所有的命令都运行在 root 用户下。

 

因为 ftrace 机制被内置于内核中,因此你可以使用下面的命令进行验证它是否启用:

 

# mount | grep tracefs

none on /sys/kernel/tracing type tracefs (rw,relatime,seclabel)

不过,你需要手动尝试安装 trace-cmd 命令相信你对 linux 的 .tar.gz 有点熟悉,这就是先 tar 打包(.tar 后缀),再对此 tar 文件用 gzip 压缩(.tar.gz)的后缀名。

 

值得注意的是, tar 不是压缩软件,它只做把一堆文件/文件夹打包到一个文件(tar 文件)里的事情,而文件联系,文件权限,相对的路径等都会给你保存好。

 

一开始设计是 tar 跟 gzip 只做一件事情,各司其事,后来发现太麻烦了,于是就把压缩功能整合到 tar 里了。

 

– Create a gzipped archive: 

    tar czf target.tar.gz file1 file2 file3 

最近学习 OS 时写了一个类似 tar 的项目,那么今天就趁热打铁简单说一下如何写一个打包软件,这个软件会将重复的文件内容通过 md5 比较,复用旧的内容。

 

 

 

基本单位 block

block 可以理解为文件系统的最小单位,分别有以下类型:

 

directory block,文件夹 block,存储文件夹 meta 信息;

file block,文件 block,存储文件 meta 信息;

data block,只用来存文件内容;

Directory block,注意的是 entry 里要有 fileindex 来存储重复文件的 name 的下标。

 

同时,给 项目一个 root dir。

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/fuwuqi/xt/2021/1027/16057.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部