Como esvaziar o lixo usando o terminal?


241

Não consigo pesquisar na lixeira em nenhum lugar. Você pode me dizer um comando ou algo assim para esvaziar o lixo usando o terminal?


2
Isto foi publicado há 3 anos. Precisamos de algo que explique isso, incluindo qual versão ele funciona aqui em 2017
SDsolar 29/07/17

Respostas:


313

Você pode usar o comando ˋrmˋ:

 rm -rf ~/.local/share/Trash/*

O comando rm remove (exclui) arquivos ou diretórios.

-f, --force     Ignore nonexistant files, and never prompt before removing.
-r, -R, --recursive     Remove directories and their contents recursively.

A pasta da lixeira encontra-se em: $HOME/.local/share/Trash

Cuidado ao usar o rmcomando - os arquivos não são enviados para uma lixeira onde você pode recuperá-los, para que não seja fácil desfazer.


10
Isso não funcionará se o lixo estiver em outro lugar.
Braiam

1
@ hellodear2 Observe que isso ~é apenas uma coisa específica do shell, que se expande para o caminho do diretório inicial. O uso, por exemplo "~/some/path", não será expandido por causa das citações. Da mesma forma, nem todos os gerenciadores de arquivos entenderão ~se você o inserir na barra de endereços.
Ruslan

11
Pastas e arquivos confidenciais do sistema não podem ser removidos sem privilégios e rmnão podem remover pastas, a menos que você ofereça a opção -r(ou equivalente). No entanto, o uso rmsem o devido cuidado pode causar a perda de arquivos pessoais importantes , principalmente se usados ​​com argumentos curinga.
Marc van Leeuwen

1
@ hellodear2 veja isso e esta pergunta para exemplos quando o til não parece funcionar (no entanto, são sobre bash). Eu realmente não sei quais shell específicos não o suportam, mas você deve entender que o til é implementado não no nível do sistema de arquivos, mas no nível do aplicativo. XFE é um exemplo de gerenciador de arquivos que não entende ~na barra de endereço.
Ruslan

4
por que isso é aparentemente aprox. 100 vezes mais rápido do que clicar na lixeira "vazia" em qualquer navegador de arquivos?
phil294

131

Com trash-cliinstalado, você pode fazer

trash-empty

detalhes mais interessantes sobre o manuseio de lixo: Aqui


6
Porém, isso não funciona imediatamente e requer a instalação do lixo-cli .
Skarz

19
Sim, mas é a resposta correta. Se você tiver um pendrive USB, por exemplo, os arquivos que você colocar na lixeira serão colocados em um diretório oculto na raiz do dispositivo (pelo menos aconteceu na última vez que verifiquei) .Trash-$UID- portanto, nesse caso, o lixo está fisicamente dois lugares diferentes ...
Rmano 19/05/14

Tão triste que você precise instalar um pacote apenas para esvaziar o lixo. Contar o lixo no espaço em disco é um dos recursos mais irritantes do Ubuntu.
Michael

3
@ Michael "Lixeira" é um recurso fornecido pelo gerenciador de desktop, que é uma camada acima das coisas que você usaria normalmente na linha de comando. Na verdade, tudo o que faz é mover arquivos para uma pasta oculta no mesmo dispositivo e armazenar alguns metadados para que possam ser colocados no lugar, se o usuário desejar. Você não recupera nenhum espaço até "esvaziar" a lixeira, que é quando o arquivo é realmente excluído.
Seamus Connor

3
Note-se que este comando é específico do usuário. Eu o instalei e estava coçando a cabeça por que não estava funcionando até que percebi que os arquivos estavam no lixo de outro usuário.
Billynoah

52

Você está procurando o $XDG_DATA_HOME/Trashdiretório O diretório da lixeira é definido na "Especificação da lixeira da área de trabalho" do site freedesktop . Essa variável normalmente não está disponível nas janelas do terminal, portanto você precisará disso trash-empty. Este comando segue todas as especificações do Freedesktop.org e é inteligente o suficiente para descobrir onde está o Lixo. Você precisará instalá-lo primeiro.

Existem outras ferramentas para isso, como as gvfs-trash --emptyque também podem enviar itens para a Lixeira.


+1 para $XDG_DATA_HOME. Como você conseguiu isso?
Jobin

4
O @Jobin está na especificação. ramendik.ru/docs/trashspec.html
Braiam

@Braiam Você pode, por favor, elaborar mais? Como posso usá-lo? Não estou entendendo como isso está resolvendo meu objetivo. Por favor, explique um pouco. E eu não quero jogar fora os itens, quero esvaziá-lo.
Hellodear

2
@ hellodear2 trash-empty esvazia o lixo . Você só precisa executá-lo. O binário está no trash-clipacote. É o mesmo que a solução jhort, apenas que explico de onde vem e ofereço outra ferramenta.
Braiam

Agora gio trash --empty, pelo menos no Ubuntu 18.10 / Gnome 3.
JB Rainsberger


1

Eu tive problemas com

rm -rf ~/.local/share/Trash/*

Então eu tive que fazer:

sudo -s
cd ~/.local/share/Trash/  

Antes de digitar o próximo comando, verifique se está no diretório correto, pois é possível excluir facilmente tudo da sua pasta pessoal dessa maneira e não haverá aviso.

rm -fr *

E então tudo se foi ...


Por que sudo e por que rm -rf. Isso é desnecessário.
Mikewhatever 29/07

1
@mikewhatever - Por quê sudo? Como eu havia excluído algo como superusuário e, para esvaziar o Trash, precisava fazer isso sudopara ter esse privilégio. Simplesmente sudo rm -rf /fullabsolutepathfunciona em um comando.
Harvey

lixo vazio e rm -rf ~ / .local / share / Trash / * não funcionará se você excluir as pastas raiz. A resposta de @ Cisum funcionou melhor para mim.
Rainer

o que é isso? Eu tentei isso e tudo se foi. Todos os dados foram retirados do meu sistema.
Rajneesh071

2
Eu me pergunto quem votou nisso? Este é um péssimo conselho / conjunto de comandos e muito perigoso se alguns executam os las rm -fr *na pasta errada. Por favor, edite sua resposta e, pelo menos, use caminhos completos ...
Tanasis
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.