equivalente a 'grep -a / dev / sda1' em Darwin?

5

Eu quero executar algo como

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

No Linux, <drive device> seria algo como /dev/sda1 . Como posso encontrar o equivalente em Darwin?

(Caso não seja óbvio, estou em uma busca de última hora por dados excluídos acidentalmente.)

    
por kjo 25.08.2014 / 16:37

3 respostas

5

Se o sistema de arquivos assumir o disco inteiro, o OS X atualmente usa um nome como /dev/disk5 . Se o disco estiver particionado, ele adicionará um sufixo s# , como /dev/disk5s2 para a segunda partição. ( s é a abreviatura de "slice", um BSDismo funcionalmente equivalente a uma partição.)

Os discos são numerados sequencialmente na ordem de descoberta pelo sistema operacional, durante a inicialização, então você pode ter que experimentar um pouco para descobrir qual dispositivo é qual.

Se você diz diskutil list na linha de comando, você obtém uma lista detalhada dos discos disponíveis, incluindo seus /dev nós e nomes de volume:

/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

No caso de disk0 acima, há três fatias no disco, portanto, há um /dev/disk0 para todo o disco, além de /dev/disk0s1 a ...s3 .

No caso de disk7 , não há fatias relatadas, portanto, você deve acessar essa através do nó /dev/disk7 do disco inteiro.

    
por 25.08.2014 / 17:04
1

Quando grep ping de um disco - a menos que você realmente esteja procurando informações não imprimíveis - você pode gostar de fazer:

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

Todos os dados binários são convertidos em novas linhas e grep pode simplesmente ignorá-lo, exceto para incrementar o deslocamento relatado por um.

    
por 26.08.2014 / 02:50
-1

Eu notei algumas pegadinhas ao usar dispositivos de disco que observei aqui com um script de ajuda:

link

    
por 26.08.2014 / 00:57