Activar una confirmación al eliminar archivos & Carpetas con el comando rm
La mayoría de los usuarios de la línea de comandos saben que el comando "rm" para eliminar y eliminar archivos es bastante poderoso, capaz de eliminar casi cualquier archivo imaginable dentro del sistema de archivos, ya sea que se deba eliminar o no. Una vez que agrega comodines y sudo, rm y srm porque son exponencialmente más potentes y potencialmente peligrosos, por lo que para los usuarios avanzados que deseen agregar una capa de seguridad a la función rm, pueden habilitar un cuadro de diálogo de confirmación con los comandos rm y srm.Esto también ofrece un mecanismo de protección útil para aquellos que están aprendiendo la línea de comandos y desean colocar una capa de verificación entre la eliminación instantánea de archivos y la ejecución de sus comandos.
Hay dos partes en este truco, la primera es simplemente conocer el indicador adecuado para habilitar y usar una confirmación antes de que se elimine un archivo o carpeta con rm, y la segunda usa un alias para hacer lo mencionado anteriormente eliminar con confirmación en la nueva opción predeterminada para el comando rm. Ambos trucos funcionan en Mac OS X, Linux y la mayoría de las otras variaciones de Unix, por lo que es en gran medida independiente del sistema operativo, y también funciona con el poderoso comando de eliminación segura srm. Obviamente, esto está dirigido a usuarios más avanzados que se sienten cómodos con la línea de comandos para empezar, ya que usar rm y srm no son herramientas apropiadas para principiantes.
Uso del comando rm con confirmación antes de eliminar archivos y carpetas
La sintaxis para habilitar una confirmación antes de eliminar cualquier archivo con rm (o srm) es simplemente un indicador -i, usado así:
rm -i nombre de archivo
Por ejemplo, si tuviera que eliminar un archivo llamado “theSampleFile.zip” y quisiera tener una confirmación antes de eliminar el comando, usaría la siguiente sintaxis:
rm -i el archivo de muestra.zip
Una vez que presione regresar, se le preguntará si desea o no eliminar el nombre del archivo en cuestión, y el comando repetirá el archivo exacto antes de eliminarlo así:
% rm -i theSampleFile.zip eliminar theSampleFile.zip? y
Al presionar 'y' y regresar responde con un 'sí' para eliminar el archivo, y al presionar 'n' y regresar responde con un no y el archivo no se eliminará.
La sintaxis rm -i incluso funciona con -r para obtener una confirmación antes de eliminar de forma recursiva los directorios y el contenido de los archivos de las subcarpetas contenidas:
rm -ir /Ejemplo/Carpeta/
Nuevamente, tendrá que emitir una y o una n antes de que el comando se complete para cada archivo individual que se encuentre dentro del directorio.
Obtener el mismo diálogo de confirmación con srm también usa el indicador -i:
srm -i /Ejemplo/archivo.zip
Nuevamente, usaría las teclas y y n para confirmar o denegar la eliminación de archivos específicos.
Cómo habilitar una confirmación de comando 'rm' de forma predeterminada con un alias
Abra su .bash_profile o .profile y puede crear un alias como ese para cambiar la sintaxis predeterminada 'rm' a 'rm -i' para que sea el nuevo valor predeterminado.
alias rm='rm -i'
Puedes crear el mismo tipo de alias con srm así:
alias srm='srm -i'
Agregar ambos a líneas únicas dentro del perfil es suficiente, luego actualizar el shell permitirá acceder a ambos desde bash, zsh, tcsh, o cualquiera que esté en uso.
¿Tiene otros consejos avanzados para proteger rm y srm en la línea de comandos antes de eliminar archivos? Háganos saber en los comentarios. Y si solo quieres .