Как удалить файл, имя которого начинается с «-»

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

-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

Как я могу удалить этот файл?


person jrjc    schedule 26.02.2014    source источник
comment
Часто задаваемые вопросы: rm -- filename   -  person devnull    schedule 26.02.2014
comment
Возможные дубликаты здесь и здесь   -  person ajp15243    schedule 26.02.2014
comment
спасибо @ajp15243. при поиске не нашел   -  person jrjc    schedule 26.02.2014


Ответы (4)


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

rm ./-myfile.txt

or

rm -- -myfile.txt
person jrjc    schedule 26.02.2014
comment
Я думаю, что devnull тоже заслуживает похвалы за ответ -- :). Вам предлагается принять ваши ответы на ваши собственные вопросы, если это решило проблему. Он пометит вопрос как решенный для следующего человека, который будет искать ответы через SO. - person ajp15243; 26.02.2014
comment
Конечно, но я действительно понял, что он имел в виду благодаря вашему посту! (Я могу принять свой ответ через 2 дня!) - person jrjc; 26.02.2014

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

Например, rm /home/name/-myfile.txt

person Q_SaD    schedule 27.02.2014

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

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

а 2116530 — индекс файла. Затем вы можете использовать найти, чтобы удалить его

find ./ -inum 2116530 --delete

или даже

find ./ -inum 2116530 -exec rm {\} \;
person user2599522    schedule 27.02.2014

попробуйте этот, поместите имя файла в «-», например: rm «-myfile.txt»

person Arun Binoy    schedule 27.02.2014