
Les rm
et rmdir
Les commandes suppriment des fichiers et des répertoires sous Linux, macOS et autres systèmes d'exploitation de type Unix. Ils sont similaires à del
et deltree
commandes sous Windows et DOS. Ces commandes sont très puissantes et ont beaucoup d'options.
Il est essentiel de faire attention que les fichiers et répertoires supprimés via rm
et rmdir
ne pas déplacer vers la corbeille. Ils sont immédiatement supprimés de votre ordinateur. Si vous supprimez accidentellement des fichiers avec ces commandes, la seule façon de les restaurer est à partir d'une sauvegarde.
Comment supprimer des fichiers avec rm
Le cas le plus simple est de supprimer un seul fichier dans le répertoire courant. Écrivez le rm
commander, un espace puis le nom du fichier que vous souhaitez supprimer.
rm fichier_1.txt
Si le fichier n'est pas dans le répertoire de travail courant, fournir un chemin vers l'emplacement du fichier.
rm ./chemin/vers/le/fichier/fichier_1.txt
Vous pouvez transmettre plus d'un nom de fichier à rm
. Ce faisant, tous les fichiers spécifiés sont supprimés.
rm fichier_2.txt fichier_3.txt
Les caractères génériques peuvent être utilisés pour choisir des groupes de fichiers à supprimer. Les *
représente divers personnages et le ?
représente un seul caractère. Cette commande supprimerait tous les fichiers image png dans le répertoire de travail actuel.
rm *.png
Cette commande supprimerait tous les fichiers qui ont une extension à un seul caractère. Par exemple, cela supprimerait File.1 et File.2, mais pas File.12.
rm *.?
Si un fichier est protégé en écriture, il vous sera demandé avant de le supprimer. Vous devez répondre avec y
O n
et appuyez sur “Entrer”.
Pour réduire le risque d'utilisation rm
avec des caractères génériques, utilisez le -i
option (interactif). Cela nécessite que vous confirmiez la suppression de chaque fichier.
rm -i *.dat
Les -f
L'option (Obliger) est le contraire d'interactif. Ne demande pas de confirmation même si les fichiers sont protégés en écriture.
rm -f nom de fichier
Comment supprimer des répertoires avec rm
Pour supprimer un répertoire vide, utiliser el -d
option (annuaire). Vous pouvez utiliser des caractères génériques (*
et ?
) dans les noms de répertoires comme vous pouvez le faire avec les noms de fichiers.
rm -d répertoire
En fournissant plus d'un nom de répertoire, tous les répertoires vides spécifiés sont supprimés.
rm -d répertoire1 répertoire2 /chemin/vers/répertoire3
Pour supprimer des répertoires qui ne sont pas vides, utiliser el -r
option (récursif). pour être clair, cela supprime les répertoires et tous les fichiers et sous-répertoires qu'ils contiennent.
rm -r répertoire1 répertoire2 répertoire3
Si un répertoire ou un fichier est protégé en écriture, il vous sera demandé de confirmer la suppression. Pour supprimer les répertoires qui ne sont pas vides et supprimer ces messages, utiliser el -r
(récursif) et -f
(Obliger) options ensemble.
rm -rf répertoire
Il faut faire attention ici. Faites une erreur avec le rm -rf
La commande pourrait entraîner une perte de données ou un dysfonctionnement du système. C'est dangereux et la prudence est la meilleure politique. Comprendre la structure des répertoires et les fichiers qui seront supprimés par le rm -rf
commander, utiliser el tree
commander.
Utilisation apt-get
pour installer ce paquet sur votre système si vous utilisez Ubuntu ou une autre distribution basée sur Debian. Sur d'autres distributions Linux, utilisez l'outil de gestion de paquets de votre distribution Linux.
arbre d'installation sudo apt-get
Exécuter le tree
La commande produit un diagramme facile à comprendre de la structure des répertoires et des fichiers sous le répertoire à partir duquel elle est exécutée.
arbre
Il peut également fournir un chemin vers tree
commande pour lui faire démarrer l'arborescence à partir d'un autre répertoire sur le système de fichiers.
chemin/vers/répertoire de l'arborescence
Les rm
la commande a aussi --one-file-system, --no-preserve-root, --preserve-root
options, mais seulement recommandé pour les utilisateurs avancés. Si vous vous trompez sur quelque chose, pourrait accidentellement supprimer tous les fichiers système. Voir la commande page de manuel pour plus d'informations.
Comment supprimer des répertoires avec rmdir
il y a une autre commande, appelé rmdir
, que vous pouvez utiliser pour supprimer des répertoires. La différence entre rm
et rmdir
c'est ça rmdir
ne peut supprimer que les répertoires vides. Ne supprimera jamais les fichiers.
Le cas le plus simple est de supprimer un seul répertoire vide. De la même manière qu'avec rm
, vous pouvez passer plusieurs noms de répertoire à rmdir
ou un chemin vers un répertoire.
Supprimer un seul répertoire dans le répertoire courant en passant son nom à rmdir
:
répertoire rmdir
Supprimez plusieurs répertoires en passant une liste de noms à rmdir
:
rmdir répertoire1 répertoire2 répertoire3
Supprimer un répertoire qui n'est pas dans le répertoire actuel en spécifiant le chemin complet vers ce répertoire:
rmdir /chemin/vers/répertoire
Si vous essayez de supprimer un dossier qui n'est pas vide, rmdir
vous donnera un message d'erreur. Dans l'exemple suivant rmdir
avec succès, et en silence, retirer le clients
répertoire mais refuse de supprimer le projects
répertoire car il contient des fichiers. Les projects
Le répertoire est laissé tel quel et les fichiers qu'il contient ne sont pas modifiés.
Lorsque rmdir
donne une erreur de “Répertoire non vide”, arrêter de traiter les répertoires qui lui sont passés sur la ligne de commande. Si vous avez demandé de supprimer quatre répertoires et que le premier contient des fichiers, rmdir
cela vous donnerait le message d'erreur et ne ferait rien d'autre. Vous pouvez le forcer à ignorer ces erreurs avec le --ignore-fail-on-non-empty
option pour que d'autres répertoires soient traités.
Dans l'exemple suivant, deux dossiers ont été transmis à rmdir
, ceux-ci sont work/reports
et work/quotes
. Les --ignore-fail-on-non-empty
L'option a été incluse dans la commande. Les work/reports
le dossier contient des fichiers, donc rmdir
ne peut pas être supprimé. Les --ignore-fail-on-non-empty
option oblige rmdir
pour ignorer l'erreur et passer au dossier suivant que vous devez traiter, Qu'est que c'est work/quotes
. Ceci est un dossier vide et rmdir
le supprime.
C'était la commande utilisée.
rmdir --ignore-fail-on-non-empty work/reports /work/quotes
Vous pouvez utiliser le -p
(parents) possibilité de supprimer un répertoire et également de supprimer ses répertoires principaux. Cette astuce fonctionne parce que rmdir
commence par le répertoire de destination puis revient au parent. Ce répertoire devrait maintenant être vide, il peut donc être retiré par rmdir
, et la procédure est répétée en remontant le long du chemin qui a été fourni à rmdir
.
Dans l'exemple suivant, la commande qui est passée à rmdir
il est:
rmdir -p travail/factures
Les deux invoices
et le work
les répertoires sont supprimés, comme demandé.
Que vous utilisiez Bash ou tout autre shell, Linux fournit des commandes flexibles et puissantes pour vous permettre de supprimer des répertoires et des fichiers directement à partir de la ligne de commande du terminal. Certaines personnes préfèrent avoir un workflow qui tourne autour du terminal. D'autres peuvent n'avoir aucune alternative à cet égard.. Ils peuvent travailler sur des serveurs sans interface graphique installée ou dans une session à distance sur un système sans tête comme un Raspberry Pi. Ces commandes sont parfaites pour ce groupe de personnes.
Mais quel que soit le type de workflow que vous préférez, ces commandes se prêtent bien à être incluses dans des scripts shell. Si un script est déclenché par un cron
travail, peut aider à automatiser les tâches de nettoyage de routine, comme le débogage des fichiers journaux indésirables. Si vous enquêtez sur ce cas d'utilisation, rappelez-vous la puissance de ces commandes, testez tout soigneusement et gardez toujours une sauvegarde récente.
setTimeout(fonction(){
!fonction(F,b,e,v,m,t,s)
{si(f.fbq)revenir;n=f.fbq=fonction(){n.callMethod?
n.callMethod.apply(m,arguments):n.queue.push(arguments)};
si(!f._fbq)f._fbq=n;n.push=n;n.chargé=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertAvant(t,s) } (window, document,'scénario',
'https://connect.facebook.net/en_US/fbevents.js’);
fbq('init', « 335401813750447 »);
fbq('Piste', « Page View »);
},3000);