rm 以“?”开头的文件在 Linux 上

问题描述 投票:0回答:3

我有多个以“?”开头的文件那些被错误创建的。对于文件“?” (单个字符,无扩展名),我尝试过:

rm ?
rm \?
rm ./?
rm '?'
(以及这些的组合)。

所有这些都返回“rm:无法删除‘?’:没有这样的文件或目录”。

请教我如何删除该文件。

linux rm
3个回答
1
投票

我过去也遇到过类似的问题。为此,您可以使用

rm ./?
rm -- ?

参考:如何删除具有特殊特征的文件


0
投票

您可以使用文件名扩展与

*
将单词扩展为匹配文件名的单词列表。

您可以引用或转义文件名扩展触发字符,例如

?
[
*
,按字面解析它而不是触发文件名扩展。

echo "?"*
echo '?'*
echo \?*

echo
替换为
rm
以真正删除。


0
投票

rm '?'
应该可以解决问题。
?
是一个全局模式,匹配单个字符。因此
rm ?
rm ./?
将删除名称为任何单个字符的文件。

但是,您可能有一个更复杂的名称(无法显示)。 您可以使用

ls -b
显示 C 风格转义中的特殊字符。

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