5 Façons de vider ou de supprimer le contenu d’un gros fichier sous Linux

, Author

Occasionnellement, lorsque vous traitez des fichiers dans le terminal Linux, vous pouvez vouloir effacer le contenu d’un fichier sans nécessairement l’ouvrir en utilisant un éditeur de ligne de commande Linux. Comment cela peut-il être réalisé ? Dans cet article, nous allons passer en revue plusieurs façons différentes de vider le contenu d’un fichier avec l’aide de quelques commandes utiles.

Attention : Avant de procéder à l’examen des différentes façons, notez que, comme sous Linux tout est un fichier, vous devez toujours vous assurer que le ou les fichiers que vous videz ne sont pas des fichiers utilisateur ou système importants. Vider le contenu d’un système critique ou d’un fichier de configuration pourrait entraîner une erreur ou une défaillance fatale de l’application/du système.

Ceci étant dit, voici les moyens de vider le contenu des fichiers à partir de la ligne de commande.

Important : Pour les besoins de cet article, nous avons utilisé le fichier access.log dans les exemples suivants.

Vider le contenu d’un fichier en redirigeant vers Null

Un moyen plus simple de vider ou d’effacer le contenu d’un fichier en utilisant la redirection shell null (objet inexistant) vers le fichier comme ci-dessous :

# > access.log
Vider un grand fichier en utilisant la redirection à Null en Linux
Vider un grand fichier en utilisant la redirection à Null en Linux

Vider un fichier en utilisant la commande ‘true’ Redirection

Ici nous utiliserons un symbole : est une commande intégrée au shell qui est essentiellement équivalente à la commande true et elle peut être utilisée comme un no-op (pas d’opération).

Une autre méthode consiste à rediriger la sortie de : ou de la commande intégrée true vers le fichier comme ceci :

# : > access.logOR # true > access.log
Empty Large File Using Linux Commands
Empty Large File Using Linux Commands

Empty File Using cat/cp/dd utilities with /dev/null

Dans Linux, le périphérique null est fondamentalement utilisé pour le rejet des flux de sortie indésirables d’un processus, ou bien comme un fichier vide approprié pour les flux d’entrée. Ceci est normalement fait par le mécanisme de redirection.

Et le fichier de périphérique /dev/null est donc un fichier spécial qui écrit-off (supprime) toute entrée envoyée à lui ou sa sortie est la même que celle d’un fichier vide.

De plus, vous pouvez vider le contenu d’un fichier en redirigeant la sortie de /dev/null vers lui (fichier) comme entrée en utilisant la commande cat :

# cat /dev/null > access.log
Fichier vide utilisant la commande cat
Fichier vide utilisant la commande cat

Puis, nous utiliserons la commande cp pour vider le contenu d’un fichier comme indiqué.

# cp /dev/null access.log
Empty File Content Using cp Command
Empty File Content Using cp Command

Dans la commande suivante, if signifie le fichier d’entrée et of fait référence au fichier de sortie.

# dd if=/dev/null of=access.log
Contenu de fichier vide en utilisant la commande dd
Contenu de fichier vide en utilisant la commande dd

Fichier vide en utilisant la commande echo

Ici, vous pouvez utiliser une commande echo avec une chaîne vide et la rediriger vers le fichier comme suit :

# echo "" > access.logOR# echo > access.log
Fichier vide utilisant la commande echo
Fichier vide utilisant la commande echo

Note : Vous devez garder à l’esprit qu’une chaîne vide n’est pas la même chose que null. Une chaîne de caractères est déjà un objet autant qu’elle peut être vide alors que null signifie simplement la non-existence d’un objet.

Pour cette raison, lorsque vous redirigez la sortie de la commande echo ci-dessus dans le fichier, et que vous visualisez le contenu du fichier en utilisant la commande cat, est imprime une ligne vide (chaîne de caractères vide).

Pour envoyer une sortie nulle au fichier, utilisez l’indicateur -n qui indique à echo de ne pas sortir la nouvelle ligne de queue qui mène à la ligne vide produite dans la commande précédente.

# echo -n "" > access.log
Fichier vide utilisant une redirection nulle
Fichier vide utilisant une redirection nulle

Fichier vide utilisant la commande truncate

La commande truncate aide à réduire ou à étendre la taille d’un fichier à une taille définie.

Vous pouvez l’employer avec l’option -s qui spécifie la taille du fichier. Pour vider le contenu d’un fichier, utilisez une taille de 0 (zéro) comme dans la commande suivante :

# truncate -s 0 access.log
Truncate File Content in Linux
Truncate File Content in Linux

C’est tout pour le moment, dans cet article nous avons couvert plusieurs méthodes pour effacer ou vider le contenu d’un fichier en utilisant de simples utilitaires de ligne de commande et le mécanisme de redirection du shell.

Ce ne sont probablement pas les seules méthodes pratiques disponibles, vous pouvez donc également nous faire part de toute autre méthode non mentionnée dans ce guide via la section de commentaires ci-dessous.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.