Benvenuti nel nostro tutorial su come usare il comando tronca in Linux. Il comando Linux truncate viene spesso utilizzato per ridurre o estendere la dimensione di ogni FILE alla dimensione specificata. La dimensione finale del file dipende dall'iniziale. Se un FILE (ad esempio un file di archivio o di registro) è più grande della dimensione specificata, i dati extra vengono persi, ma se un FILE è più corto, viene esteso e la parte estesa (foro) viene letta come zero byte.
I comandi mostrati sono stati testati su macchina CentOS 7 e server Ubuntu 16.04. La maggior parte delle distribuzioni Linux viene fornita con il comando troncate. Se il tuo sistema non ha un comando tronca, per il sistema Ubuntu/Debian, è fornito dal pacchetto coreutils.
$ sudo apt-get install coreutils
$ dpkg -l | grep coreutils
coreutils 8.25-2ubuntu3~16.04 amd64 GNU core utilities
Per 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
Se non è installato, usa:
$ sudo yum-y install coreutils
Opzioni di troncamento comuni
-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
Quando si utilizza tronca, SIZE l'argomento deve essere un numero intero e un'unità facoltativa (esempio:10K è 10*1024). Le unità utilizzate sono K, M, G, T, P, E, Z, Y (potenze di 1024) o KB, MB ,...(come poteri di 1000).
L'argomento SIZE può anche essere preceduto da uno dei seguenti caratteri di modifica:'+ ' estendere di, '- ' riduci di, '< ' al massimo, '> ' almeno, '/ ' arrotonda per difetto a multipli di '% ' arrotonda per eccesso a multiplo di.
Esempi di utilizzo troncato
Di seguito sono riportati gli esempi di utilizzo più comuni del comando tronca.
1. Cancella il contenuto di un file con tronca
# truncate -s 0 file
Questo è utile, ad esempio, per cancellare i file di registro. Questo è meglio che eliminare manualmente un file e magari fare un tocco per quello nuovo. Il processo di troncamento rimuove sostanzialmente tutto il contenuto del file. Non rimuove il file stesso, ma lo lascia sul disco come file a zero byte. Ad esempio, cancelliamo il nostro /var/log/syslog a 0 byte usando tronca.
# du -sh /var/log/syslog
616K /var/log/syslog
# truncate -s 0 /var/log/syslog
Se controlliamo di nuovo la dimensione del file, dovrebbe essere 0 byte.
# du -sh /var/log/syslog
0 /var/log/syslog
Tieni presente che il comando tronca conserverà le autorizzazioni e la proprietà dei file. Puoi confermare utilizzando ls -lh comandi:
# ls -lh /var/log/syslog
-rw-r----- 1 syslog adm 0 Mar 17 18:34 /var/log/syslog
2. Per troncare un file a una dimensione specifica
L'esempio seguente troncherà un file a 100 byte di dimensione.
# 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
Ora controlla la dimensione del file:
# ls -lh file.txt
-rw-r--r-- 1 radice radice 100 17 marzo 18:40 file.txt
Per troncare un file 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
M, G, T, P, E, Z e Y possono essere utilizzati al posto di "K" come richiesto.
3. Estendi la dimensione del file con tronca
Puoi anche estendere la dimensione del file dallo stato corrente allo stato desiderato. Usa l'opzione -s con un + di dimensioni.
$ 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
Ciò estenderà la dimensione del file da 100.000 a 300.000 aggiungendo ulteriori 200.000.
4. Riduci le dimensioni del file con tronca
Supponiamo che tu abbia un file di 500.000 e desideri ridurlo a 250.000. Utilizzerai i -s opzione con un - nella dimensione specificata. Ad esempio
$ 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
Puoi vedere la dimensione attuale modificata in 250K.
Conclusione
Questo tutorial, spero, ti abbia aiutato a capire il comando tronca di Linux per modificare il file alla dimensione specificata. Condividi i tuoi suggerimenti e pensieri nella sezione commenti qui sotto.