Qualcosa che sento di dover sapere con certezza: se lo farò ls <something>, rm <something>rimuoverò esattamente gli stessi file lsvisualizzati? Vi sono circostanze in cui è rmpossibile rimuovere i file che lsnon sono stati visualizzati? (Questo è nel 18.04 bash)
Modifica: grazie a tutti quelli che hanno risposto. Penso che la risposta completa sia una combinazione di tutte le risposte, quindi ho accettato la risposta più votata come "la risposta".
Cose inaspettate che ho imparato lungo la strada:
lsnon è così semplice come si potrebbe pensare nella gestione dei suoi argomenti- In una semplice installazione non complicata di Ubuntu, alias .bashrc
ls - Non dare un nome ai tuoi file che iniziano con un trattino perché possono sembrare argomenti di comando, e nominarne uno -r lo sta chiedendo!
find -deletemeglio di rm? Dici "Ecco perché" , ma per me non è del tutto chiaro a cosa si riferisca. Nota inoltre che la tua findchiamata eliminerà tutti i file in modo ricorsivo nella directory corrente, dove rmeliminerà semplicemente i file nella directory immediata. Inoltre -name *è un no-op. Tutto sommato, sono abbastanza perplesso dal tuo consiglio ...
findsia perché puoi eseguirlo, vedere tutti i file e quindi eseguire lo stesso comando con -delete. Dato che hai già visto i risultati find, non dovrebbe esserci alcuna ambiguità su ciò che verrà rimosso (in realtà mi piacerebbe sentire maggiori dettagli su questo sotto forma di una risposta)
-delete" - Ma come è meglio che in esecuzione ls <filespec>, seguito da rm <filespec>(che l'OP sa già come fare)?
find ... -printprima per confermare quali file verranno eliminati, quindi find ... -deleteeliminerai comunque i file creati tra i due comandi. Se si utilizzano entrambi -printe -delete, non si ottiene la conferma, solo un rapporto di fatto di ciò che è stato eliminato (e si potrebbe anche utilizzare rm -v).
rmnon abbia una--dry-runbandiera ...