J'ai récemment couru rm -rf
, non rm -rf /
, mais il ne s'est rien passé. J'obtiens juste un résultat comme celui-ci:
J'avais peur parce que je craignais que cela n'ait pu supprimer certains fichiers, mais ce n'est pas le cas. Assurez-vous simplement que cela aurait pu supprimer des fichiers de mon répertoire?
rm
), Mais pour de nombreuses / la plupart des autres commandes, par exemple toutes les commandes de manipulation de texte basées sur des canaux, les essayer souvent est la plus simple / simple que vous puissiez faire. Avec l'étude de la page de manuel, évidemment.Réponses:
Non,
rm -rf
ne supprimera aucun fichier car vous n'avez pas fourni d'argument à la commande.la source
-f
, ce n'est pas une erreur de l'exécuter sans arguments.rm -r
se plaindra de "l'opérande manquant", mais-f
supprime cela et supprime également les erreurs pour les fichiers qui n'existent pas. (Ainsi, par exemple, un script pourrait utiliserrm -rf /foo/bar/*
pour vider un répertoire qui pourrait déjà être vide, sans avoir2>/dev/null
à écraser les erreurs.)Depuis la page de manuel :
Cela signifie que vous pouvez l'utiliser pour supprimer une liste de fichiers à la fois, par exemple avec
Heureusement, tout ce que vous avez fait était de passer une liste de fichiers vide , donc elle n'a rien supprimé. Aussi, ce que dit @SolarMike : si vous ne savez pas ce que fait une commande, ne l'exécutez pas . macOS est conçu pour «cacher» toutes les opérations Unix dangereuses (mais potentiellement puissantes) à l'utilisateur final.
la source
-r
indicateur n'est pas nécessaire, sauf si vous supprimez les répertoires de manière récursive. S'il ne s'agit que de fichiers, celarm
suffit - le-f
for for do ne vous demande pas "êtes-vous sûr" pour chaque fichier.rm -rf
. S'ils avaient exécuté 'rm -r' sans les fichiers / répertoires spécifiés, ils auraient reçu ce message d'utilisation:JanNash ~ $ usage: rm [-f | -i] [-dPRrvW] file ... unlink file
/
, il sautera simplement le fichier inexistantxyz*
(qui ne se développera tout simplement pas en raison de l'absence de correspondance).a
etb
pour moi - même sans préciser-f
. Exécutez les mêmes commandes à laecho rm -f a b c*
place pour voir le comportement réel.Pour le débutant profane / Linux / Unix:
rm
seul ne fait rien parce que vous ne lui avez pas dit de quoi vous débarrasser.man rm
peut expliquer la plupart de cela, si vous le comprenez.-r
signifie récursif, comme dans "tout inclure dans les sous-dossiers"-f
signifie forcer, mode "ne me demandez pas de confirmer"rm -rf
(NE FAITES PAS CECI)/
dirait supprimer tout sous/
(le dossier racine) sans vérifier (sur les versions récentes de macOS, SIP vous empêchera de supprimer macOS lui-même, mais beaucoup d'autres choses seront supprimées)rm [some file name]
supprimerait simplement ce fichier.rm -rf /home/myuser/books
supprimerait tout dansmyuser
lebooks
dossier de, ainsi que le dossier.la source
rm -rf / --no-preserve-root
pour tirer correctement votre jambe.find / -delete
devrait "fonctionner" (c'est-à-dire réellement supprimer des choses, alors ne l'exécutez pas.)Non mais si vous souhaitez supprimer Voici un exemple:
Après avoir lancé Terminal (dans votre dossier / Applications / Utilitaires), tapez cd ~ / Desktop pour accéder au répertoire Desktop. Si vous aviez ici un fichier nommé MyFile.rtf que vous n'avez jamais, jamais voulu revoir, vous pouvez exécuter cette commande:
Lorsque vous appuyez sur Retour, le fichier disparaîtra! Ce sera parti, toast, histoire. Vous ne pouvez pas le récupérer.
la source