Bienvenue dans notre tutoriel sur l'utilisation de la commande truncate sous Linux. La commande Linux truncate est souvent utilisée pour réduire ou étendre la taille de chaque FICHIER à la taille spécifiée. La taille finale du fichier dépend de l'initiale. Si un FICHIER (par exemple, des archives ou des fichiers journaux) est plus grand que la taille spécifiée, les données supplémentaires sont perdues, mais si un FICHIER est plus court, il est étendu et la partie étendue (trou) se lit comme zéro octet.
Les commandes affichées ont été testées sur la machine CentOS 7 et le serveur Ubuntu 16.04. La plupart des distributions Linux sont livrées avec la commande truncate. Si votre système n'a pas de commande truncate, pour le système Ubuntu/Debian, elle est fournie par le package coreutils.
$ sudo apt-get install coreutils
$ dpkg -l | grep coreutils
coreutils 8.25-2ubuntu3~16.04 amd64 GNU core utilities
Pour CentOS 7 :
# yum provides truncate
coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo : base
Matched from:
Filename : /usr/bin/truncate
S'il n'est pas installé, utilisez :
$ sudo yum-y install coreutils
Options de troncation courantes
-c, --no-create --> do not create any files
-o, --io-blocks --> treat SIZE as number of IO blocks instead of bytes
-r, --reference=RFILE --> base size on RFILE
-s, --size=SIZE --> set or adjust the file size by SIZE bytes
--help --> display this help and exit
--version --> output version information and exit
Lors de l'utilisation de tronquer, la TAILLE l'argument doit être un entier et une unité facultative (exemple :10 K correspond à 10 * 1 024). Les unités utilisées sont K, M, G, T, P, E, Z, Y (puissances de 1024) ou Ko, Mo ,...(en puissances de 1000).
L'argument SIZE peut également être préfixé par l'un des caractères de modification suivants :'+ ' prolongé par '- ' réduire de, '< ' au maximum, '> ' au moins, '/ ' arrondir au multiple de, '% ' arrondir au multiple supérieur.
Exemples d'utilisation tronquée
Vous trouverez ci-dessous les exemples d'utilisation les plus courants de la commande truncate.
1. Effacer le contenu d'un fichier avec tronquer
# truncate -s 0 file
Ceci est utile, par exemple, pour effacer les fichiers de journal. C'est mieux que de supprimer manuellement un fichier et peut-être de faire une touche pour le nouveau. Le processus de troncature supprime essentiellement tout le contenu du fichier. Il ne supprime pas le fichier lui-même, mais le laisse sur le disque sous la forme d'un fichier de zéro octet. Par exemple, effaçons notre /var/log/syslog à 0 octet en utilisant tronquer.
# du -sh /var/log/syslog
616K /var/log/syslog
# truncate -s 0 /var/log/syslog
Si nous vérifions à nouveau la taille du fichier, celle-ci devrait être de 0 octet.
# du -sh /var/log/syslog
0 /var/log/syslog
Notez que la commande truncate conservera les autorisations et la propriété des fichiers. Vous pouvez confirmer en utilisant ls -lh commandes :
# ls -lh /var/log/syslog
-rw-r----- 1 syslog adm 0 Mar 17 18:34 /var/log/syslog
2. Pour tronquer un fichier à une taille spécifique
L'exemple ci-dessous tronquera un fichier à 100 octets.
# touch file.txt
# ls -lh file.txt
-rw-r--r-- 1 root root 0 Mar 17 18:39 file.txt
# truncate -s 100 file.txt
Vérifiez maintenant la taille du fichier :
# ls -lh fichier.txt
-rw-r--r-- 1 root root 100 Mar 17 18:40 file.txt
Pour tronquer un fichier à 100 Ko :
# truncate -s 100K file.txt
# ls -lh file.txt
-rw-r--r-- 1 root root 100K Mar 17 18:41 file.txt
Le M, G, T, P, E, Z et Y peuvent être utilisés à la place de "K" selon les besoins.
3. Augmenter la taille du fichier avec tronquer
Vous pouvez également étendre la taille du fichier de l'état actuel à l'état souhaité. Utilisez l'option -s avec un + en taille.
$ touch file.txt
$ truncate -s 100K file.txt
$ ls -lh file.txt
-rw-r--r-- 1 jmutai wheel 100K Mar 18 13:12 file.txt
$ truncate -s +200K file.txt
$ ls -lh file.txt
-rw-r--r-- 1 jmutai wheel 300K Mar 18 13:12 file.txt
Cela étendra la taille du fichier de 100 Ko à 300 Ko en ajoutant 200 Ko supplémentaires.
4. Réduire la taille du fichier avec tronquer
Supposons que vous ayez un fichier de 500 Ko et que vous souhaitiez le réduire à 250 Ko. Vous utiliserez le -s option avec un - dans la taille spécifiée. Par exemple
$ ls -lh file.txt -rw-r--r-- 1 jmutai wheel 500K Mar 18 13:15 file.txt
$ truncate -s -250K file.txt
$ ls -lh file.txt
-rw-r--r-- 1 jmutai wheel 250K Mar 18 13:15 file.txt
Vous pouvez voir la taille actuelle passer à 250 Ko.
Conclusion
Ce tutoriel, espérons-le, vous a aidé à comprendre la commande Linux truncate pour modifier le fichier à la taille spécifiée. Veuillez partager votre suggestion et vos réflexions dans la section des commentaires ci-dessous.