Ti ritroverai in situazioni in cui devi svuotare un file. Questo accade spesso quando hai file di registro enormi e come lo faresti?
Un modo non così pulito sarebbe rimuovere il file e quindi creare un nuovo file. Ma questa non è una buona idea. Non sarà lo stesso file, il timestamp (atime, mtime ecc.) sarà diverso insieme alle altre autorizzazioni di file.
Invece di creare un nuovo file vuoto, puoi eliminarne il contenuto. Quindi, come si svuota un file in Linux? Come cancellare un file da tutto il suo contenuto senza eliminare il file vero e proprio?
4 modi per svuotare un file in Linux
Esistono diversi modi per svuotare un file senza eliminarlo effettivamente. Lascia che ti mostri alcuni di questi metodi.
Metodo 1:troncare un file usando il comando truncate
Il modo più sicuro per troncare un file di registro è usare il comando truncate.
truncate -s 0 filename
Nel comando precedente, -s viene utilizzato per impostare/regolare la dimensione (in byte) del file. Quando usi -s 0, significa che hai regolato la dimensione del file su 0 byte. In
Metodo 2:file vuoto utilizzando :> o>
Il modo più semplice per svuotare un file è utilizzare il comando seguente. Se il file non è in uso, funzionerà in Bash:
> filename
Mentre quanto sopra funziona solo in Bash Shell, puoi usare un comando simile per altre shell:
:> filename
Puoi anche usare questo comando per cancellare un file:
true > filename
Metodo 3:utilizzo del comando echo per svuotare il file in Linux
Un altro modo per svuotare un file è tramite il comando echo in Linux:
echo > filename
Puoi anche usare il comando echo in questo modo:
echo "" > filename
Metodo 4:usa /dev/null per cancellare un file
Puoi anche usare il famoso /dev/null e combinarlo con il comando cat per cancellare un file di registro:
cat /dev/null > file.log
Alla fine...
E se non hai abbastanza permessi per nessuno dei comandi precedenti, questo è il modo sicuro ma un po' sporco per ottenerlo:
touch newfile
mv newfile filename
Puoi anche svuotare un file cancellando tutte le righe nell'editor Vim.
Se il tuo obiettivo era cancellare i file di registro e liberare spazio, dovresti imparare a pulire i registri journald.
Spero che questo suggerimento rapido ti abbia aiutato a cancellare un file in Linux. Aggiungici ai preferiti per altri suggerimenti rapidi su Linux.