Perché agli strumenti piacciono cp
e rm
trattano le directory separatamente dai normali file? Entrambi richiedono all'utente di specificare esplicitamente che desidera un comportamento ricorsivo, altrimenti non si occuperanno affatto delle directory.
La mia prima interazione (qualche tempo fa) con i computer era su un ambiente Windows / GUI / point-and-click / drag-and-drop, sembrava sempre naturale che queste operazioni si comportassero allo stesso modo, indipendentemente dalla destinazione.
Questo comportamento mi frustra particolarmente quando do comandi con caratteri jolly. Cosa succede se desidero rimuovere tutto in una directory ( *
) tranne i sottodir non vuoti ?
Posso solo immaginare che questa sia una sorta di funzione di sicurezza per impedire all'utente di spararsi ai piedi, ma questo contraddice la mia comprensione di alcuni principi Unix:
- Unix di solito non protegge l'utente da se stessa. Si è sempre presupposto che l'utente sappia cosa sta facendo.
- Per Unix tutto è un file. Una directory non è solo un altro file? Perché sono trattati in modo diverso?
Le mie domande:
- Questo comportamento deriva da una limitazione tecnica o è una scelta deliberata?
E nel caso di quest'ultimo,
- ci sono resoconti storici delle ragioni che hanno motivato questa scelta?
rm
lo meno, se si vuole ignorare la differenza tra file e directory, si può mettere nel vostro~/.bashrc
file di:alias rm='rm -r'
.