Linux est livré avec plusieurs commandes et utilitaires de bases pouvant nous aider à supprimer des fichiers.
Lorsque l’on administre une machine sur Linux, il est régulièrement nécessaire de supprimer des fichiers.
Ainsi, il convient de connaître l’ensemble des commandes Linux qui existent à cet effet.
Pensez que la suppression d’un fichier n’est pas une opération anodine, ainsi :
- Faites preuve de prudence lorsque vous utilisez les commandes ci-dessous, en particulier celles qui utilisent des expressions régulières ou des modèles de recherche avec la commande de recherche. Une expression ou un motif incorrect entraînera la suppression d’importants fichiers de données / système et de fichiers non destinés
- Il est recommandé d’avoir une sauvegarde ou une copie actuelle des fichiers de données et de périphériques critiques
- Utilisez prudence lors de l’exécution de ces commandes, en particulier si vous utilisez sudo ou en tant que superutilisateur (racine).
Ce tutoriel vous guide pour supprimer un fichier ou répertoire sur Linux.
Table des matières
Comment supprimer un fichier ou répertoire sur Linux
Supprimer des fichiers ou répertoire avec rm
Pour supprimer un fichier ou un répertoire de Linux, nous pouvons utiliser la commande RM. La commande RM supprime chaque fichier spécifié.
Par défaut, elle ne supprime pas les répertoires mais cela est possible en utilisant des options.
rm FICHIER
La commande RM peut supprimer plusieurs fichiers à la fois en les spécifiant l’un après l’autre :
rm fichier1 fichier2 fichier3
On peut aussi supprimer plusieurs fichiers en utilisant le caractère joker :
rm *.txt
Pour effacer plusieurs fichiers avec des extensions différentes en une seule commande rm, séparez les extensions par une virgule et utilisez les accolades :
rm *.{txt,doc,xls}
Enfin il est possible de supprimer un répertoire vide ou comportants une arborescence avec l’option -rf :
rm -rf repertoire
Pour d’autres exemples sur l’utilisation de la commande rm, reportez-vous à ce tutoriel :
Supprimer des fichiers avec unlink
La commande unlink permet de supprimer un fichier.
Elle est très limitée car vous ne pouvez pas supprimer plusieurs fichiers à la fois, ni répertoire.
Ainsi, l’utilisation du caractère joker n’est pas non plus possible.
unlink fichier
Par exemple pour supprimer le fichier employes.txt :
unlink employes.txt
Supprimer des fichiers avec find
La commande find peut supprimer des fichiers grâce à l’option -delete.
Cela est utile pour trouver et supprimer des types de fichiers ou répertoire.
Ainsi grâce à find, vous pouvez supprimer très facilement des fichiers ou répertoires d’une arborescence en récursif selon certains critères.
Par exemple pour supprimer des fichiers ou répertoire vides, on utilise l’option -empty.
On peut alors filtrer par le type (f pour fichier); ainsi pour supprimer tous les fichiers vides d’une arborescence :
find {repertoire} -type f -empty -delete
Pour supprimer les fichiers vides d’une arborescence, on filtre par le type d (pour directory) :
find /tmp -name "temp*" -perm 755 -delete
On peut aussi supprimer les répertoires vides en jouant sur l’option -type :
find {repertoire} -type d -empty -delete
Voici un autre exemple où l’on utilise find pour trouver les fichiers *.txt dans /tmp puis on supprime avec -delete :
find /tmp -type f -name "*.txt" -delete
Une autre utilisation de la commande find consiste à exécuter rm grâce à -exec.
Cette méthode était utilisée par le passé car la commande find n’avait pas forcément l’option -delete.
Un autre avantage ici est que vous pouvez utiliser toutes les options de la commande rm.
Par exemple pour supprimer tous les fichiers avec l’extension txt d’une arborescence :
find {repertoire} -type f -name "*.txt" -exec rm -f {} \;
Dans l’exemple ci-dessous, j’applique la commande sur le répertoire /tmp.
De plus j’ajoute l’option -v à rm afin d’afficher les fichiers supprimés.
De ce fait, si vous souhaitez, par sécurité ajouter une confirmation de suppression, on peut ajoutez l’option -i :
find {repertoire} -type f -name "*.txt" -exec rm -i {} \;
shred : écraser les fichiers sans possibilité de récupération
La commande schred écrase à plusieurs reprises le ou les fichiers spécifiés afin de rendre la récupération plus difficile voire impossible.
schred fichier
Par exemple ci-dessous, j’écrase le fichier save.tar.gz :
schred save.tar.gz
On voit alors que schred ne supprime pas le fichier mais écrase son contenu.
Le fichier passe donc du type gzip compressé en data (donnée brute).
Il faudra alors le supprimer avec rm ou unlink.
Utilisez l’option -n pour stipuler le nombre d’écrasements successifs à effectuer.
Par défaut, le nombre est de 3.
shred -n 10 save.tar.gz
Quelles sont les commandes Linux pour supprimer un fichier ou répertoire
COMMANDES | DESCRIPTION |
rm | Supprimer des fichiers ou répertoire |
rmdir | Supprimer un répertoire |
unlink | Supprimer un fichier |
find | Permet de chercher des fichiers ou répertoires avec des critères pour les supprimer |
shred | Ecraser un fichier pour masquer son contenu et le supprimer éventuellement le supprimer |
Liens
- La commande ls Linux : utilisation et exemples
- Commande find Linux : Exemples d’utilisation pour rechercher des fichiers
- Copier ou déplacer un fichier sur Linux
- Comment renommer un fichier sur Linux
- La commande cp de Linux : Exemples d’utilisation
- Copier des fichiers ou répertoire dans un terminal sur Linux
- La commande mv : déplacer des fichiers ou répertoires
- La commande rename Linux : utilisation et exemples
- Commande rm Linux : Utilisations et exemples
- Comment supprimer un fichier ou répertoire sur Linux
- rsync : synchroniser, copier des fichiers à distance ou locaux
- Commande locate : utilisations et exemples
- La commande cd Linux : utilisation et exemple
- Comment utiliser la commande tree avec des exemples sur Linux
- Command find : utilisations et exemples pour rechercher des fichiers
- Comment chercher un fichier sur Linux