Parfois, lorsque vous traitez des fichiers dans un terminal Linux, vous souhaiterez peut-être effacer le contenu d'un fichier sans nécessairement l'ouvrir à l'aide d'éditeurs de ligne de commande Linux. Comment cela peut il etre accompli? Dans cet article, nous allons passer en revue plusieurs façons différentes de vider le contenu d'un fichier à l'aide de quelques commandes utiles.
Attention :Avant de passer à l'examen des différentes manières, notez que, dans 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. La suppression du contenu d'un système critique ou d'un fichier de configuration peut entraîner une erreur ou un échec fatal de l'application/du système.
Cela dit, vous trouverez ci-dessous des moyens d'effacer le contenu du fichier à partir de la ligne de commande.
Important :Pour les besoins de cet article, nous avons utilisé le fichier access.log
dans les exemples suivants.
1. Vider le contenu du fichier en le redirigeant vers Null
Le moyen le plus simple de vider ou d'effacer le contenu d'un fichier à l'aide de la redirection shell null
(objet inexistant) au fichier comme ci-dessous :
# > access.log


2. Fichier vide à l'aide de la redirection de commande "true"
Ici, nous utiliserons un symbole :
est une commande intégrée du shell qui est essentiellement équivalente à la true
commande et elle peut être utilisée comme no-op (pas d'opération).
Une autre méthode consiste à rediriger la sortie de :
ou true
commande intégrée au fichier comme suit :
# : > access.log OR # true > access.log


3. Fichier vide Utilisation des utilitaires cat/cp/dd avec /dev/null
Sous Linux, le null
périphérique est essentiellement utilisé pour supprimer les flux de sortie indésirables d'un processus, ou bien comme fichier vide approprié pour les flux d'entrée. Cela se fait normalement par un mécanisme de redirection.
Et le /dev/null
Le fichier de périphérique est donc un fichier spécial qui annule (supprime) toute entrée qui lui est envoyée 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) en entrée à l'aide de la commande cat :
# cat /dev/null > access.log


Ensuite, nous utiliserons la commande cp pour effacer le contenu d'un fichier, comme indiqué.
# cp /dev/null access.log


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


4. Fichier vide à l'aide de 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.log OR # echo > access.log


Remarque :Vous devez garder à l'esprit qu'une chaîne vide n'est pas la même chose que null. Une chaîne est déjà un objet dans la mesure où 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 affichez le contenu du fichier à l'aide de la commande cat, une ligne vide est imprimée (chaîne vide).
Pour envoyer une sortie nulle au fichier, utilisez le drapeau -n
qui dit écho pour ne pas afficher la nouvelle ligne de fin qui mène à la ligne vide produite dans la commande précédente.
# echo -n "" > access.log


5. Fichier vide à l'aide de la commande truncate
Le tronquer La commande permet de réduire ou d'étendre la taille d'un fichier à une taille définie.
Vous pouvez l'employer avec le -s
option 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


C'est tout pour l'instant, dans cet article, nous avons couvert plusieurs méthodes d'effacement ou de vidage du contenu des fichiers à l'aide de simples utilitaires de ligne de commande et d'un mécanisme de redirection du shell.
Ce ne sont probablement pas les seuls moyens pratiques disponibles pour le faire, vous pouvez donc également nous parler de toute autre méthode non mentionnée dans ce guide via la section de commentaires ci-dessous.