2014-11-25 21 views
5

Sto usando Windows 7 e ho installato Cygwin su di esso. Usando Cygwin, ho recentemente provato a scrivere un nuovo file usando Vim all'interno di un'unità di rete. Quando si è tentato di salvarlo, Vim si è lamentato che il file era di sola lettura (ls -la ha mostrato che i file su questa unità avevano pochissime autorizzazioni, il che sembra strano dato che le autorizzazioni sono molto diverse se provo lo stesso usando Git Bash).Impossibile eliminare la cartella nell'unità di rete in Windows 7 dopo aver usato Cygwin

Ho forzato Vim a scrivere il file comunque, ma dopo essere uscito il file non era presente in Windows Explorer o in una qualsiasi shell Unix. Ho quindi provato a rinominare la cartella in cui erano conservati i file (Includes ->IncludesOld), creando una nuova cartella con il nome originale e spostando tutti i file nella nuova cartella. Ciò ha lasciato la cartella originale (IncludesOld) vuota, ma non sono stato in grado di eliminarla. Se provo a eliminarlo, non viene visualizzato alcun messaggio di errore, ma la cartella rimane ancora.

Immagino che questo abbia qualcosa a che fare con Cygwin mantenendo la propria visione del file system che è incoerente con quella che sto vedendo, ma non sono sicuro di cosa fare al riguardo.

Esecuzione mount produce il seguente output:

C:/cygwin64/bin on /usr/bin type ntfs (binary,auto) 
C:/cygwin64/lib on /usr/lib type ntfs (binary,auto) 
C:/cygwin64 on/type ntfs (binary,auto) 
B: on /cygdrive/b type udf (binary,noacl,posix=0,user,noumount,auto) 
C: on /cygdrive/c type ntfs (binary,noacl,posix=0,user,noumount,auto) 
D: on /cygdrive/d type ntfs (binary,noacl,posix=0,user,noumount,auto) 
E: on /cygdrive/e type ntfs (binary,noacl,posix=0,user,noumount,auto) 
O: on /cygdrive/o type ntfs (binary,noacl,posix=0,user,noumount,auto) 
S: on /cygdrive/s type ntfs (binary,noacl,posix=0,user,noumount,auto) 
T: on /cygdrive/t type ntfs (binary,noacl,posix=0,user,noumount,auto) 
U: on /cygdrive/u type ntfs (binary,noacl,posix=0,user,noumount,auto) 
W: on /cygdrive/w type ntfs (binary,noacl,posix=0,user,noumount,auto) 
X: on /cygdrive/x type ntfs (binary,noacl,posix=0,user,noumount,auto) 

La cartella in questione è sul drive W:, ma in esecuzione umount /cygdrive/w mi dà umount: /cygdrive/w: Invalid argument, e sto solo indovinando che questo è quello che dovrebbe cercare di fare comunque.

+0

Hai provato a riavviare? –

+0

@HarryJohnston Ho e non funziona. – Tagc

risposta

0

AFAIK, le cartelle possono essere facilmente cancellate utilizzando rm -rf <folder name>. Se viene visualizzato un problema, puoi provare sudo chown <username:group> <folder name> ed eseguire di nuovo rm -rf. Se il problema persiste, aggiungi alla tua domanda cosa restituisce lsattr <folder name>.

0

Suppongo che si sia tentato di eliminare IncludesOld utilizzando sia cygwin che i metodi Windows nativi. Dato che hai accennato al fatto che la directory si trova in un mount di rete, andrei al computer che ospita quella cartella e provo a eliminare direttamente da lì usando il metodo nativo del sistema operativo in esecuzione su quella macchina. Se ciò non funziona, allora controllerei il volume del disco per gli errori del filesystem.

0

ho postato questa domanda quasi due anni in modo da sto andando a memoria qui, ma io credo che sono riuscito a risolvere il problema facendo clic destro sulla cartella (includesOld) in Esplora risorse e andare alla "Sicurezza" scheda. Ricordo vagamente qualcosa sul fatto di non avere tutte le autorizzazioni e di modificare le impostazioni di sicurezza per darmi il pieno controllo. Dopo ciò, sono stato in grado di eliminarlo.