Exclusão permanente de arquivos no Mac OS

21

Há um tempo, como um usuário relativamente novo do Mac OS X, fiquei surpreso ao saber que você não pode excluir facilmente arquivos . Diretamente, ou seja, sem movê-los para o lixo primeiro. No Windows e Linux, obviamente, isso pode ser feito com facilidade, mas não no Mac.

Notei isso ao tentar limpar arquivos de um cartão de memória USB - remover os arquivos ("mover para a lixeira") não libera espaço; isso acontece somente após esvaziar todo o lixo do sistema. Não é particularmente conveniente! (Parece estúpido ter que esvaziar toda a lata de lixo apenas para deixar espaço no pendrive. Pode haver gigabytes de material e isso acaba com seu objetivo - e se você realmente precisar restaurar algo do algum dia.)

Então, qual é a sua maneira de contornar isso ? Você comprou um aplicativo de terceiros como o RAW Trash por US $ 16,95 apenas para excluir arquivos ou esvazia diligentemente a lata de lixo sempre que necessário? Ou eu perdi alguma coisa? Além disso, você pode me convencer de que é assim que deve ser - que os usuários não devem mexer com o sistema de arquivos facilmente? :)

Jonik
fonte
1
Você estava procurando o atalho ⌘+⌥+⌫(Command + Option + Delete)?
Daniel Daniel

Respostas:

22

Também não estou muito feliz com a maneira como o Mac OS X lida com isso. Se eu realmente quero excluir algo, especialmente de cartões de memória USB, normalmente inicio o Terminal e rmos arquivos manualmente.

Daan
fonte
28

Como muitas pessoas parecem querer isso, criei um Serviço para fazer isso, para o Snow Leopard, chamado Excluir Imediatamente . Ele aparece no menu Serviços e no menu de contexto no Finder.

Você pode baixá-lo no GitHub . Descompacte o .ziparquivo e mova o " Delete Immediately.service" resultante para a pasta Serviços na sua pasta da biblioteca ~/Library/Services/,. Pode ser necessário fazer logoff e logon novamente (e / ou habilitá-lo na seção Serviços das preferências do teclado) para que o sistema reconheça o serviço.

Eu também sugiro verificar o READMEarquivo na página principal do GitHub. E se você quiser contribuir com o código, localizá-lo ou criar um ícone, fique à vontade!

Menu contextual

Menu Serviços

jtbandes
fonte
4
Shiney. Você também pode vincular um atalho de teclado a este serviço: "No menu Aplicativo, escolha Serviços / Preferências de serviços. Abra Preferências do sistema / Atalhos de teclado / teclado / Serviços. Selecione um serviço, pressione Enter e pressione a combinação de teclas de atalho escolhida" (em gingerbeardman.com/services )
dbr
Muito bom, obrigado! Isso funciona apenas em 10.6? (Eu ainda vou estar no Leopard por um tempo.)
Jonik
1
Ele funciona apenas na versão 10.6 por enquanto, não estou tão familiarizado com o funcionamento dos Serviços na versão 10.5 (eles não aparecem no menu de contexto, e escrever um plug-in de menu de contexto para a versão 10.5 é um pouco mais difícil).
jtbandes
E, Jonik, eu realmente recomendo que você atualize para 10.6 se o seu hardware permitir (ou seja, você possui um Mac Intel). Mesmo que você não tenha muitos aumentos de velocidade se não tiver uma máquina de 64 bits, como eu, os pequenos refinamentos definitivamente valem o preço baixo.
jtbandes
1
Existe uma maneira de atribuir Shift + Del como atalho para este serviço? Parece que as Preferências do Sistema emitem um sinal sonoro para você quanto a qualquer combinação que envolva Del.
haridsv
8

A maneira menos terminal de resolver esse enigma é lançar o seguinte feitiço para apaziguar os deuses da Apple, assim:

Selecione o arquivo a ser sacrificado e depois recitando:

⌘ Excluir

⌘ ⇧ ⌥

Isso enviará o arquivo para a Lixeira e, em seguida, excluirá a Lixeira inteira. Desse modo, a vítima (e todos os outros itens da Lixeira) serão esquecidos.

