Не удаляемый файл в cygwin - PullRequest
       2

Не удаляемый файл в cygwin

7 голосов
/ 18 сентября 2010

Команда, которую я выполнил в 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 ]

14 голосов
/ 24 сентября 2010

У меня была та же проблема, и я исправил ее следующим образом (под Win7):

Откройте окна cmd (запустите от имени администратора)

takeown / r / f DRIVE: \PATH

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

, где USERNAME - ваше имя пользователя win7, под которым вы его запускаете.

Также убедитесь, чтоcron.exe НЕ выполняется для пользователя USERNAME или SYSTEM (это можно проверить из TaskManager), и что никакие программы из cygwin не запущены.

После того, как все будет проверено и выполнено, вы сможете удалить свои файлы.

Надеюсь, это поможет,

Жан

5 голосов
/ 04 июля 2013

У меня воспроизводимый случай, и ничто из предложенного здесь не помогает из-за ограничений разрешений.

Под sygwin:

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

Попытка взять владельца из консоли администратора cmd:

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

Попытка удалить из консоли администратора cmd:

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

Невозможно также изменить владельца в графическом интерфейсе Windows. Он жалуется, что у вас должны быть права на чтение.

--- РАЗРЕШЕНО ---

Наконец, мне удалось удалить его, введя команду cmd с привилегиями администрация и выполнить:

rm -r <dir>

СОВЕТ: Вы должны убедиться, что каталог не используется вообще. Вы можете использовать procmon, чтобы найти того, кто блокирует этот каталог.

0 голосов
/ 22 сентября 2010

Попытки использовать chown и chmod, даже в качестве пользователя root, окончились неудачей (я не помню ошибки).

Я почти уверен, что с моим диском все в порядке. Я ежедневно запускаю DiskCheckup, чтобы проверить историю настроек SMART, и проверил это сегодня утром. Не беспокойтесь там.

После первоначальной проблемы и публикации я занялся и только сейчас вернулся к тому же окну локальной оболочки. Эти файлы исчезли. Это была локальная оболочка Cygwin на моем ноутбуке, так что я знаю, что никто не «помог». Странный. Таких файлов .txt просто не было.

Мне все еще любопытно, что заставило бы ls выводить все подобные вопросительные знаки для всех метаданных файла, кроме имени файла. Но основная проблема решена.

0 голосов
/ 18 сентября 2010

Как администратор, это должно исправить:

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

Если нет, возможно, у вас ошибки на диске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...