Hay muchas preguntas sobre cómo deshacer un rm comando terminado . En mi caso, mi empresa comenzó a preguntar: "¿Está seguro de que desea eliminar este archivo?"
Y necesito confirmar para cada uno de ellos. En lugar de confirmar manualmente "y / n":
¿Puedo establecer "sí" en el resto mientras se me pide y / n para el enésimo archivo? (equivalente a la casilla de verificación "Sí a todo" en Windows) (Conozco el
yes | rmtruco antes de comenzar)¿Puedo cancelar la operación mientras se me pide y / n para el enésimo archivo? (excepto para apagar la máquina :))

Respuestas:
Para cumplir con la solicitud 1, necesitará usar un programa más sofisticado que
yesenviaryN número de veces y luego pasar la entrada del teclado más allá de eso. No puede hacerlormexcepto para preguntar siempre (rm -i) o nunca preguntar (rm -f).Siempre puedes abortar
rmporkill), okill -9).Esto no deshacerá ninguna operación de archivo que
rmya haya realizado, pero evitará que realice más operaciones de archivo. Si elrmproceso actualmente está solicitando la entrada del usuario, no está desvinculando activamente ningún archivo, por lo que eliminarlo simplemente evitará que continúe.fuente
yes | head -9 | rm...de obtener 9 (por ejemplo) sí?{ yes | head -n9; yes n; } | rm -i …para eliminar los primeros 9 archivos, luego responder "no" para los archivos restantes (y, por supuesto, la{ … }parte se podría expandir para cubrir cualquier combinación posible de números).rmlugar de crear comandos retorcidos y poco confiables?GNU rm admite
-i, que supongo es a lo que se refiere y pide confirmación para cada archivo, pero también-I, que es un poco diferente:En cuanto a si es posible detener una interacción con rm después de que haya comenzado, Golpear Ctrl- Cdebe hacerlo.
fuente
con Ctrl+ cpodrás cancelar la operación.
Pero si mira en su
.bashrcarchivo, puede comentar el alias que fuerza la confirmación, usa el-iparámetro como dhag expandido.en ti
.bashrcencontrarás una entrada como esta:si lo comentas, tu
rm -ftestamento funciona directamentefuente
Debajo
bash, puede omitir un alias anteponiendo\a al comando, por lo quese convierte
fuente
yes | rmtruco antes de comenzar