Activar una confirmación al eliminar archivos & Carpetas con el comando rm

Anonim

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 .

Activar una confirmación al eliminar archivos & Carpetas con el comando rm