搜索非常大的文件

Searching through really big files

我需要搜索 1 TB 的原始硬盘数据。我需要在里面找到一些东西。我尝试使用 sudo cat /dev/sdc | less 但这失败了,因为它将所有内容都放入了读取的 RAM 中。我只有 8 GB 的 RAM 和 8 GB 的交换 space 所以将整个 TB 的数据放入 RAM 是行不通的。

我想知道我是否可以通过某种方式让 less 忘记在 1GB 标记之后读过的内容或者使用其他编辑器。

我不小心重新分区了我的驱动器并丢失了一些重要文件。我尝试了一些实用程序,但其中 none 有效,所以我尝试了这个。我得到了一些文件,但我无法获取其余文件,因为计算机死机并耗尽了 RAM。

我吸取了教训,我需要更频繁地进行备份。非常感谢任何帮助。

less-B 选项正是您所要求的。可以让less健忘。结合-b1048576分配1G(-b单位为K)

或者以交互方式进行:运行 less 通常,向下滚动直到开始变得有点迟钝,然后在 less 提示符下输入 -B激活该选项(您知道您可以交互式设置 less 选项吗?)

只是不要试图向后滚动太远,否则你会被遗忘的内容之地,那里会发生奇怪的事情。

(旁注:我以前做过这种恢复,如果你能找到指向数据的文件系统结构(索引节点块等),而不是在一个大的文件中搜索数据,那就更容易了转储。即使一些 inode 已经消失,通过首先从幸存的 inode 中恢复所有内容,您可以缩小其他文件可能所在的未知块的范围。)