Habilite la confirmación al eliminar archivos y 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 en el sistema de archivos, ya sea que deba eliminarse o no. Una vez que agrega metacaracteres y sudo, rm y srm, porque son exponencialmente más fuertes y potencialmente peligrosos, para los usuarios avanzados que desean agregar una capa de seguridad a la función rm, pueden activar un diálogo de confirmación con los comandos rm y srm. Esto también proporciona 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 su comando.
Hay dos partes en este truco, la primera es simplemente conocer el indicador apropiado para activar y usar una confirmación antes de que se elimine un archivo o carpeta con rm, y la segunda usa un alias para realizar la eliminación anterior con la confirmación en el nuevo valor predeterminado. opción para el comando rm. Ambos trucos funcionan en Mac OS X, Linux y la mayoría de las otras variantes de Unix, por lo que es en gran medida independiente del sistema operativo y también funciona con el poderoso comando srm secure remove. Obviamente, esto es para usuarios más avanzados que se sienten cómodos con la línea de comandos para principiantes, ya que el uso de rm y srm no son herramientas adecuadas para principiantes.
Use el comando rm con confirmación antes de eliminar archivos y carpetas
La sintaxis para activar una confirmación antes de eliminar cualquier archivo con rm (o srm) es simplemente un indicador -i, que se usa de la siguiente manera:
rm -i filename
Por ejemplo, si eliminó un archivo llamado «theSampleFile.zip» y le gustaría recibir una confirmación antes de eliminar el comando, usaría la siguiente sintaxis:
rm -i theSampleFile.zip
Una vez que presione Intro, se le preguntará si desea o no eliminar el nombre del archivo en cuestión, con el comando repitiendo el archivo justo antes de eliminarlo de la siguiente manera:
% rm -i theSampleFile.zip
remove theSampleFile.zip? y
Al presionar «y» y devolver la respuesta con un «sí» para eliminar el archivo, y al presionar la tecla «n» y devolver la respuesta con un no, el archivo no se eliminará.
La sintaxis rm -i incluso funciona con -r para obtener confirmación antes de eliminar de forma recursiva directorios y el contenido de los archivos en las subcarpetas que contiene:
rm -ir /Example/Folder/
Nuevamente, deberá emitir ay o n antes de que se complete el comando para cada archivo individual que se encuentre en el directorio.
Obtener el mismo diálogo de confirmación con srm también usa la bandera -i:
srm -i /Example/file.zip
Nuevamente, usaría las teclas yyn para confirmar o negar la eliminación de los archivos especificados.
Cómo habilitar una confirmación de comando «rm» por defecto con un alias
Abra .bash_profile o .profile y puede crear un alias como este para cambiar la sintaxis predeterminada «rm» a «rm -i» para que sea el nuevo valor predeterminado.
alias rm='rm -i'
Puede crear el mismo alias con srm de la siguiente manera:
alias srm='srm -i'
Es suficiente agregar ambos a las líneas únicas en el perfil, luego actualizar el shell permitirá el acceso a bash, zsh, tcsh o cualquiera de sus shells.
¿Tiene otros consejos avanzados para proteger rm y srm en la línea de comandos antes de eliminar archivos? Dinos en los comentarios. Y si solo desea conocer más consejos interesantes sobre la línea de comando, explore nuestras publicaciones sobre el tema general.