Vous vous retrouverez dans des situations où vous devrez vider un fichier. Cela se produit souvent lorsque vous avez d'énormes fichiers journaux et comment feriez-vous cela ?
Une façon pas si propre serait de supprimer le fichier, puis de créer un nouveau fichier. Mais ce n'est pas une bonne idée. Ce ne sera pas le même fichier, l'horodatage (atime, mtime, etc.) sera différent ainsi que les autres autorisations de fichier.
Au lieu de créer un nouveau fichier vide, vous pouvez supprimer son contenu. Alors, comment vider un fichier sous Linux ? Comment effacer un fichier de tout son contenu sans supprimer le fichier lui-même ?
4 façons de vider un fichier sous Linux
Il existe plusieurs façons de vider un fichier sans le supprimer réellement. Laissez-moi vous montrer quelques-unes de ces méthodes.
Méthode 1 :tronquer un fichier à l'aide de la commande truncate
Le moyen le plus sûr de tronquer un fichier journal consiste à utiliser la commande truncate.
truncate -s 0 filename
Dans la commande ci-dessus, -s est utilisé pour définir/ajuster la taille (en octets) du fichier. Lorsque vous utilisez -s 0, cela signifie que vous avez ajusté la taille du fichier à 0 octet. Dans
Méthode 2 :Fichier vide en utilisant :> ou>
Le moyen le plus simple de vider un fichier est d'utiliser la commande ci-dessous. Si le fichier n'est pas utilisé, il fonctionnera dans Bash :
> filename
Bien que ce qui précède ne fonctionne que dans Bash Shell, vous pouvez utiliser une commande similaire pour d'autres shells :
:> filename
Vous pouvez également utiliser cette commande pour effacer un fichier :
true > filename
Méthode 3 :Utiliser la commande echo pour vider le fichier sous Linux
Une autre façon de vider un fichier consiste à utiliser la commande echo sous Linux :
echo > filename
Vous pouvez également utiliser la commande echo de cette manière :
echo "" > filename
Méthode 4 :Utilisez /dev/null pour effacer un fichier
Vous pouvez aussi utiliser le fameux /dev/null et combiner avec la commande cat pour effacer un fichier journal :
cat /dev/null > file.log
En fin de compte…
Et si vous n'avez pas assez d'autorisations pour l'une des commandes ci-dessus, c'est le coup sûr mais un peu sale pour y parvenir :
touch newfile
mv newfile filename
Vous pouvez également vider un fichier en supprimant toutes les lignes dans l'éditeur Vim.
Si votre objectif était d'effacer les fichiers journaux et de libérer de l'espace, vous devriez en savoir plus sur le nettoyage des journaux.
J'espère que cette astuce rapide vous a aidé à effacer un fichier sous Linux. Ajoutez-nous à vos favoris pour plus de conseils rapides sur Linux.