Suppression définitive de fichiers sur Mac OS

21

Il y a quelque temps, en tant qu'utilisateur relativement récent de Mac OS X, j'ai été surpris d'apprendre que vous ne pouvez pas facilement supprimer des fichiers . Directement, c'est-à-dire sans les déplacer d'abord dans la corbeille. Sur Windows et Linux, cela peut évidemment se faire facilement, mais pas sur Mac.

J'ai remarqué cela en essayant d'effacer des fichiers d'une clé USB - la suppression des fichiers ("déplacer vers la corbeille") ne libère pas d'espace; cela ne se produit qu'après avoir vidé la corbeille à l'échelle du système. Pas particulièrement pratique! (Il semble stupide de devoir vider la corbeille entière juste pour faire de la place sur la clé USB. Il peut y avoir des gigaoctets de trucs dedans, et ce genre de but va à l'encontre de son objectif - et si vous aviez réellement besoin de restaurer quelque chose à partir du poubelle un jour.)

Alors, quelle est votre façon de contourner cela ? Avez-vous acheté une application tierce comme RAW Trash pour 16,95 $ juste pour supprimer des fichiers, ou videz-vous la corbeille avec diligence chaque fois que vous en avez besoin? Ou ai-je raté quelque chose? De plus, pouvez-vous me convaincre que c'est en fait la façon dont cela devrait être - que les utilisateurs ne devraient pas être en mesure de jouer avec le système de fichiers facilement? :)

Jonik
la source
1
Recherchez-vous le raccourci ⌘+⌥+⌫(Commande + Option + Supprimer)?
Daniel

Réponses:

22

Je ne suis pas très satisfait de la façon dont Mac OS X gère cela non plus. Si je veux vraiment supprimer quelque chose, en particulier des clés USB, je lance généralement Terminal et rmles fichiers manuellement.

Daan
la source
28

Étant donné que tant de gens semblent le vouloir, je viens de créer un service pour le faire, pour Snow Leopard, appelé Supprimer immédiatement . Il apparaît dans le menu Services et le menu contextuel du Finder.

Vous pouvez le télécharger depuis GitHub . Décompressez l' .ziparchive et déplacez le résultat « Delete Immediately.service» aux services dossier dans votre dossier bibliothèque, ~/Library/Services/. Vous devrez peut-être vous déconnecter et vous reconnecter (et / ou l'activer dans la section Services des préférences du clavier) pour que le système reconnaisse le service.

Je suggère également de consulter le READMEfichier sur la page principale de GitHub. Et si vous voulez contribuer au code, le localiser ou faire une icône, n'hésitez pas!

Menu contextuel

Menu des services

jtbandes
la source
4
Shiney. Vous pouvez également lier un raccourci clavier à ce service: "Dans le menu Application, choisissez Services / Préférences de services. Ouvrez Préférences Système / Clavier / Raccourcis clavier / Services. Sélectionnez un service, appuyez sur Entrée, puis sur la combinaison de touches de raccourci choisie" (à partir de gingerbeardman.com/services )
dbr
Très gentil merci! Est-ce que cela fonctionne uniquement sur 10.6? (Je serai toujours sur Leopard pendant un certain temps.)
Jonik
1
Cela ne fonctionne que sur 10.6 pour l'instant, je ne suis pas aussi familier avec le fonctionnement des services sur 10.5 (ils n'apparaissent pas dans le menu contextuel, et écrire un plugin de menu contextuel pour 10.5 est un peu plus difficile).
jtbandes
Et, Jonik, je vous recommande vraiment de passer à la version 10.6 si votre matériel le permet (c'est-à-dire que vous avez un Mac Intel). Même si vous n'obtiendrez pas beaucoup d'accélérations de vitesse si vous n'avez pas de machine 64 bits, comme moi, les améliorations mineures valent vraiment le prix bas.
jtbandes
1
Existe-t-il un moyen d'attribuer Shift + Del comme raccourci à ce service? Il semble que les Préférences Système vous
émettent un signal sonore
8

La manière sans terminal de résoudre cette énigme est de lancer le sort suivant pour apaiser les dieux Apple, comme ceci:

Sélectionnez le fichier à sacrifier puis récitez:

⌘ Supprimer

⌘ ⇧ ⌥ ⌫

Cela enverra le fichier dans la corbeille, puis supprimera la corbeille entière , donc devrait envoyer la victime (et tous les autres éléments mis à la corbeille ) dans l'oubli.

GeneQ
la source
Cool merci! Pour le moment, je ne peux pas confirmer si cela fonctionne, mais si c'est le cas, c'est exactement ce que je voulais :)
Jonik
12
Cela permet tout d'abord de supprimer le fichier, puis de vider la corbeille. Bien que ce soit un raccourci clavier utile, il ne résout pas vraiment le problème de ne pas pouvoir supprimer facilement les fichiers sélectionnés.
Daan
1
D'accord Daan. Ce n'est pas idéal. Mais utiliser rm dans le terminal n'est pas non plus une manière idéale et plutôt non-Mac de faire les choses. Notre ami Jonik devra peser le pour et le contre je suppose. ;-)
GeneQ
9
-1 pour réponse trompeuse. Et si l'utilisateur ne voulait pas vider sa corbeille?
hasen
3
-1 aussi, la question d'origine mentionne que vider la corbeille du système "Pas particulièrement pratique!", Ce que fait ce raccourci ..
dbr
4

