rm -- ----------9976723563nneh4_-----192.9.200.4
Você precisa de --
para dizer a rm
(e mais ou menos todos os outros softwares GNU) que todos os parâmetros a seguir são nomes de arquivo, mesmo quando se inicia com "-". Caso contrário (e no seu caso) o nome do arquivo é confundido com opções. Outra possibilidade é
rm ./----------9976723563nneh4_-----192.9.200.4
Editar 1
Chamar essa resposta trivial de "grande solução" me faz sentir obrigado a levar isso a um nível mais alto. O problema básico não pode ser resolvido "melhor", mas você pode tentar se acostumar a sempre fazer --
um argumento. E algum código shell (substituindo rm por uma função shell) pode ajudá-lo com isso:
rm () {
local args sep_found=no
args=("$@")
while [ $# -gt 0 ]; do
if [ "--" = "$1" ]; then
sep_found=yes
break
fi
shift
done
if [ "yes" = "$sep_found" ]; then
command rm "${args[@]}"
else
echo "WARNING: rm called without '--' seperator."
echo "Please correct the command; aborting."
fi
}
Você colocaria isso em, e. ~/.bashrc
.