Há muitas dúvidas sobre comodesfazer um finalizado rm
comando. No meu caso, meu rm começou a perguntar: “Tem certeza que deseja excluir este arquivo?”
E preciso confirmar para cada um deles. Em vez de confirmar manualmente "s/n":
Posso definir "sim" para o restante enquanto é solicitado s/n para o enésimo arquivo? (equivalente à caixa de seleção "Sim para todos" no Windows) (conheço o
yes | rm
truque antes de começar)Posso abortar a operação enquanto for solicitado s/n para o enésimo arquivo? (exceto para desligar a máquina :))
Responder1
Para realizar a solicitação 1, você precisará usar um programa mais sofisticado do que yes
enviar y
N número de vezes e depois passar a entrada do teclado além disso. Você não pode fazer isso rm
exceto perguntar sempre ( rm -i
) ou nunca perguntar ( rm -f
).
Você sempre pode rm
abortar
- pressionando Control-C para interrompê-lo (envia SIGINT),
- pressionando Control-Z para pará-lo (envia SIGSTOP) e depois matá-lo,
- enviando um SIGTERM (
kill
), ou - enviando um SIGKILL (
kill -9
).
Isso não desfará nenhuma operação de arquivo rm
já executada, mas impedirá que ele execute outras operações de arquivo. Se o rm
processo estiver solicitando a entrada do usuário, ele não está desvinculando ativamente nenhum arquivo, portanto, matá-lo apenas impedirá que ele continue.
Responder2
GNU rm suporta -i
, que presumo ser o que você está se referindo e pede confirmação para cada arquivo, mas também -I
, que é um pouco diferente:
-I prompt once before removing more than three files, or when
removing recursively. Less intrusive than -i, while still giv‐
ing protection against most mistakes
Quanto a saber se é possível interromper uma interação com rm depois de iniciada, clicar em Ctrl- Cdeve bastar.
Responder3
com Ctrl+ cvocê poderá cancelar a operação.
Mas se você olhar no seu .bashrc
arquivo, você pode comentar o alias que força a confirmação, use o -i
parâmetro como explicado dhag.
em você .bashrc
você encontrará uma entrada como esta:
alias rm='rm -i'
se você comentar, sua rm -f
vontade funciona diretamente
Responder4
Em bash
, você pode ignorar um alias acrescentando a \
ao comando, então
rm filename
torna-se
\rm filename