相当于达尔文上的 `grep -a /dev/sda1`?

相当于达尔文上的 `grep -a /dev/sda1`?

我想运行类似的东西

% sudo grep -i -a 'some-string' <drive device>

在 Linux 上,<drive device>会类似于/dev/sda1.我怎样才能找到达尔文的同等内容?

(如果不明显,我正在尽最后的努力寻找意外删除的数据。)

答案1

如果文件系统接管整个磁盘,OS X 当前使用类似/dev/disk5.如果磁盘已分区,它会添加一个s#后缀,就像/dev/disk5s2第二个分区一样。 (s是“slice”的缩写,一种 BSDism,其功能相当于分区。)

磁盘在启动时按操作系统发现的顺序按顺序编号,因此您可能需要进行一些实验才能确定哪个设备是哪个。

如果您diskutil list在命令行中输入,您将获得可用磁盘的详细列表,包括它们的/dev节点和卷名称:

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *121.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage                         121.0 GB   disk0s2
   3:                 Apple_Boot Boot OS X               134.2 MB   disk0s3
/dev/disk1
   ...etc..
/dev/disk7
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Time Machine           *999.5 GB   disk7

在上面的情况下disk0,磁盘上有三个片,因此/dev/disk0整个磁盘有一个 ,加上/dev/disk0s1through ...s3

在 的情况下disk7,没有报告任何切片,因此您可以通过整个磁盘/dev/disk7节点访问该切片。

答案2

grepping 磁盘时 - 除非您实际上正在寻找不可打印的信息 - 您可能会喜欢这样做:

tr -c '[:print:]\n' '\n\n' </dev/disk |
grep -b 'regex' 

所有二进制数据都会转换为换行符,并且grep可以简单地忽略它,除非将其报告的偏移量增加一。

答案3

我在 grep 磁盘设备时注意到了一些问题,我在此处用帮助程序脚本记录了这些问题:

http://www.pixelbeat.org/docs/disk_grep.html

相关内容