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 | rm
truco 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
yes
enviary
N número de veces y luego pasar la entrada del teclado más allá de eso. No puede hacerlorm
excepto para preguntar siempre (rm -i
) o nunca preguntar (rm -f
).Siempre puedes abortar
rm
porkill
), okill -9
).Esto no deshacerá ninguna operación de archivo que
rm
ya haya realizado, pero evitará que realice más operaciones de archivo. Si elrm
proceso 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).rm
lugar 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
.bashrc
archivo, puede comentar el alias que fuerza la confirmación, usa el-i
parámetro como dhag expandido.en ti
.bashrc
encontrarás una entrada como esta:si lo comentas, tu
rm -f
testamento funciona directamentefuente
Debajo
bash
, puede omitir un alias anteponiendo\
a al comando, por lo quese convierte
fuente
yes | rm
truco antes de comenzar