Pour supprimer un fichier spécifique, sans passer par la corbeille ..

  • ouvrir un terminal
  • tapez rm(avec un espace de fin), ou rm -rsi vous prévoyez de supprimer un répertoire
  • faites glisser et déposez le fichier sur la fenêtre Terminal, qui entre le chemin complet du fichier déposé
  • appuyez sur Entrée

La solution de service "Supprimer immédiatement" de jtbandes est beaucoup plus élégante, mais la "méthode Terminal" ne nécessite aucun logiciel supplémentaire (donc c'est bien lorsque vous travaillez sur des machines que vous n'utilisez pas régulièrement)

dbr
la source
+1, merci pour le glisser-déposer sur la pointe du terminal
Jonik
Merci pour l'astuce utile, sur la base de votre suggestion, j'ai fait une simple application de cacao, voici le lien: daemonconstruction.blogspot.in/2013/01/…
Devarshi
@Miraaj Content que la réponse soit utile! Le lien de téléchargement dans votre article de blog est cassé (le lien contient la phrase suivante, plutôt qu'une URL)
dbr
@dbr .. merci de m'avoir informé .. Je l'ai mis à jour maintenant :-)
Devarshi
2

J'utilise rm -rf dans la ligne de commande. Il supprime beaucoup plus rapidement et il supprime tout. Un problème commun que j'ai avec Windows est que la suppression est un processus plutôt qu'un point dans le temps et je me retrouve souvent à regarder Windows supprimer des dossiers et des fichiers pendant plusieurs minutes. Rm -rf est rapide.

Vous pouvez également utiliser rm -rf pour supprimer une corbeille spécifique. La corbeille est un dossier caché nommé .Trash à la racine du volume ou du répertoire correspondant.

Et oui, je pense que cela devrait être ainsi. Les utilisateurs ne devraient pas pouvoir supprimer les fichiers trop rapidement à l'aide du Finder. Les fichiers doivent être récupérables à partir de la corbeille.

Andrew J. Brehm
la source
Notez que si l'espace dans la Corbeille n'est pas compté comme espace utilisé, les fichiers dans la Corbeille seront écrasés au fil du temps et ne pourront plus être récupérés. Donc, le choix est vraiment entre garder les fichiers dans la corbeille et souffrir de la perte d'espace ou ne pas conserver les fichiers dans la corbeille et avoir plus d'espace disponible. Les combinaisons entre les deux sont imprévisibles pour un utilisateur normal.
Andrew J.Brehm
4
C'est un bon conseil, mais je pense qu'il devrait être extrêmement clair pour les imprudents / non avertis que rm -rf doit être utilisé avec beaucoup de prudence; il effacera tout ce qui se trouve dans le dossier que vous lui passez, y compris le dossier, sans confirmation. Si un dossier système est passé dans cette commande, vous pouvez faire suffisamment de dégâts pour vous obliger à réinstaller le système d'exploitation (Bien que les autorisations devraient vous empêcher de détruire le système, j'ai tendance à essayer de ne pas compter sur eux).
Babu
Pourquoi le vote négatif ???
Andrew J.Brehm
2

