Como posso pular a lixeira ao excluir um arquivo?

66

Costumo conectar diferentes unidades de disco rígido USB externas e unidades flash ao meu computador e gostaria de facilitar a exclusão de arquivos e a recuperação de espaço em disco a partir deles.

Se eu simplesmente excluir o arquivo, ele será mantido em uma pasta lixeira oculta na unidade externa até que eu esvazie a Lixeira. Isso também me força a esvaziar minha lixeira local simultaneamente enquanto o disco externo ainda está conectado para recuperar o espaço em disco, o que é indesejável.

No momento, a única outra "solução" que encontrei é mover o arquivo para o disco rígido interno e depois jogá-lo no lixo. Isso não é o ideal porque eu perco tempo movendo arquivos de uma unidade para outra (eu lido regularmente com VMs de 20 GB ou mais).

Como posso excluir permanentemente um arquivo de uma unidade externa, ignorando a lixeira?

Vermelho e branco
fonte
11
É muito difícil apagar permanentemente algo de uma unidade USB baseada em flash. Leitura adicional: security.stackexchange.com/questions/5662/…
Andris
3
@ Andrew Obrigado, link interessante. Eu acho que estruturei minha pergunta mal. Não estou interessado em uma exclusão segura. Estou simplesmente interessado em excluir um arquivo e recuperar o espaço.
Redandwhite 5/10
Portanto, você não pode esvaziar a lixeira localmente quando o arquivo é externo, mas pode ser armazenado internamente? Por que diabos manter algo no lixo em qualquer lugar quando você está a um passo de excluí-lo? Não recebo a justificativa adicionada. Por que não editar isso e apenas dizer que você quer fazer o X?
bmike
6
@ Mike porque eu não me importo de ter um lixo localmente. Eu me importo de ter um lixo em uma unidade flash mais limitada. Essencialmente, a exclusão de um arquivo não libera espaço na unidade. Eu sei que isso é o mesmo para discos locais, mas é mais aceitável para mim. Isso aborda um caso de uso específico.
Redandwhite 8/08
É incrível que a Apple não veja que problema é esse. Como diabos um usuário normal deve entender o que está acontecendo? Do ponto de vista deles, o drive USB está vazio, mas inútil!
CJA

Respostas:

17

⌘ Command⌥ Option⌫ Deleteexcluirá permanentemente os arquivos, com um diálogo de confirmação avisando que esta ação não pode ser desfeita. ⌘Command⌫ Deletesimplesmente move os arquivos para a Lixeira, sem confirmação.

Dica: sempre que quiser que o aplicativo Mac execute a mesma ação, mas de maneira um pouco diferente, tente fazê-lo com o ⌥ Optionbotão pressionado.

hamstergene
fonte
11
Obrigado! Esta é agora a resposta aceita. Para o benefício de outras pessoas, pode ser útil observar em sua resposta que Alt é chamado de Opção no teclado de layout dos EUA.
Redandwhite
54

Você pode criar um serviço ou aplicativo do Automator para facilitar a execução do rmcomando do shell, que excluirá permanentemente arquivos ou pastas e ignorará a lixeira.

Por exemplo, comece com a criação de um novo serviço no Automator.app .

  • Selecione files or folderscomo entrada, você provavelmente também deseja limitar a disponibilidade desse serviço ao aplicativo Finder.

Entrada de serviço do Automator

  • Opcionalmente, mas altamente recomendado, primeiro adicione uma Ask for Confirmationetapa ao fluxo de trabalho.

Etapa de confirmação

  • Por fim, adicione a Run Shell Scriptetapa ao fluxo de trabalho. Certifique-se de passar a entrada as arguments. Em seguida, você pode colocar o seguinte script:

    for f in "$@"
    do
        rm -rf "$f"
    done
    

Script de shell de entrada

Conforme mencionado por @Thecafremo, você também pode adicionar um -Pparâmetro rmpara obter segurança adicional ao excluir. Para uma segurança extra, você pode adicionar algum feedback audível adicionando o seguinte comando no final do script de shell:

afplay "/System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds/finder/empty trash.aif"

