代码之家  ›  专栏  ›  技术社区  ›  MykennaC

Cygwin中无法删除的文件

  •  7
  • MykennaC  · 技术社区  · 16 年前

    我在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
    

    .text文件正常。.txt文件(无论如何都是目录条目)显然是主机。关于如何删除.txt文件有什么想法吗?

    4 回复  |  直到 12 年前
        1
  •  13
  •   Jean    16 年前

    我遇到了同样的问题,并按如下方式解决了它(在Win7中):

    打开一个命令窗口(以管理员身份运行)

    takeown/r/f驱动器:\path

    icacls驱动器:\path/grant用户名:f/t

    其中,username是运行此命令的win7用户名。

    还要确保cron.exe没有为用户用户名或系统运行(可以从TaskManager检查),并且cygwin没有运行任何程序。

    一旦全部检查完成,您就应该能够删除您的文件。

    希望这有帮助,

    牛仔

        2
  •  5
  •   thanos.a    12 年前

    我有一个可复制的案例,由于权限限制,这里的建议都没有帮助。

    西格温下:

    [Sakis@t0000000000]$ ll
    total 0
    drwxr-x--- 1 ???????? ???????? 0 Jul  4 02:51 t0000000000_1.db/
    [Sakis@t0000000000]$
    

    正在尝试从管理命令控制台获取所有者:

    c:\t000000000
    0>takeown /r /f t0000000000_1.db
    ERROR: Access is denied.
    

    正在尝试从管理命令控制台中删除:

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

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

    ---已解决---

    最后,我通过输入 CMD 命令与 管理 特权和执行:

    rm -r <dir>
    

    提示:您必须确保中的目录完全不被使用。您可以使用procmon来查找锁定该目录的用户。

        3
  •  0
  •   MykennaC    16 年前

    尝试使用chown和chmod(即使是root)失败(我不记得错误)。

    我很确定我的磁盘没问题。我每天都运行diskcheckup,查看智能设置的强大历史记录,今天早上检查了它。别担心。

    由于最初的问题和帖子,我很忙,现在又回到了同一个本地shell窗口。那些文件不见了。这是我笔记本电脑上的本地Cygwin外壳,所以我知道没有其他人“帮忙”。奇怪。那些.txt文件已经不在了。

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

        4
  •  -1
  •   Joshua    16 年前

    作为管理员,这应该解决:

    chown <yourusername> WSERV001.txt
    chmod 666 WSERV001.txt
    rm -f WSERV001.txt
    

    如果没有,您可能有磁盘错误。