GNU/Linux >> Linux Esercitazione >  >> Linux

Il metodo più efficiente per svuotare il contenuto di un file?

Sono a conoscenza di tre metodi per eliminare tutte le voci da un file.

Loro sono

  • >filename
  • touch filename
  • filename < /dev/null

Di questi tre abuso di >filename il massimo in quanto richiede il minor numero di sequenze di tasti.

Tuttavia, vorrei sapere qual è il più efficiente dei tre (se esistono metodi più efficienti) rispetto a file di registro di grandi dimensioni e file di piccole dimensioni.

Inoltre, come funzionano i tre codici ed eliminano i contenuti?

Modifica :come discusso in questa risposta, in realtà non cancella il file!

Risposta accettata:

In realtà, la seconda forma touch filename non elimina nulla dal file:crea solo un file vuoto se non esisteva o aggiorna la data dell'ultima modifica di un file esistente.

E il terzo filename < /dev/null tenta di eseguire filename con /dev/null come input.

cp /dev/null filename funziona.

Per quanto riguarda l'efficienza, la più efficiente sarebbe truncate -s 0 filename (vedi qui).

Altrimenti, cp /dev/null filename o > filename stanno entrambi bene. Entrambi aprono e quindi chiudono il file, utilizzando l'impostazione tronca all'apertura. cp apre anche /dev/null , quindi questo lo rende leggermente più lento.

D'altra parte, truncate sarebbe probabilmente più lento di > filename quando viene eseguito da uno script poiché l'esecuzione del comando truncate richiede che il sistema apra l'eseguibile, lo carichi e quindi lo esegua.


Linux
  1. Il metodo più portatile per avviare un emulatore di terminale?

  2. Il Bash '?

  3. Mv Atomic è sulle F?

  4. Come ottenere la somma Md5 dei contenuti di una directory come una somma?

  5. In che modo il comando Sed '1!g;h;$!d' inverte il contenuto di un file?

La differenza tra più, meno e la maggior parte dei comandi

Come visualizzare il contenuto di un archivio o di un file compresso in Linux

Visualizza il contenuto di un file nella riga di comando di Linux

Come ottenere il nome del file dal percorso completo in Linux

Copia il contenuto del file negli appunti nel terminale Linux

Come visualizzare il contenuto del file in modo ricorsivo?