我有一个名为&& !!
的文件
如何删除此文件?
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
&& !!
rm -- "&& !!"
结果:
rm:cannot remove '&& git st':没有这样的文件或目录
正如你可能已经猜到的,git st
是我的git status
的方式。
我是怎么到这里来的?
1.打开Vim
:e && !!
:wq
3条答案
按热度按时间nqwrtyyt1#
您的
rm -- "&& !!"
尝试失败,因为历史扩展用以前执行的命令替换了!!
。您可以通过在单引号中引用文件名来避免这种情况,因为您不需要扩展内容:历史扩展经常让我感到困惑,而且我从未发现该功能的用途,因此我选择通过将
set +H
添加到.bashrc
文件来禁用它。3zwtqj6y2#
像这样使用单引号:
rm -- '&& !!'
.双引号扩展了它们的内容。
l5tcr1uw3#
我建议使用
然后使用以下命令删除受影响的文件,其中$inum是从列表中获得的inode编号。这将摆脱文件与任何奇怪的字符。
要小心的&符号,因为有时候黑客留下的文件与这些字符有命令的文件名中,希望有人会意外地执行它们。