Arquivos excluídos recuperados no Mac por linha de comando


24

Excluí acidentalmente um arquivo executando:

rm -rf ./Desktop/myScript.sh

Eu acho que é possível recuperar o arquivo, porque o rmcomando é removido temporariamente. Como posso recuperar o arquivo excluído no Mac OSX?


1
Você desejará procurar ferramentas de exclusão do HFS +, supondo que você esteja usando o HFS +. O site da Apple SE provavelmente sabe mais.
Derobert 14/09/12

1
Anedótico, mas meu sogro acidentalmente excluiu um grande diretório de fotos no Mac OS X e conseguiu recuperar a maioria delas usando uma ferramenta que ele baixou (acho que custou dinheiro, mas houve uma tentativa para um ou dois arquivos) , para que você possa testar se vai funcionar e, no seu caso, isso seria suficiente). discussões.apple.com
thread

Respostas:


28

MacOS é um sistema operacional Unix e rmsignifica "adeus". A interface da GUI permite mover um arquivo para a lixeira (que você pode recuperar), mas não foi isso que você fez. Se você tiver um backup (por exemplo, o Time Machine em execução), será salvo.

Esclarecimento

Estritamente falando (como aponta @ire_and_curses), rmbasta excluir a entrada de diretório do arquivo, deixando intocados os blocos de disco que ele usou. Se você pudesse desativar o sistema de arquivos em que o arquivo estava, existem métodos avançados pelos quais você pode tentar descobrir novamente o conteúdo desses blocos. Existem também algumas ferramentas de recuperação que podem ser adquiridas para recuperar a perda. A questão central é que nada mais reutiliza nenhum dos blocos de disco representados pelo seu arquivo.

O MacOS também possui um comando de remoção segura ( srm) que sobrescreve um arquivo antes de ser unlinkeditado, tornando-o irrecuperável. Eu uso o unlinktermo, já que esta é a chamada do sistema subjacente associada ao rmcomando de um shell . Isso prepara o cenário para a próxima parte desta discussão, abaixo.

Nota

[Devo me apressar a acrescentar que, mesmo que você sobrescreva um disco várias vezes, existem maneiras de ler o que foi gravado uma dúzia ou mais de vezes antes. Para higienizar adequadamente um disco para descarte, é necessário um banho de ácido, um grande martelo e uma trituradora. ]

unlinkUm arquivo diminui a contagem de links do inode do arquivo. Se esse valor atingir zero, o arquivo será excluído do diretório do sistema de arquivos e seus blocos de disco serão liberados para reutilização. Isso acontece apenas quando nenhum processo tem o arquivo aberto. Muitas vezes, é confuso para os administradores descobrir que um sistema de arquivos está utilizando quantidades muito grandes de espaço que não podem ser explicadas pela simples soma de blocos de disco (com algo parecido du). Na maioria das vezes, o motivo é que um arquivo aberto foi removido, para que não seja mais representado em seu diretório. O motivo é que os blocos de disco permanecem em uso até o último processo usando o arquivo terminar.

Abrir um arquivo e unlinkfazê-lo imediatamente é uma prática comum para criar arquivos temporários seguros. Ferramentas como essa lsofpodem expor esses arquivos invisíveis se você procurar arquivos com uma contagem de links (NLINK) igual a zero.

No Unix e Linux (do qual o MacOS é um Unix da marca), rmsegue-se a filosofia do Unix de "faça-o" sem alarde, se puder. Ou seja, se você tem permissão para remover um arquivo (ou seja, seu diretório permite a gravação), rmfaz exatamente o que você pede. Você pode criar um alias do shell rm='rm -i'que solicita sua confirmação antes de executar a operação. Usar o -fswitch com rmsubstituições que, se necessário. Um alias rmé mais útil quando você globremove como rm *.log. Ou seja, você tem a opção de pular um arquivo na lista.


Bem feito na seção "esclarecimentos".
Tim

A função "eliminação segura de lixo" do Mac OS usa um padrão pesquisado para realmente apagar os poços quânticos nos modernos discos giratórios. No armazenamento de estado sólido, ele usa a funcionalidade "aparar" para colocar os blocos de armazenamento associados ao arquivo na cabeça da fila "a ser apagada" no controlador de armazenamento. Use-os se você realmente deseja que o conteúdo seja retirado do disco, mas observe que eles levam muito tempo para esfregar um disco giratório.
Wexxor 01/09/19

4

Dependendo do seu conteúdo, mas você pode usar diferentes softwares de terceiros para fazer isso, por exemplo:

e muitos mais.

Você pode encontrar mais aplicativos digitando 'recuperação de dados' na App Store.


A maneira mais avançada é inicializar seu OSX no modo de recuperação (ou desmontar sua partição, se você puder) e procurá-lo manualmente (se você se lembrar de algum texto específico do seu script).

Algum exemplo:

diskutil list
sudo cat /dev/disk0s2 | strings | grep -C20 "my_stuff"

1
Usado Wondershare e tenho algum código para trás eu "git -f limpo" 'd
FIONBIO

2
A partir de 2019, o truque de digitalização de dispositivos de bloco é impossível ou mais difícil de executar no OSX agora devido à criptografia APFS. Tenho dados com êxito dessa maneira no linux: P
primehunter326 02/07
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.