Vider le contenu du fichier spécifié sans le 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 d'un fichier à partir de la ligne de commande
L'astuce pour supprimer le contenu d'un fichier tout en préservant ce fichier ressemble à ceci :
> nom de fichier
Cette approche fonctionne dans bash et dans de nombreux autres shells, mais vous pouvez également utiliser une variante d'echo si elle ne fonctionne pas dans zsh ou un autre shell. Pour zsh, utilisez ce qui suit pour effacer le contenu d'un fichier de la ligne de commande à l'aide de echo null et de la redirection :
echo -n > filename
Tout le contenu du fichier cible sera immédiatement supprimé sans avertissement, le laissant vide tout en conservant l'existence du fichier, le nom du fichier et les autorisations. C'est souvent préférable et plus rapide que de supprimer et de recréer manuellement un fichier.
Un bon exemple pratique consiste à effacer le contenu des fichiers journaux, par exemple :
> ~/Library/Logs/updates.log
Ou obtenir 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 de 0 octet à l'emplacement, similaire à l'utilisation de la commande touch.
Vous trouverez cela particulièrement utile si vous souhaitez conserver les mêmes autorisations pour un fichier donné, mais souhaitez écraser le contenu, ce qui est courant avec les fichiers journaux et autres éléments similaires.