如何删除名称以' - '开头的文件[复制]

问题描述 投票:7回答:4

在脚本出错后,我得到了一个名字以短划线开头的文件,-

-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

如何删除此文件?

bash shell unix rm
4个回答
12
投票

感谢@ ajp15243:答案是:

rm ./-myfile.txt

要么

rm -- -myfile.txt

2
投票

使用绝对路径名

像rm /home/name/-myfile.txt


1
投票

你可以随时尝试inode解决方案:

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

2116530是文件的inode。然后你可以使用find来删除它

find ./ -inum 2116530 --delete

甚至

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

0
投票

试试这个把你的文件名放在“ - ”中,例如:rm“-myfile.txt”

© www.soinside.com 2019 - 2024. All rights reserved.