首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

探索文件系统:高效、可靠的文件管理与访问机制

内存就像是一个书包,容量有限,只能带着一部分东西。而图书馆则是一个专门存储和管理文件的地方,拥有更大的容量,并且可以永久保存文件。为了能够快速找到需要的文件,我们需要有一个书单来记录每本书放在哪里,这个书单就相当于文件系统的索引区,记录着文件的位置和相关信息。同时,为了提高访问效率,热门借阅的书会放在最前面供大家选择,避免每次都要去远处找书。通过良好的文件系统规划,我们可以提高数据管理的效率和安全性,本文将通过类似于图书馆的组织和管理方式再一步一步的讲解文件是如何放入磁盘的、索引节点等这些知识点。

06

Foremost简介

上周在 安恒萌新粉丝群:928102972分享介绍了 binwalk,今天分享一款同样可以用来文件还原分离的神器。 foremost是一个 控制台程序,用于根据页眉,页脚和内部数据结构 恢复文件。 Foremost可以处理图像文件,例如由 dd, Safeback, Encase等生成的图像文件,或直接在驱动器上。页眉和页脚可以由配置文件指定,也可以使用命令行开关指定内置文件类型。这些内置类型查看给定文件格式的数据结构,从而实现更可靠,更快速的恢复。在 数字取证中和 CTF中常用来恢复、分离文件。它默认支持 19种类型文件(jpg, gif, png, bmp, avi, exe, mpg, mp4, wav, riff, wmv, mov, pdf, ole, doc, zip, rar, html, cpp 等文件)的扫描识别恢复,还可以通过(通过配置它的配置文件 foremost.conf)增加新的支持类型。

02

改变世界的一次代码提交

Linux 作为最大也是最成功的开源项目,吸引了全球程序员的贡献,到目前为止,共有两万多名开发者给 Linux Kernel 提交过代码。令人惊讶的是,在项目的前十年(1991 ~ 2002)中,Linus 作为项目管理员并没有借助任何配置管理工具,而是以手工方式通过 patch 来合并大家提交的代码。倒不是说 Linus 喜欢手工处理,而是因为他对于软件配置管理工具(SCM)非常挑剔,无论是商用的 clearcase 还是开源的 cvs、svn 等都不能入他的法眼。在他看来,一个能够满足 Linux 内核项目开发使用的版本控制系统需要满足几个条件:1) 快 2)支持多分支场景(几千个分支并行开发场景) 3) 分布式 4) 能够支持大型项目。直到2002年,Linus 终于找到了一款基本满足他要求的工具——BitKeeper, 而 BitKeeper 是商业工具,他们愿意给 Linux 社区免费使用,但是需要保证遵守不得进行反编译等条款。BitKeeper 提供的默认接口显然不能满足社区用户的全部需要,一位社区开发者反编译 BitKeeper 并利用了未公开接口,这让 BitKeeper 公司撤回了免费使用的 License。不得已,Linus 利用假期十天时间,实现一款 DVCS —— Git,并推送给社区开发者们使用。

06

Linus Torvalds分享的git设计思路和特点

花了一个小时断断续续的看完了07年Linus Torvalds 在ggtalk上面的分享的git设计思路很特点。感悟很多,首先可以感到大佬真的是对自己的Linux内核(树)真的是爱护之极,捧在手里的感觉,多次也透露出哪种优越感,真的是一位顶尖极客的模样,只关心技术,不怕得罪人多次嘴臭。挨打⚠。首先他明确了风格,代码一定要有层次性,大部分时候写简单的数据结构(其实算法不太重要,数据结构最重要),在性能上面妥协,写出深奥的片段,只为了更快。而且重点说了分布式,不把鸡蛋放一个篮子里面,有点现在区块链的味道,去中心化。大家都是顶级节点,可以互相pull,最后pull到核心project上面,众生平等。憨憨可以在自己的分支上面耍,耍坏了也可以很方便被抓住。多次说到了20B的SHA-1码,可以把代码到处放,只要20b的东西相同就行。大佬说了,你把你的代码放在任何介质上面多少年,拿出来只要20b的东西没有变就可以很使用,没有被小垃圾篡改。而且源码控制系统的灵魂就是放进去什么取出来就是什么,没有被污染。而且更重要的把代码组织化代码再也不是单独的,而是一个一个的project,代码们不孤单。就是git --init,关键是内容而不是文件,开销很大的操作,但是你关注一个函数的前世今生,不是很好吗?五年前被创建,被19个人所修改,转移了100个文件夹,代码扩充了1000行(当然这个10000行的函数肯定不美)但是这样去追踪一个函数不是很棒吗?他一生就有两个project,一个内核一个管理内核的版本控制工具,而百分之90的相关从业者又靠着这两个project维生,除了语言,文化,科学没有什么比这影响更加深入人心。这就是改变世界。

02

Mysql主从配置,实现读写分离

大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果更是 不堪设想。这时候,我们会考虑如何减少数据库的联接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached,如果资金丰厚的话,必然会想到假设服务器群,来分担主数据库的压力。Ok切入今天微博主题,利用MySQL主从配置,实现读写分离,减轻数据库压力。这种方式,在如今很多网站里都有使用,也不是什么新鲜事情,今天总结一下,方便大家学习参考一下。

01
领券