Occasionalmente, durante la gestione dei file nel terminale Linux, potresti voler cancellare il contenuto di un file senza necessariamente aprirlo utilizzando alcun editor della riga di comando di Linux. Come può essere raggiunto? In questo articolo, esamineremo diversi modi per svuotare il contenuto dei file con l'aiuto di alcuni comandi utili.
Attenzione :Prima di procedere a esaminare i vari modi, nota che poiché in Linux tutto è un file, devi sempre assicurarti che i file che stai svuotando non siano file utente o di sistema importanti. La cancellazione del contenuto di un sistema critico o di un file di configurazione potrebbe causare un errore o un errore irreversibile dell'applicazione/sistema.
Detto questo, di seguito sono riportati i mezzi per cancellare il contenuto del file dalla riga di comando.
Importante :Ai fini di questo articolo, abbiamo utilizzato il file access.log
negli esempi seguenti.
1. Svuota il contenuto del file reindirizzando a Null
Un modo più semplice per svuotare o svuotare il contenuto di un file utilizzando il reindirizzamento della shell null
(oggetto inesistente) al file come di seguito:
# > access.log
2. File vuoto utilizzando il reindirizzamento dei comandi "vero"
Qui useremo un simbolo :
è un comando integrato nella shell che è essence equivalente a true
comando e può essere utilizzato come no-op (nessuna operazione).
Un altro metodo è reindirizzare l'output di :
o true
comando integrato al file in questo modo:
# : > access.log OR # true > access.log
3. File vuoto Usando le utilità cat/cp/dd con /dev/null
In Linux, null
il dispositivo è fondamentalmente utilizzato per eliminare i flussi di output indesiderati di un processo, oppure come un file vuoto adatto per i flussi di input. Questo è normalmente fatto da un meccanismo di reindirizzamento.
E il /dev/null
device file è quindi un file speciale che cancella (rimuove) qualsiasi input inviatogli 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
Successivamente, useremo il comando cp per cancellare il contenuto di un file come mostrato.
# cp /dev/null access.log
Nel comando seguente, if
indica il file di input e il of
fa riferimento al file di output.
# dd if=/dev/null of=access.log
4. File vuoto usando il comando echo
Qui puoi usare un comando echo con una stringa vuota e reindirizzarlo al file come segue:
# echo "" > access.log OR # echo > access.log
Nota :Dovresti tenere presente che una stringa vuota non è la stessa di null. Una stringa è già un oggetto tanto quanto può essere vuota mentre null significa semplicemente non esistenza di un oggetto.
Per questo motivo, quando reindirizzi il comando out of the echo sopra nel file e visualizzi il contenuto del file usando il comando cat, viene stampata una riga vuota (stringa vuota).
Per inviare un output nullo al file, usa il flag -n
che dice eco per non produrre la nuova riga finale che porta alla riga vuota prodotta nel comando precedente.
# echo -n "" > access.log
5. File vuoto usando il comando tronca
Il troncare il comando aiuta a ridurre o estendere la dimensione di un file a una dimensione definita.
Puoi utilizzarlo con -s
opzione che specifica la dimensione del file. Per svuotare il contenuto di un file, usa una dimensione di 0 (zero) come nel comando successivo:
# truncate -s 0 access.log
Per ora è tutto, in questo articolo abbiamo trattato diversi metodi per cancellare o svuotare il contenuto dei file utilizzando semplici utilità da riga di comando e un meccanismo di reindirizzamento della shell.
Questi non sono probabilmente gli unici modi pratici disponibili per farlo, quindi puoi anche parlarci di altri metodi non menzionati in questa guida tramite la sezione feedback qui sotto.