Vider le contenu du fichier spécifié sans supprimer via la ligne de commande

Si vous travaillez sur la ligne de commande et que vous avez besoin de vider rapidement le contenu d'un fichier, vous pouvez le faire en lançant un symbole supérieur et un espace devant le nom de fichier en question.

Comment effacer le contenu du fichier à partir de la ligne de commande

L'astuce pour supprimer le contenu d'un fichier tout en préservant ce fichier ressemble à ce qui suit:

> filename

Cette approche fonctionne dans bash et beaucoup d'autres shells, mais vous pouvez également utiliser une variation d'écho si cela ne fonctionne pas dans zsh ou un autre shell. Pour zsh, utilisez ce qui suit pour effacer le contenu d'un fichier depuis la ligne de commande en utilisant echo null et redirection:

echo -n > filename

Tout le contenu dans le fichier cible sera immédiatement supprimé sans avertissement, laissant vide tout en conservant l'existence des fichiers, nom de fichier et autorisations. C'est souvent préférable et plus rapide que de supprimer manuellement et de recréer un fichier.

Un bon exemple pratique consiste à effacer le contenu des fichiers journaux, par exemple:

> ~/Library/Logs/updates.log

Ou réalisant le même effet avec la redirection d'écho:

echo -n > ~/Library/Logs/updates.log

Vous pouvez également utiliser cette commande pour créer un nouveau fichier 0 octet à l'emplacement, similaire à l'utilisation de la commande tactile.

Vous trouverez cela particulièrement utile si vous souhaitez conserver les mêmes droits sur un fichier donné, mais souhaitez en remplacer le contenu, ce qui est fréquent avec les fichiers journaux et les éléments similaires.