как удалить файл, имя которого начинается с '-' [дубликат]

этот вопрос уже есть ответ здесь:

после ошибки в скрипте я получил файл, имя которого начинается с тире' -'

-myfile.txt

Я пробовал до сих пор:

rm -myfile.txt
rm: illegal option -- m
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file

rm "-myfile.txt"
rm: illegal option -- m
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file

rm "-myfile.txt"
rm: -myfile.txt: No such file or directory

rm -myfile.txt
rm: illegal option -- m
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file

rm "-"myfile.txt
rm: illegal option -- m
usage: rm [-f | -i] [-dPRrvW] file ...
       unlink file

у вас есть какие-нибудь идеи ?

спасибо

4 ответов


спасибо @ajp15243 : ответ :

rm ./-myfile.txt

или

rm -- -myfile.txt

используйте абсолютный путь

Как rm/home/name / -myfile.txt


вы всегда можете попробовать решение inode:

$ ls -al -i | grep me
2116530 -rw-rw-r--  1 user123 user123       0 Feb 27 12:39 me

и 2116530 - это дескриптор файла. Затем вы можете использовать find для его удаления

find ./ -inum 2116530 --delete

или даже

find ./ -inum 2116530 -exec rm {\} \;

попробуй это введите имя файла "-" например: rm " - myfile.txt"