Une partie de la beauté de Mac OS X réside dans le fait qu'il est très facile pour les utilisateurs inexpérimentés de trouver leur chemin et de faire des choses, mais les utilisateurs expérimentés peuvent "jouer avec le système" en utilisant la puissance de l'Unix sous-jacent via un shell de commande (c'est-à-dire Terminal.app).

@Leauki a raison d'utiliser la commande unix rm, mais soyez TRÈS PRUDENT, surtout si vous utilisez les -rfdrapeaux! Il n'y a pas de filet de sécurité et vous pouvez causer de graves dommages, pouvant aller jusqu'à la suppression de votre propre système de fichiers racine!

Ma recommandation n'est pas d'utiliser des chemins absolus avec rm, mais cddans le répertoire avec lequel vous souhaitez travailler en premier, puis par exemple:

rm -rf ./<subpath to file to delete>où le ./chemin d'accès rmn'opère que dans le répertoire dans lequel vous vous trouvez actuellement.

avstrallen
la source
5
rm -rf bin - oups j'ai oublié de cd, mais je ne suis pas dans / donc pas si gros un oups. rm -rf / bin - oups j'ai oublié de taper. donc BIG OOPS! (peu importe où je l'ai fait)! Je ne suis donc pas d'accord.
pause jusqu'à nouvel ordre.
@Dennis - oui, si vous oubliez de taper la période, vous êtes dans un monde de douleur! Je suppose que c'est la principale raison pour laquelle Apple ne veut pas que son utilisateur moyen fasse ce genre de choses, d'où la fonctionnalité de corbeille avec laquelle l'OP était en cause. Donc, je suis d'accord avec votre désaccord, mais il semble que vous et moi sommes des nixers expérimentés qui respectons l'interpréteur de commandes comme l'endroit potentiellement dangereux que nous connaissons. Je suggérais seulement que les utilisateurs moins expérimentés prennent l'habitude de l'esprit avant d'utiliser des commandes potentiellement dangereuses.
avstrallen
Merci. Je suis d'accord qu'il est assez facile de le faire en ligne de commande. Mais dans ce cas, je n'aime pas particulièrement avoir à y recourir ... Sur Mac OS, vous n'êtes pas censé avoir à utiliser la ligne de commande pour le genre de choses courantes pour l'utilisateur final, à mon humble avis, et libérer l'espace sur une clé USB est une chose assez courante à faire.
Jonik
Je suis d'accord avec @GeneQ et @Daan - mais j'ai une solution méthodologique: je ne mets rien dans la corbeille jusqu'à ce que je sois sûr d'en avoir fini, puis je vide la corbeille immédiatement à chaque fois ... problème résolu.
avstrallen
1

Je suis venu avec l'applescript suivant, que je devais déplacer del avec Keyboard Maestro, donc cela fonctionne maintenant comme dans Windows. Lorsque l'élément est sélectionné dans le Finder, shift del exécutera le script, qui affiche une boîte de dialogue avertissant de la suppression définitive de l'élément avec son nom. Cliquez sur OK pour terminer la suppression.

Je ne connais pas grand-chose aux commandes shell, et certaines des affiches précédentes ont mis en garde contre le danger d'utiliser rm -rf, ce que j'ai fait dans le script. Cela semble fonctionner comme prévu pour moi jusqu'à présent.

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
gros garçon
la source
pour toutes les choses que Mac OS X ne fournit pas déjà, il y a Keyboard Maestro.
Kaushik Gopal
0

Je pense que cela est fait pour la cohérence et la sécurité des utilisateurs. Je pense qu'il vaut mieux conserver les fichiers plus longtemps que nécessaire et utiliser de l'espace au lieu d'être gung-ho et de les supprimer immédiatement.

C'est un peu ennuyeux, cependant, lorsque vous travaillez avec des clés USB et que vous les déplacez vers une machine Windows et allez ... où est tout mon espace ... et quel est ce dossier .trash ennuyeux.

Bruce McLeod
la source
0

Utilisez muCommander pour supprimer des fichiers (c'est gratuit)

Au lieu d'utiliser le Finder, utilisez peut-être un autre gestionnaire de fichiers tel que muCommander. Il peut également supprimer des fichiers et les déplacer vers la corbeille. C'est beaucoup plus sûr que de coller "rm -rf" dans un terminal, où vous risquez de coller les mauvaises commandes causant des dommages irréversibles.

neoneye
la source
0

Si vous voulez vraiment utiliser une application tierce , une alternative beaucoup moins chère à RAW Trash que vous avez mentionnée est File Shredder . (US Mac App Store 3,99 $)

Il propose plusieurs méthodes pour supprimer des fichiers en toute sécurité:

  • Une suppression normale en un seul passage qui écrase simplement vos fichiers.
  • Une passe conforme DoD en sept passes garantit que la plupart des gens ne peuvent pas accéder à vos fichiers.
  • Une suppression Gutmann en 35 passes garantit que vos fichiers ont vraiment disparu lorsque vous les supprimez.

Cela peut être un peu exagéré pour la plupart des gens, bien que si vous cherchez un moyen moins cher que RAW Trash pour supprimer en toute sécurité des fichiers, FileShredder fait le travail.

Simon
la source