无法在Linux上删除文件
我目前连接到一台在Linux上运行的远程计算机,在运行我的一个C程序后,我有一个随机目录。目录名的形式是:“H$'204'blahblah'u$'[]'$'234”,非常奇怪 当我试图通过无法在Linux上删除文件,linux,unix,csh,Linux,Unix,Csh,我目前连接到一台在Linux上运行的远程计算机,在运行我的一个C程序后,我有一个随机目录。目录名的形式是:“H$'204'blahblah'u$'[]'$'234”,非常奇怪 当我试图通过rm dir\u name删除它时,终端会抛出非法变量名。即使我使用-f标志,也会出现同样的行为。然后,我试图通过单击资源管理器中的目录(在vscode上)来删除它,结果得到一个错误,错误是error:enoint:没有这样的文件或目录 如果有帮助的话,我正在csh shell上运行这个 更新:运行:rm./H
rm dir\u name
删除它时,终端会抛出非法变量名。
即使我使用-f
标志,也会出现同样的行为。然后,我试图通过单击资源管理器中的目录(在vscode上)来删除它,结果得到一个错误,错误是error:enoint:没有这样的文件或目录代码>
如果有帮助的话,我正在csh shell上运行这个
更新:运行:rm./H
工作正常。谢谢你 神奇的单词是ls-b
。它将以转义方式显示不可打印的字符,以便您可以重新输入。尝试运行rm./H
,然后查看它选项卡是否为您完成名称。另外,在程序中,确保在调用mkdir()之前初始化变量。这是一个传奇。这对我很有效,其中一条斜线实际上应该朝向另一个方向。在这种情况下,我使用mc(midnight commander)文件管理器时,请尝试rm“'H$'204'blahblah”'u$'[]'$'234”。这是最可靠的方法。一旦我找到一个名称中有“\n”(新行)的文件。我只是在使用mc浏览时才意识到这一点。我使用了这个命令,复制了特定目录的输出,然后尝试删除它,但仍然得到相同的行为;i、 例如,没有这样的文件或目录。您将必须转义任何特殊字符,至少(从您的示例中)$”
,并且取决于您使用的shell,也可能是[]
。