2010-09-17 23 views
6

Lệnh tôi đã thực hiện trong Cygwin đã đưa lên một loạt tệp. Bây giờ tôi không thể xóa chúng. Bỏ qua phần lớn đầu ra 'ls', đây là những gì tôi đang xử lý:Tệp không thể xóa trong 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 

Tệp .text là bình thường. Tệp .txt (mục nhập thư mục anyway) rõ ràng là được ẩn. Bất kỳ ý tưởng nào về cách xóa tệp .txt?

+0

Không thuộc về SO ... – meagar

+1

Tôi đã từng xảy ra trước đó, nhưng tôi không nhớ máy nào đã làm điều đó. Tôi "đã viết nó ra" như Cygwin không làm việc với NTFS đúng cách. Bạn đang sử dụng hệ điều hành nào? – ericp

+0

"Các câu hỏi về phần cứng và phần mềm máy tính nói chung không có chủ đề cho Stack Overflow trừ khi chúng liên quan trực tiếp đến các công cụ được sử dụng chủ yếu cho lập trình ..." Vì vậy, dựa trên đó, tôi nghĩ * không * thuộc về SO. –

Trả lời

0

Cố gắng sử dụng chown và chmod, ngay cả khi root, không thành công (tôi không nhớ lỗi).

Tôi chắc rằng đĩa của tôi vẫn ổn. Tôi chạy DiskCheckup hàng ngày cho một lịch sử mạnh mẽ của các thiết lập SMART, và kiểm tra nó sáng nay. Không phải lo lắng ở đó.

Vì vấn đề và bài đăng gốc, tôi đã bận, và vừa trở lại cửa sổ trình bao cục bộ đó. Những tệp đó đã biến mất. Đây là một vỏ Cygwin địa phương trên laptop của tôi, vì vậy tôi biết rằng không ai khác "giúp". Lạ thật. Các tệp .txt đó không còn ở đó nữa.

Tôi vẫn tò mò điều gì sẽ khiến ls xuất tất cả các dấu hỏi như vậy cho tất cả siêu dữ liệu tệp, ngoại trừ tên tệp. Nhưng vấn đề chính được giải quyết.

+1

Dễ dàng. Tệp không thành công (2) vì nó không thực sự ở đó hoặc có thao tác xóa đang chờ xử lý. – Joshua

0

Như admin, điều này nên sửa chữa:

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

Nếu không, bạn có thể có lỗi đĩa.

+0

không thành công với thông báo "Truy cập bị từ chối lỗi" trong trường hợp của tôi. –

11

tôi đã cùng một vấn đề và cố định nó như sau (dưới Win7):

Mở một cửa sổ cmd (Run as administrator)

takeown/r/f Drive: \ PATH

icacls DRIVE: \ PATH/cấp cho USERNAME: F/T

nơi USERNAME là tên người dùng win7 mà bạn đang chạy.

Cũng đảm bảo cron.exe KHÔNG chạy cho người dùng USERNAME hoặc SYSTEM (có thể được kiểm tra từ TaskManager) và không có chương trình nào từ Cygwin đang chạy.

Sau khi tất cả đã được kiểm tra và thực hiện, bạn sẽ có thể xóa tệp của mình.

Hope this helps,

Jean

+0

Cảm ơn, Jean. Tôi không chạy Win7, nhưng có lẽ giải pháp của bạn sẽ giúp đỡ những người khác. – MykennaC

+0

Làm việc cho tôi trên Windows 7 tập tin - Tôi không thể xóa 2 tập tin thuộc sở hữu của jane smith dưới/etc/group và/etc/passwd, mặc dù là một quản trị viên, nhưng điều này đã làm các trick! – ggb667

+0

Cảm ơn, nó đã làm việc cho tôi. –

5

Tôi có một trường hợp tái sản xuất và không ai trong số những gì được đề nghị ở đây giúp vì các điều khoản hạn chế.

Dưới sygwin:

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

Đang cố gắng để có những chủ sở hữu từ một admin cmd console:

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

Đang cố gắng để xóa từ một admin cmd console:

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

có thể không còn thay đổi chủ sở hữu từ cửa sổ GUI.Nó phàn nàn rằng bạn nên có quyền đọc.

--- QUYẾT ---

Cuối cùng, tôi đã quản lý để xóa nó bằng cách nhập lệnh cmd với quản lý đặc quyền và thực hiện:

rm -r <dir> 

MẸO: Bạn phải đảm bảo rằng thư mục không được sử dụng. Bạn có thể sử dụng procmon để tìm thấy bạn đã khóa thư mục đó.

+1

Tôi cũng đã có cùng một vấn đề và không có giải pháp nào trước đây đang hoạt động, nhưng điều này đã hiệu quả. Cảm ơn! – Kosha

+0

Bạn đã chạy bảng điều khiển quản trị cmd từ Cygwin như thế nào? –

+0

@UmberFerrule Bạn không phải từ Cygwin - tìm thấy nó bằng cách sử dụng trình đơn bắt đầu, nhấp chuột phải và chọn "Run as adminaistrator" –

Các vấn đề liên quan