rm ha -i
e -I
flag per confermare prima di ogni rimozione. In passato, alcune distribuzioni le hanno attivate per impostazione predefinita. Questa è un'idea terribile. Dai all'utente troppe finestre di dialogo di conferma per le normali operazioni e inizieranno a confermarle abitualmente. Questo sposta semplicemente l'esigenza di "stare attenti" (sempre una bandiera rossa) a una nuova e più fastidiosa finestra di dialogo. "Sì. Sì. Sì. Sì! SÌ! Dannazione, stupido computer, cancella i file SÌ SÌ SÌ SÌ SÌ - CRAP I MEANT NO! NOOOOOOO!" Questo è il problema della finestra di dialogo "Sì, ma non intendevo no". Questa risposta fornisce una spiegazione visiva del perché le finestre di dialogo di conferma arrivano nel momento sbagliato.
Il tipo di errore che si descrive è uno slittamento , "l'esecuzione di un'azione che non era quello che era destinato". L'utente in genere riconosce immediatamente l'errore e sa esattamente come risolverlo. Sfortunatamente, Unix non offre all'utente la possibilità, rm elimina immediatamente il file. Ogni altro sistema operativo risolve questo problema consentendo di eliminare le eliminazioni, almeno per un po ', mediante l'uso del Cestino.
Esistono vari sistemi di immondizia per Unix e questa risposta è piena di suggerimenti .
La domanda è alias rm o no alias rm. Pro per aliasing rm ...
- Non puoi fare la scusa di dimenticare di usare l'alternativa rm.
Contro aliasing rm ...
- Potresti fare affidamento su di esso su sistemi che non lo hanno.
- Potrebbe causare problemi quando il disco è quasi pieno.
- Hai bisogno di infrastrutture per svuotare periodicamente la spazzatura.
- Devono essere sicuri di non interferire con il comportamento previsto di rm nei programmi.
- Potrebbe non emulare completamente rm.
Se segui troppo il primo argomento, finisci per usare vi (non vim, vi), csh (non tcsh, csh) e altre utility antiquate perché sono universalmente disponibili. Tuttavia, esiste il pericolo di personalizzare eccessivamente l'ambiente. Preferisco portare le mie utilità con me e renderlo il più semplice possibile. YMMV.
Due e tre sono problemi tecnici. Possono essere risolti con un lavoro intelligente del mietitore che controlla le dimensioni del cestino e pulisce periodicamente le cose, in modo simile a un dispositivo di sollevamento . Questo può essere un lavoro cron o una versione più intelligente può fare uso delle varie infrastrutture di eventi del file system disponibili su molte distribuzioni Linux desktop. Questo non è semplice e persino più difficile da eseguire in modo efficiente. È meglio trovare un sistema esistente piuttosto che provare a crearne uno tuo.
Il quarto può essere gestito trasformando il tuo nuovo rm in un alias di shell alias rm='trash'
, quindi non influirà sui programmi.
Il quinto è un problema che lascio risolvere per il lettore. rm non ha molti switch.
zsh
obash
) preferirei prendere l'abitudine di premere il tasto Tab (per attivare il completamento automatico) prima di premere il tasto Invio