Salve seu serviço e ele deverá estar pronto para uso no Finder no menu Serviços na barra de menus. O serviço também aparecerá na parte inferior do menu, clicando com o botão direito do mouse nos arquivos do Finder, embora, para fazer com que apareça lá, talvez seja necessário executá-lo uma vez no Finder > Servicesmenu primeiro. Você também pode configurar um atalho de teclado para o seu serviço no painel de preferências Teclado, em Preferências do Sistema.

Menu Serviços

Serviço em ação

Em vez de criar um serviço, você também pode criar um aplicativo no Automator, que pode ser fixado no Dock para arrastar arquivos para ele.

Gerry
fonte
11
Esta é com certeza a solução mais elegante. E é grátis :-)
Maverik
Isso é muito legal. Graças a uma grande solução :)
Redandwhite
Isso não está funcionando para mim no Mavericks ... Simplesmente não faz nada quando eu uso o serviço.
Bruno Stonek
11
Gostaria de acrescentar que esse serviço pode até ser usado para excluir arquivos que já estão no lixo - algo que, de outra forma, é muito difícil. (Impressionante!)
Protector one
11
Impressionante! Algumas coisas. Ao clicar no ícone dentro da etapa Solicitar confirmação, será alterado para um sinal de exclamação amarelo - útil para avisar que o que você está prestes a fazer é perigoso. Ao salvar, o nome digitado deve ser "Excluir permanentemente", pois é o que será mostrado no menu Serviços. Infelizmente, isso não suporta sudoquando a senha é necessária. Eu tentei usar osascript -e ... with administrator privelegesmas escapar do original "com \"não parecem funcionar.
ADTC
19

E a opção poderia ser o comando Terminal rm, com a -Popção se você quiser mais segurança:

[Opção -P ] Substituirá arquivos regulares antes de excluí-los. Os arquivos são substituídos três vezes, primeiro com o padrão de bytes 0xff, depois 0x00 e 0xff novamente, antes de serem excluídos.

Para fazer isso, apenas:

  1. Abra o Terminal.app (encontrado em / Aplicativos / Utilitários).
  2. Digite rm -P e arraste o arquivo para a janela do terminal. Então aperte Enter.
Thecafremo
fonte
11
Uau, arrastar a pasta excluirá toda a pasta, certo?
duci9y
11
@ duci9y Certo! Vou editar a resposta para corrigi-lo. Responder sem revisão não é a melhor coisa a se fazer.
Thecafremo 5/10/12
2
Você também pode remover uma pasta, se você usar a opção -rf.
Maverik
11
sudo rm -rf seguido de espaço faz maravilhas, obrigado!
precisa saber é o seguinte
11
A solução aceita acima é boa se você tiver que fazer isso com frequência, mas eu só tinha um arquivo que eu precisava remover (da órbita) e isso faz o truque.
hairboat
4

Você já pensou em usar o Lixo Sem na Mac App Store?

Maverik
fonte
11
Parece decente, mas eu queria saber se há algo disponível gratuitamente.
Redandwhite 5/10
Isso é verdade :-) Mas pelo menos é barato.
Maverik
4

Que tal algo como Trash X . A descrição diz:

Você pode usá-lo para excluir ou destruir instantaneamente arquivos e pastas sem enviá-los para a lixeira. Você pode usá-lo para esvaziar ou destruir o lixo apenas em discos selecionados. E, é claro, você pode usá-lo como a lixeira que você sempre teve na área de trabalho.

binarybob
fonte
3

O truque a seguir funciona com o OS X El Capitan. Eu recebi a dica daqui .

Selecione seu (s) arquivo (s) no Finder. Vá para o Filemenu e, ao pressionar a alt/optiontecla, você verá a opção "Mover para a lixeira" mudar para "Excluir imediatamente ...".

Tyler Collier
fonte
2

Existe uma ferramenta gratuita chamada Skip The Trash , que não apenas permite a exclusão regular, mas a exclusão autenticada como administrador. Ele adiciona menus de contexto ao Finder:

http://www.blazingtools.com/delete_without_trash_mac.html

John Hull
fonte
0

A partir do El Capitan 10.11.6, isso agora é possível sem o uso do Terminal.app: selecione os arquivos dos quais você deseja se livrar, clique com o botão direito do mouse e escolha "Excluir imediatamente ...".

dataArchitect
fonte