GeneQ
fonte
Legal, obrigado! Agora eu não posso confirmar se isso funciona, mas se assim for, é exatamente o que eu queria :)
Jonik
12
O que isso faz é primeiro excluir o arquivo e depois esvaziar o lixo. Embora seja um atalho de teclado útil, ele realmente não trata da questão de não poder excluir facilmente os arquivos selecionados.
Daan
1
Daan concordou. Não é o ideal. Mas usar rm no Terminal também não é uma maneira ideal e bastante não-Mac de fazer as coisas. Nosso amigo Jonik terá que ponderar os prós e os contras, eu acho. ;-)
GeneQ 22/07/2009
9
-1 para resposta enganosa. E se o usuário não quiser esvaziar o lixo?
hasen
3
-1, também, a pergunta original menciona que esvaziar o sistema de largura lixo, que é o que esse atalho faz .. "Não particularmente conveniente!"
DBR
4

Para excluir um arquivo específico, sem passar pelo lixo.

  • abrir um terminal
  • tipo rm(com um espaço à direita) ou rm -rse você planeja remover um diretório
  • arraste e solte o arquivo na janela Terminal, que insere o caminho completo para o arquivo solto
  • aperte enter

A solução de serviço "Excluir Imediatamente" da jtbandes é muito mais elegante, mas o " Modo Terminal" não requer nenhum software adicional (o que é bom quando se trabalha em máquinas que você não usa regularmente)

dbr
fonte
+1, graças para o arrasto e de queda sobre ponta terminal
Jonik
Obrigado pela dica útil, com base em sua sugestão que fez um aplicativo de cacau simples, aqui está o link: daemonconstruction.blogspot.in/2013/01/...
Devarshi
@Miraaj Ainda bem que a resposta foi útil! O link para download em seu blog post está quebrado (o link contém a frase seguinte, em vez de um URL)
DBR
@dbr .. obrigado por me informar .. Eu atualizei agora :-)
Devarshi
2

Eu uso rm -rf na linha de comando. Exclui muito mais rápido e exclui tudo. Um problema comum que tenho com o Windows é que excluir é um processo, e não um ponto no tempo, e muitas vezes me vejo vendo o Windows excluir pastas e arquivos por vários minutos. Rm -rf é rápido.

Você também pode usar rm -rf para excluir uma lixeira específica. A lixeira é uma pasta oculta chamada .Trash na raiz do volume ou diretório relevante.

E sim, acho que é assim que deve ser. Os usuários não devem poder excluir arquivos muito rapidamente usando o Finder. Os arquivos devem ser recuperados da lixeira.

Andrew J. Brehm
fonte
Observe que, se o espaço na Lixeira não for contado como espaço usado, os arquivos na Lixeira serão substituídos ao longo do tempo e não poderão mais ser recuperados. Portanto, a escolha é realmente entre manter os arquivos na Lixeira e sofrer o espaço atingido ou não manter os arquivos na Lixeira e ter mais espaço disponível. Combinações entre os dois são imprevisíveis para um usuário normal.
18743 Andrew J. Brehm
4
Esse é um bom conselho, mas acho que deve ficar extremamente claro para os incautos / não entendidos que rm -rf precisa ser usado com muito cuidado; ele apagará tudo na pasta que você passar, incluindo a pasta, sem confirmação. Se uma pasta do sistema for passada para este comando, você poderá causar danos suficientes para exigir a reinstalação do sistema operacional (embora as permissões impeçam a destruição do sistema, eu tento não confiar nelas).
22709 Babu
Por que o voto negativo ???
Andrew J. Brehm
2

Parte da beleza do Mac OS X é que, embora seja fácil para os usuários inexperientes encontrar o caminho e fazer as coisas, os usuários avançados podem "mexer no sistema" usando o poder do Unix subjacente por meio de um shell de comando (por exemplo, Terminal.app).

@Leauki está certo ao usar o comando unix rm, mas TENHA MUITO CUIDADO, principalmente se estiver usando as -rfbandeiras! Não há rede de segurança e você pode causar sérios danos, incluindo a exclusão de seu próprio sistema de arquivos raiz!

Minha recomendação não é usar caminhos absolutos com rm, mas para cdo diretório em que você deseja trabalhar primeiro e, em seguida, por exemplo:

rm -rf ./<subpath to file to delete>onde o ./caminho forçado rma operar apenas no diretório em que você está atualmente.

