Bienvenido a nuestro tutorial sobre cómo usar el comando truncar en Linux. El comando truncar de Linux se usa a menudo para reducir o ampliar el tamaño de cada ARCHIVO al tamaño especificado. El tamaño final del archivo depende del inicial. Si un ARCHIVO (por ejemplo, archivo o archivos de registro) es más grande que el tamaño especificado, los datos adicionales se pierden, pero si un ARCHIVO es más corto, se extiende y la parte extendida (agujero) se lee como cero bytes.
Los comandos que se muestran se probaron en una máquina CentOS 7 y un servidor Ubuntu 16.04. La mayoría de las distribuciones de Linux se envían con el comando truncar. Si su sistema no tiene un comando truncado, para el sistema Ubuntu/Debian, lo proporciona el paquete coreutils.
$ sudo apt-get install coreutils
$ dpkg -l | grep coreutils
coreutils 8.25-2ubuntu3~16.04 amd64 GNU core utilities
Para 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
Si no está instalado, use:
$ sudo yum-y install coreutils
Opciones comunes de truncado
-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
Al usar truncar, el SIZE el argumento tiene que ser un número entero y una unidad opcional (ejemplo:10K es 10*1024). Las unidades utilizadas son K, M, G, T, P, E, Z, Y (potencias de 1024) o KB, MB ,...(como potencias de 1000).
El argumento TAMAÑO también puede tener el prefijo de uno de los siguientes caracteres de modificación:'+ ' extender por, '- ' reducir por, '< ' como mucho, '> ' al menos, '/ ' redondea hacia abajo al múltiplo de, '% ' redondea al múltiplo de.
Ejemplos de uso truncado
A continuación se muestran los ejemplos de uso más comunes del comando truncar.
1. Borrar contenido de un archivo con truncar
# truncate -s 0 file
Esto es útil, por ejemplo, para borrar archivos de registro. Esto es mejor que eliminar manualmente un archivo y tal vez hacer un toque para el nuevo. El proceso de truncamiento básicamente elimina todo el contenido del archivo. No elimina el archivo en sí, pero lo deja en el disco como un archivo de cero bytes. Como ejemplo, borre nuestro /var/log/syslog a 0 bytes usando truncar.
# du -sh /var/log/syslog
616K /var/log/syslog
# truncate -s 0 /var/log/syslog
Si volvemos a verificar el tamaño del archivo, debería ser de 0 bytes.
# du -sh /var/log/syslog
0 /var/log/syslog
Tenga en cuenta que el comando truncar conservará los permisos y la propiedad del archivo. Puede confirmar usando ls -lh comandos:
# ls -lh /var/log/syslog
-rw-r----- 1 syslog adm 0 Mar 17 18:34 /var/log/syslog
2. Para truncar un archivo a un tamaño específico
El siguiente ejemplo truncará un archivo a 100 bytes de tamaño.
# 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
Ahora comprueba el tamaño del archivo:
# ls -lh archivo.txt
-rw-r--r-- 1 raíz raíz 100 17 de marzo 18:40 archivo.txt
Para truncar un archivo a 100 KB:
# truncate -s 100K file.txt
# ls -lh file.txt
-rw-r--r-- 1 root root 100K Mar 17 18:41 file.txt
La M, G, T, P, E, Z e Y pueden usarse en lugar de "K" según sea necesario.
3. Ampliar el tamaño del archivo con truncar
También puede ampliar el tamaño del archivo del estado actual al deseado. Usa la opción -s con un + de tamaño.
$ 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
Esto ampliará el tamaño del archivo de 100 000 a 300 000 añadiendo 200 000 adicionales.
4. Reducir el tamaño del archivo con truncar
Supongamos que tiene un archivo de 500 000 y le gustaría reducirlo a 250 000. Usarás la -s opción con un - en el tamaño especificado. Por ejemplo
$ 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
Puede ver el tamaño actual cambiado a 250K.
Conclusión
Este tutorial, espero que lo haya ayudado a comprender el comando truncado de Linux para modificar el archivo al tamaño especificado. Comparta sus sugerencias y pensamientos en la sección de comentarios a continuación.