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. 디스크가 분할된 경우 두 번째 파티션 s#과 마찬가지로 접미사 를 추가합니다. /dev/disk5s2( s파티션 역할을 하는 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/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

관련 정보