2010-09-17 12 views
6

Polecenie, które wykonałem w cygwin, zawierało kilka plików. Teraz nie mogę ich usunąć. Pomijając większość danych wyjściowych "ls", oto, co mam do czynienia:Nieusuwalny plik w cygwin

% 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 

Plik tekstowy jest normalny. Plik .txt (i tak wpis do katalogu) jest oczywiście hosed. Wszelkie pomysły na usunięcie pliku .txt?

+0

Nie należy do SO ... – meagar

+1

Miałem to już wcześniej, ale nie pamiętam, która maszyna to zrobiła. "Napisałem to", ponieważ Cygwin nie działa poprawnie z NTFS. Z jakiego systemu operacyjnego korzystasz? – ericp

+0

"Pytania dotyczące ogólnego sprzętu komputerowego i oprogramowania są poza tematem dla przepełnienia stosu, chyba że bezpośrednio dotyczą narzędzi używanych głównie do programowania ..." Więc na tej podstawie * myślę * należy do SO. –

Odpowiedz

0

Próby użycia polecenia chown i chmod, nawet jako root, nie powiodły się (nie pamiętam błędu).

Jestem prawie pewien, że mój dysk jest w porządku. Każdego dnia uruchamiam DiskCheckup, aby uzyskać dostęp do historii SMART i sprawdziłem ją dziś rano. Bez obaw.

Od czasu pierwotnego problemu i postu, byłem zajęty i właśnie wróciłem do tego samego lokalnego okna powłoki. Te pliki zniknęły. To była lokalna powłoka cygwin na moim laptopie, więc wiem, że nikt inny "nie pomógł". Dziwne. Te pliki .txt już tam nie było.

Wciąż jestem ciekawy, co spowoduje, że ls wypisze wszystkie znaki zapytania, takie jak dla wszystkich metadanych pliku, z wyjątkiem nazwy pliku. Ale główny problem został rozwiązany.

+1

Łatwo. Plik, który nie działa stat (2), ponieważ tak naprawdę tam nie jest lub ma oczekującą operację usuwania. – Joshua

0

jako admin, powinno to rozwiązać:

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

Jeśli nie, możesz mieć błędy na dysku.

+0

Chown kończy się niepowodzeniem z komunikatem "Błąd odmowy dostępu" w moim przypadku. –

11

miałem ten sam problem i naprawić go następująco (pod Win7):

otworzyć cmd okna (Uruchom jako administrator)

takeown/r/f DRIVE: \ ścieżka

icacls dysk: \ ścieżka/przyznać Login: F/T

gdzie nazwa_użytkownika to nazwa użytkownika win7 ramach którego używasz tego produktu.

Upewnij się również, że plik cron.exe NIE działa dla użytkownika USERNAME lub SYSTEM (można go sprawdzić z TaskManager) i że nie są uruchomione żadne programy z cygwin.

Po sprawdzeniu i wykonaniu, powinieneś być w stanie usunąć swoje pliki.

Nadzieja to pomaga,

Jean

+0

Dzięki, Jean. Nie używam Win7, ale być może twoje rozwiązanie pomoże innym, którzy są. – MykennaC

+0

Pracowałem dla mnie na plikach Windows 7 - Nie mogłem usunąć 2 plików posiadanych przez jane'a Smitha w/etc/group i/etc/passwd, mimo że jestem administratorem, ale to się udało! – ggb667

+0

Dzięki, zadziałało to dla mnie. –

5

Mam powtarzalne sprawy i nikt z tego, co jest sugerowane tu pomaga, bo z uprawnieniami ograniczeń.

Pod sygwin:

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

starając się właściciel z konsoli cmd Admin:

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

próby usunięcia z konsoli cmd Admin:

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

Nie można również zmień właściciela z GUI systemu Windows.Narzeka, że ​​powinieneś mieć uprawnienia do odczytu.

--- ROZWIĄZANY ---

Wreszcie udało mi się go usunąć, wpisując polecenie cmd z administracji przywileje i wykonanie:

rm -r <dir> 

TIP: Musisz upewnij się, że katalog nie jest w ogóle używany. Możesz użyć procmon, aby znaleźć ciebie, który blokuje ten katalog.

+1

Ja też miałem ten sam problem i żadne z poprzednich rozwiązań nie działało, ale działało. Dzięki! – Kosha

+0

W jaki sposób uruchomiłeś adminiczną konsolę cmd od Cygwin? –

+0

@UmberFerrule Nie możesz z cygwin - znaleźć go za pomocą menu Start, kliknąć prawym przyciskiem myszy i wybrać "Uruchom jako adminaistrator" –