Execute isto:
rm -rf ./-ksh.l.15092015.log
eu tenho um arquivo é o nome
-ksh.l.15092015.log
para excluir este arquivo eu faço isso:
rm -rf -ksh.l.15092015.log
mas eu tenho esse erro:
rm: Not a recognized flag: k
Usage: rm [-firRe] [--] File...
eu fiz isso:
rm -rf *ksh*
mas eu tenho os mesmos erros, por quê?
Thx pela sua ajuda!
Esta é uma boa pergunta, e pelo que me lembro, algumas entrevistas de sysadmin fazem uso dela.
Você tem várias maneiras de fazer isso:
Remova usando caminho relativo ou absoluto. Como SHW disse em sua resposta:
rm -rf ./-ksh.l.15092015.log
ou
rm -rf /full/path/-ksh.l.15092015.log
Remova desativando a interpretação de traço ( - ) para rm
rm -- -ksh.l.15092015.log
E a maneira mais complicada :), usando o inode:
ls -li | grep ksh.l.15092015.log
5383819 -rw-r--r-- 1 root root 0 sep 15 13:17 -ksh.l.15092015.log
find . -inum 5383819 -delete
Você também pode usar mc e vim , mas estas são as formas "shell" que eu conheço.
Tags command-line linux