Comment puis-je vider la corbeille à l'aide d'un terminal?

241

Je ne suis pas capable de chercher des ordures n'importe où. Pouvez-vous s'il vous plaît me dire une commande ou quelque chose comme ça pour vider la corbeille à l'aide du terminal?

Bonjour mon cher
la source
2
Cela a été posté il y a 3 ans. Nous avons besoin de quelque chose qui précise cela, y compris quelle version cela fonctionne pour ici en 2017
SDsolar le

Réponses:

313

Vous pouvez utiliser la commande rmˋ:

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

La commande rm supprime (supprime) les fichiers ou les répertoires.

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

La corbeille se trouve à l'adresse suivante: $HOME/.local/share/Trash

Faites attention à la façon dont vous utilisez la rmcommande - les fichiers ne sont pas envoyés dans une corbeille où vous pouvez les restaurer, ce qui rend difficile leur annulation.

nux
la source
10
Cela ne fonctionnera pas si la corbeille est ailleurs.
Braiam
1
@ hellodear2 Remarquez qu'il ~ne s'agit que d'un élément spécifique du shell, qui s'étend au chemin de votre répertoire personnel. Utilisation, par exemple, "~/some/path"ne pas développer à cause de la citation. De même, tous les gestionnaires de fichiers ne comprendront pas ~si vous le saisissez dans la barre d'adresse.
Ruslan,
11
Les dossiers système sensibles et les fichiers ne peuvent pas être supprimés sans privilèges et rmne peuvent pas supprimer de dossiers du tout, à moins que vous ne lui donniez l' -roption (ou son équivalent). Cependant, une utilisation rmsans précaution peut entraîner la perte de fichiers personnels importants , en particulier si elle est utilisée avec des arguments génériques.
Marc van Leeuwen
1
@ hellodear2 voir ceci et cela questions pour des exemples quand tilde ne semble pas fonctionner (ce sont sur bash cependant). Je ne sais pas vraiment quels shell spécifiques ne le prennent pas en charge, mais vous devez comprendre que le tilde est implémenté non pas au niveau du système de fichiers, mais au niveau de l'application. XFE est un exemple de gestionnaire de fichiers qui ne comprend pas la ~barre d'adresse.
Ruslan
4
pourquoi est-ce apparemment environ. 100 fois plus rapide que de cliquer sur la corbeille "vide" dans un navigateur de fichiers?
phil294
131

Avec trash-cliinstallé, vous pouvez faire

trash-empty

plus de détails intéressants sur la gestion des déchets: ici

jhort
la source
6
Cela ne fonctionnera toutefois pas et nécessitera l'installation de trash-cli .
Skarz
19
Oui, mais c'est la bonne réponse. Si vous avez une clé USB, par exemple, les fichiers que vous y déposez seront placés dans un répertoire caché à la racine de l'appareil (du moins c'est ce qui s'est passé la dernière fois que j'ai vérifié) .Trash-$UID- dans ce cas, la corbeille est physiquement deux endroits différents ...
Rmano
Si triste que vous deviez installer un paquet juste pour vider la corbeille. Compter la corbeille sur l'espace disque est l'une des fonctionnalités les plus ennuyeuses d'Ubuntu.
Michael
3
@ Michael "Corbeille" est une fonctionnalité fournie par le gestionnaire de bureau, qui est une couche au-dessus de la substance que vous utiliseriez habituellement dans la ligne de commande. En réalité, il ne fait que déplacer les fichiers dans un dossier caché du même appareil et stocker des métadonnées afin de les remettre en place si l'utilisateur le souhaite. Vous ne récupérez réellement aucun espace tant que vous n'avez pas "vidé" la corbeille, c'est-à-dire lorsque le fichier est réellement supprimé.
Seamus Connor
3
Il convient de noter que cette commande est spécifique à l'utilisateur. Je l'ai installé et je me suis demandé pourquoi cela ne fonctionnait pas jusqu'à ce que je réalise que les fichiers étaient dans la corbeille d'un autre utilisateur.
Billynoah
52

Vous recherchez le $XDG_DATA_HOME/Trashrépertoire. Le répertoire de la corbeille est défini dans la "Spécification de la corbeille du bureau" du site freedesktop . Cette variable n'est normalement pas disponible dans les fenêtres du terminal, vous aurez donc besoin de trash-empty. Cette commande suit toutes les spécifications de Freedesktop.org et est suffisamment intelligente pour savoir où se trouve la corbeille. Vous devrez d'abord l'installer.

Il existe d'autres outils pour cela, comme par exemple, gvfs-trash --emptyqui peuvent également envoyer des éléments à la corbeille.

Braiam
la source
+1 pour $XDG_DATA_HOME. Comment as-tu eu ça?
travail en
4
@Jobin est tout dans la spécification. ramendik.ru/docs/trashspec.html
Braiam
@Braiam Pouvez-vous élaborer davantage? Comment puis-je l'utiliser? Je ne comprends pas comment cela résout mon but. S'il vous plaît expliquer un peu. Et je ne veux pas jeter les objets, je veux vider la corbeille.
hellodear
2
@ hellodear2 trash-empty vide la corbeille . Vous avez seulement besoin de l'exécuter. Le binaire est dans le trash-clipaquet. Est-ce la même chose que jhort solution juste que j'explique d'où ça vient et offre un autre outil.
Braiam
Maintenant gio trash --empty, au moins sur Ubuntu 18.10 / Gnome 3.
JB Rainsberger Le
9

Avec type installé trash-cli trash-empty

installer le type trash-cli sudo apt-get install trash-cli

dimitris arvanitidis
la source
Cela semble plus sûr
Nabil Kadimi
1

J'ai eu des problèmes avec

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

Donc je devais faire:

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

Avant de taper la commande suivante, assurez-vous absolument que vous vous trouvez dans le bon répertoire, car vous pouvez facilement supprimer tout ce qui se trouve dans votre dossier de base de cette façon et vous ne recevrez aucun avertissement.

rm -fr *

Et puis tout était parti ...

Cisum Inas
la source
Pourquoi sudo, et pourquoi rm -rf. C'est inutile.
Mikewei
1
@mikew Whatever - Pourquoi sudo? Parce que j'avais supprimé quelque chose en tant que superutilisateur, et donc vider le Trash, je devais faire sudopour avoir ce privilège. Fonctionne simplement sudo rm -rf /fullabsolutepathen une seule commande.
Harvey
trash-empty et rm -rf ~ / .local / share / Trash / * ne fonctionnent pas si vous supprimez des dossiers racine. La réponse de @ Cisum a fonctionné le mieux pour moi.
Rainer
wtf est-ce? J'ai essayé cela et tout était parti. Toutes les données ont disparu de mon système.
Rajneesh071
2
Je me demande qui a voté pour ça? Ceci est un conseil / ensemble de commandes terrible et très dangereux si certains le lancent rm -fr *dans le mauvais dossier. Modifiez votre réponse et utilisez au moins les chemins complets ...
Tanasis