WSL 中的 g++ 创建了一个不可删除的文件
g++ in WSL has created an undeleteable file
我在 WSL (g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
) 下使用 g++ 将基本 C++ 文件 'simple.cpp' 编译成可执行文件 'simple'。创建此可执行文件后,我无法删除它。
我试过使用 rm -rf simple
、sudo rm -rf simple
删除,通过 Windows Explorer 删除(属性中缺少安全选项卡)和提升命令中的 del simple
迅速的。有趣的是,sudo rm -rf simple
returns 0,表示成功,但是ls -l
表示文件还在,但是不可读。甚至 sudo ls -l
它显示以下内容:
ls: cannot access 'simple': No such file or directory
total 128
-????????? ? ? ? ? ? simple
-rwxrwxrwx 1 seb seb 28 Aug 6 17:25 simple.cpp
尝试 chmod 或 chown 文件也失败,cannot access 'simple': No such file or directory
。
simple.cpp
文件包含非常无害的内容:
int main() {
return 0;
}
我预计所描述的 4 种方法中的一种可以删除该文件,但一切都失败了。
这通常是因为进程具有文件句柄。
您可以尝试终止上述进程,但我建议您重新启动计算机并尝试删除文件
我在 WSL (g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
) 下使用 g++ 将基本 C++ 文件 'simple.cpp' 编译成可执行文件 'simple'。创建此可执行文件后,我无法删除它。
我试过使用 rm -rf simple
、sudo rm -rf simple
删除,通过 Windows Explorer 删除(属性中缺少安全选项卡)和提升命令中的 del simple
迅速的。有趣的是,sudo rm -rf simple
returns 0,表示成功,但是ls -l
表示文件还在,但是不可读。甚至 sudo ls -l
它显示以下内容:
ls: cannot access 'simple': No such file or directory
total 128
-????????? ? ? ? ? ? simple
-rwxrwxrwx 1 seb seb 28 Aug 6 17:25 simple.cpp
尝试 chmod 或 chown 文件也失败,cannot access 'simple': No such file or directory
。
simple.cpp
文件包含非常无害的内容:
int main() {
return 0;
}
我预计所描述的 4 种方法中的一种可以删除该文件,但一切都失败了。
这通常是因为进程具有文件句柄。
您可以尝试终止上述进程,但我建议您重新启动计算机并尝试删除文件