versione 1.03, 1 settembre 2022
![]() | ![]() |
Michele Liberi mail: mliberi@gmail.com cell: 3485211456 |
Il comando rmfl è un potenziamento del comando rm.
A differenza del comando rm, il comando rmfl può lavorare su liste di files oltre che su singoli files.
I nomi del files da cancellare possono essere letti (opzione -f) da un file di testo, che può essere anche stdin, uno per riga.
Con questa tecnica si ottiene un molto notevole aumento di efficienza delle script che devono cancellare molti files. Infatti richiamare N volte il comando rm implica N operazioni di fork()/exec(), molto dispendiose in termini di tempi di esecuzione. La tecnica di usare le wildcard è fonte di potenziali errori e conseguenti malfunzionamenti perché una singola riga di comando ha una lunghezza finita, e quindi l'espansione delle wildcard ad opera della shell può fallire.
L'opzione -r permette, come nel comando standard, di cancellare una directory ricorsivamente.
L'opzione -z aggiunge una funzionalità importante, non presente nel comando standard: il file viene sovrascritto con degli zeri prima di essere cancellato. In questo modo il dato non viene cancellato solo logicamente, ma anche fisicamente.
Un'altra funzione non presente nel comando standard (opzione -c) permette di seguire una catena di symlink fino a trovare il file a cui puntano, ed di rimuovere l'intera catena.
Per ulteriori informazioni sulle opzioni disponibili lanciare il comando rmfl -h.