我在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的程序.
完成所有操作后,您应该可以删除文件.
希望这可以帮助,
吉恩
我有一个可重现的案例,由于权限限制,这里没有任何建议有帮助.
在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找到锁定该目录的人.
尝试使用 chown 和 chmod,即使作为 root,也失败了(我不记得错误)。
我很确定我的磁盘没问题。我每天运行 DiskCheckup 以获取 SMART 设置的详细历史记录,并于今天早上进行了检查。那里不用担心。
自从最初的问题和帖子出现以来,我变得很忙,现在又回到了同一个本地 shell 窗口。那些文件不见了。这是我笔记本电脑上的本地 cygwin shell,所以我知道没有其他人“提供帮助”。奇怪的。那些 .txt 文件不再存在了。
我仍然很好奇什么会导致 ls 输出所有文件元数据(文件名除外)的所有问号。但主要问题已经解决了。
归档时间: |
|
查看次数: |
7868 次 |
最近记录: |