cygwin中不可删除的文件

Myk*_*naC 7 cygwin

我在cygwin中执行的一个命令收集了一堆文件.现在我无法删除它们.省略了大部分'ls'输出,这就是我正在处理的内容:

% ls -l
ls: cannot access WSERV001.txt: No such file or directory
-rw-r--r--  1 mccppk mkgroup-l-d   50 Sep 17 16:57 WSERV001.text
??????????? ? ?      ?              ?            ? WSERV001.txt
% rm WSERV001.txt
rm: cannot remove `WSERV001.txt': No such file or directory
% touch WSERV001.txt
touch: cannot touch `WSERV001.txt': Permission denied
Run Code Online (Sandbox Code Playgroud)

.text文件是正常的..txt文件(无论如何目录条目)显然已经被软管了.有关如何删除.txt文件的任何想法?

小智 14

我有同样的问题并修复如下(在Win7下):

打开cmd窗口(以管理员身份运行)

takeown/r/f DRIVE:\ PATH

icacls DRIVE:\ PATH/grant USERNAME:F/T.

其中USERNAME是您运行此用户的win7用户名.

还要确保cron.exe没有为用户USERNAME或SYSTEM运行(可以从TaskManager检查)并且没有运行cygwin的程序.

完成所有操作后,您应该可以删除文件.

希望这可以帮助,

吉恩


tha*_*s.a 5

我有一个可重现的案例,由于权限限制,这里没有任何建议有帮助.

在sygwin下:

[Sakis@t0000000000]$ ll
total 0
drwxr-x--- 1 ???????? ???????? 0 Jul  4 02:51 t0000000000_1.db/
[Sakis@t0000000000]$
Run Code Online (Sandbox Code Playgroud)

尝试从管理员cmd控制台获取所有者:

c:\t000000000
0>takeown /r /f t0000000000_1.db
ERROR: Access is denied.
Run Code Online (Sandbox Code Playgroud)

尝试从admin cmd控制台中删除:

c:\t000000000
0>rmdir /S t0000000000_1.db
t0000000000_1.db, Are you sure (Y/N)? Y
Access is denied.
Run Code Online (Sandbox Code Playgroud)

也无法从Windows GUI更改所有者.它抱怨你应该具有读权限.

- - 解决 - -

最后,我设法通过输入具有管理权限的cmd命令来删除它并执行:

rm -r <dir>
Run Code Online (Sandbox Code Playgroud)

提示:您必须确保该目录完全没有使用.您可以使用procmon找到锁定该目录的人.


Myk*_*naC 0

尝试使用 chown 和 chmod,即使作为 root,也失败了(我不记得错误)。

我很确定我的磁盘没问题。我每天运行 DiskCheckup 以获取 SMART 设置的详细历史记录,并于今天早上进行了检查。那里不用担心。

自从最初的问题和帖子出现以来,我变得很忙,现在又回到了同一个本地 shell 窗口。那些文件不见了。这是我笔记本电脑上的本地 cygwin shell,所以我知道没有其他人“提供帮助”。奇怪的。那些 .txt 文件不再存在了。

我仍然很好奇什么会导致 ls 输出所有文件元数据(文件名除外)的所有问号。但主要问题已经解决了。