5 modi per svuotare o cancellare il contenuto di un file di grandi dimensioni in Linux

, Author

Occasione, mentre si ha a che fare con i file nel terminale Linux, si può desiderare di cancellare il contenuto di un file senza necessariamente aprirlo utilizzando qualsiasi editor della riga di comando Linux. Come si può ottenere questo? In questo articolo, andremo attraverso diversi modi di svuotare il contenuto dei file con l’aiuto di alcuni utili comandi.

Attenzione: Prima di procedere a vedere i vari modi, si noti che poiché in Linux tutto è un file, è necessario assicurarsi sempre che il file (o i file) che si sta svuotando non siano importanti file utente o di sistema. Cancellare il contenuto di un file critico di sistema o di configurazione potrebbe portare ad un errore fatale dell’applicazione/sistema o ad un fallimento.

Detto questo, di seguito sono riportati i mezzi per cancellare il contenuto dei file dalla riga di comando.

Importante: Per lo scopo di questo articolo, abbiamo usato il file access.log negli esempi seguenti.

Empty File Content by Redirecting to Null

Un modo semplice per svuotare o rendere vuoto il contenuto di un file usando la shell redirect null (oggetto inesistente) al file come sotto:

# > access.log
Empty Large File Using Null Redirect in Linux
Empty Large File Using Null Redirect in Linux

Empty File Using ‘true’ Command Redirection

Qui useremo un simbolo : è un comando integrato nella shell che è sostanzialmente equivalente al comando true e può essere usato come no-op (nessuna operazione).

Un altro metodo è quello di reindirizzare l’output del comando integrato : o true al file in questo modo:

# : > access.logOR # true > access.log
Empty Large File Using Linux Commands
Empty Large File Using Linux Commands

Empty File Using cat/cp/dd utilities with /dev/null

In Linux, il dispositivo null è fondamentalmente utilizzato per scartare flussi di output indesiderati di un processo, o come file vuoto adatto per flussi di input. Questo è normalmente fatto dal meccanismo di reindirizzamento.

E il file di dispositivo /dev/null è quindi un file speciale che cancella (rimuove) qualsiasi input inviato ad esso o il suo output è uguale a quello di un file vuoto.

Inoltre, puoi svuotare il contenuto di un file reindirizzando l’output di /dev/null ad esso (file) come input usando il comando cat:

# cat /dev/null > access.log
Empty File Using cat Command
Empty File Using cat Command

In seguito, useremo il comando cp per cancellare il contenuto di un file come mostrato.

# cp /dev/null access.log
Empty File Content Using cp Command
Empty File Content Using cp Command

Nel seguente comando, if significa il file di input e of si riferisce al file di output.

# dd if=/dev/null of=access.log
Contenuto del file vuoto usando il comando dd
Contenuto del file vuoto usando il comando dd

File vuoto usando il comando echo

Qui, puoi usare un comando echo con una stringa vuota e reindirizzarla al file come segue:

# echo "" > access.logOR# echo > access.log
File vuoto usando il comando echo
File vuoto usando il comando echo

Nota: Si dovrebbe tenere a mente che una stringa vuota non è la stessa cosa di null. Una stringa è già un oggetto tanto quanto può essere vuota, mentre null significa semplicemente la non esistenza di un oggetto.

Per questa ragione, quando reindirizzate l’output del comando echo sopra nel file, e visualizzate il contenuto del file usando il comando cat, viene stampata una linea vuota (stringa vuota).

Per inviare un output nullo al file, usate il flag -n che dice a echo di non emettere la newline finale che porta alla linea vuota prodotta nel comando precedente.

# echo -n "" > access.log
Empty File Using Null Redirect
Empty File Using Null Redirect

Empty File Using truncate Command

Il comando truncate aiuta a ridurre o estendere la dimensione di un file ad una dimensione definita.

Puoi impiegarlo con l’opzione -s che specifica la dimensione del file. Per svuotare il contenuto di un file, usa una dimensione di 0 (zero) come nel prossimo comando:

# truncate -s 0 access.log
Truncate File Content in Linux
Truncate File Content in Linux

Questo è tutto per ora, in questo articolo abbiamo coperto diversi metodi per cancellare o svuotare il contenuto di un file usando semplici utilità della linea di comando e meccanismi di reindirizzamento della shell.

Questi non sono probabilmente gli unici modi pratici disponibili per fare questo, quindi puoi anche parlarci di qualsiasi altro metodo non menzionato in questa guida attraverso la sezione feedback qui sotto.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.