Darwinの `grep -a /dev/sda1`と同じですか?

Darwinの `grep -a /dev/sda1`と同じですか?

私は次のようなものを実行したい

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

Linuxでは、<drive device>次のようになります/dev/sda1。 Darwinに該当するものをどのように見つけることができますか?

(不明な場合に備えて、誤って削除されたデータを見つけるために最後の努力を払っています。)

答え1

OS Xは、現在のファイルシステムがディスク全体を占有している場合、この方法を使用します/dev/disk5。ディスクが分割されている場合は、2番目のパーティションs#と同様にサフィックスを追加します。/dev/disk5s2sパーティションとして機能する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ディスクには3つのスライスがあるため、/dev/disk0ディスク全体に1つが追加され/dev/disk0s1ます...s3

の場合、disk7スライスは報告されないため、/dev/disk7ディスクノード全体を通してスライスにアクセスできます。

答え2

ディスクをpingするときgrep(実際に印刷できない情報が見つからない限り)、次のことをお勧めします。

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

すべてのバイナリデータは改行文字に変換され、報告されたgrepオフセットが1だけ増加しない限り無視できます。

答え3

ディスクデバイスを検索するときにいくつかの問題が見つかりました。ここにヘルパースクリプトを使用して文書化しました。

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

関連情報