avstrallen
fonte
5
rm -rf bin - oops Eu esqueci de cd, mas não estou no / então não sou tão grande oops. rm -rf / bin - oops eu esqueci de digitar. tão GRANDES OOPS! (independentemente de onde eu tenha ido para o CD)! Então eu discordo.
Pausado até novo aviso.
@ Dennis - sim, se você esquecer de digitar o período em que está em um mundo de dor! Eu acho que esse é o principal motivo pelo qual a Apple não quer que o usuário comum faça esse tipo de coisa, daí a funcionalidade da Lixeira com a qual o OP estava com problemas. Então, eu concordo com o seu desacordo, mas parece que você e eu somos experientes * nixers que respeitam o shell de comando como o lugar potencialmente perigoso que sabemos que ele é. Eu estava apenas sugerindo que usuários menos experientes adquirissem o hábito mental antes de usar comandos potencialmente perigosos.
avstrallen
Obrigado. Concordo que é fácil o suficiente na linha de comando. Mas, neste caso, não gosto especialmente de recorrer a isso ... No Mac OS, você não deve usar a linha de comando para coisas comuns do usuário final, IMHO, e liberar espaço em um pen drive é uma coisa bastante comum a se fazer.
Jonik
Concordo com o @GeneQ e o @Daan - mas tenho uma solução metodológica: não coloco nada no Lixo até ter certeza de que estou pronto com ele e esvazio o Lixo imediatamente toda vez ... problema resolvido.
avstrallen
1

Eu vim com o seguinte AppleScript, que vinculei a mudar del com o Keyboard Maestro, para que agora funcione como no Windows. Com o item selecionado no Finder, shift del executará o script, que exibe um aviso de diálogo sobre a exclusão permanente do item com seu nome. Clicar em OK completa a exclusão.

Não sei muito sobre os comandos do shell, e alguns dos pôsteres anteriores alertaram para o perigo de usar rm -rf, que é algo que eu fiz no script. Parece funcionar como previsto para mim até agora.

tell application "Finder"
    set myPosixPath to selection as text --returns an alias path
    set myPosixPath to POSIX path of myPosixPath --set it to posix style path with backslashes

    --identify whether it's a file or folder. Only for the warning dialog.
    if character -1 of myPosixPath is "/" then
        set itemType to "folder"
    else
        set itemType to "file"
    end if

    --display a warning
    display dialog myPosixPath & "

This cannot be undone." with title "Really permanently delete this " & itemType & "?"
do shell script "rm -rf " & quoted form of myPosixPath --execute a shell script to delete the item
end tell
rapaz gordo
fonte
para todas as coisas que o Mac OS X ainda não fornece, existe o Keyboard Maestro.
Kaushik Gopal 29/07
0

Eu acho que isso é feito para garantir a consistência e a segurança do usuário. Eu acho que é melhor manter os arquivos por mais tempo do que o necessário e usar o espaço em vez de ficar entusiasmado e excluí-los imediatamente.

Isso é um pouco chato quando você está trabalhando com pen drives e os move para uma máquina Windows e vai ... onde está todo o meu espaço ... e qual é essa pasta .trash irritante.

Bruce McLeod
fonte
0

Use o muCommander para excluir arquivos (é grátis)

Em vez de usar o Finder, talvez use outro gerenciador de arquivos, como o muCommander. Ele pode excluir e mover arquivos para a lixeira também. É muito mais seguro do que colar "rm -rf" em um terminal, onde você corre o risco de colar os comandos errados, causando danos irreversíveis.

neoneye
fonte
0

Se você realmente deseja usar um aplicativo de terceiros , uma alternativa muito mais barata ao RAW Trash que você mencionou é o File Shredder . (Mac App Store dos EUA US $ 3,99)

Ele oferece várias maneiras de excluir arquivos com segurança:

  • Uma exclusão normal de uma passagem que apenas sobrescreve seus arquivos.
  • Um passe compatível com o DoD de sete passagens garante que a maioria das pessoas não consiga acessar seus arquivos.
  • Uma exclusão de Gutmann de 35 passagens garante que seus arquivos sejam removidos quando você os excluir.

Isso pode ser um pouco exagerado para a maioria das pessoas, embora se você estiver procurando uma maneira mais barata do que o RAW Trash para excluir com segurança os arquivos, o FileShredder realiza o trabalho.

Simon
fonte