¿Por qué las herramientas les gustan cp
y rm
tratan los directorios por separado de los archivos normales? Ambos requieren que el usuario especifique explícitamente que quiere un comportamiento recursivo, o de lo contrario no tratarán con directorios en absoluto.
Mi primera interacción (hace un tiempo) con las computadoras fue en un entorno Windows / GUI / apuntar y hacer clic / arrastrar y soltar, siempre parecía natural que estas operaciones se comportaran igual, independientemente del objetivo.
Este comportamiento me frustra particularmente cuando doy comandos con comodines. ¿Qué sucede si deseo eliminar todo en un directorio ( *
) excepto los subdirs no vacíos ?
Solo puedo imaginar que esta es una especie de característica de seguridad para evitar que el usuario se dispare en el pie, pero esto contradice mi comprensión de algunos principios de Unix:
- Unix no suele proteger al usuario de sí misma. Siempre ha asumido que el usuario sabe lo que está haciendo.
- Para Unix todo es un archivo. ¿No es un directorio simplemente otro archivo? ¿Por qué son tratados de manera diferente?
Mis preguntas:
- ¿Es este comportamiento derivado de una limitación técnica o es una elección deliberada?
Y en el caso de este último,
- ¿Hay algún relato histórico de las razones que motivaron esta elección?
rm
lo menos, si lo desea ignorar la diferencia entre los archivos y directorios, se puede poner en su~/.bashrc
archivo:alias rm='rm -r'
.