打印 man 手册

要输出 man 文件的内容很简单:

$ man ls| col -bx > ls.txt

-b:删除回车符,即删除 ^M
-x:将 tab 变为等效的 space,最终效果会使得 ls.txt 的排版更加整齐

如果是在 vim 中直接打开没有经过 col 转换的文件,可以执行类似的命令:

:% !col -bx

ureadahead

ureadahead(über-readahead)是一项提前读取文件的技术,当需要读取这些文件时,由于他们已经被加载至 page cache 中,这会提高启动的性能,加快启动的顺序。

当 ureadahead 没有任何参数启动时,它会检查默认的 pack 文件 /var/lib/ureadahead/pack 的存在性以及是否过期,如果不存在或者超过一个月,系统会丢弃该技术然后执行正常的启动。pack 会在启动结束时包含在启动过程中在内存中打开的文件以及块信息。

如果该文件存并且比较新(newer than a month old),在 pack 中的文件通过 readahead 系统调用读取至 page cache 中

readahead 是一个普遍用在 Linux 上的文件预取(prefetching)的技术,它会通过系统调用将文件内容加载至 page cach。当该文件随后被取用时,该文件的内容会从物理内存而非硬盘中读取,这样会大大的加快读取速度,我们知道下面这些存储器件的访问速度:寄存器 > L1/L2高速缓存 > 内存 > 闪存 > 硬盘。
在安装了新的服务或者更新了系统后,可以做一次 "profile" 操作,这样可以让 ureadahead 载入新的预读文件,启动时在 kernel 参数后面加上 "profile" 就可以了。
Continue reading