Cách xóa tệp có tên này trên linux: -] ??????? q [trùng lặp]


14

Bằng cách nào đó một tập tin có tên -]???????qđã được tạo trên thiết bị đầu cuối của tôi. Tôi đã thử rm -f "-] ???????" (trong dấu ngoặc kép), nhưng nó không bị xóa. (Lỗi : rm: invalid option -- ]:). Làm thế nào để tôi xóa nó?


Tôi gặp vấn đề tương tự, trong trường hợp của tôi, vấn đề là do triển khai samba, chỉ cần thử ssh đến máy chủ và sau đó xóa nó
Buksy

Câu trả lời:


26

Ví dụ: với:

rm -- '-]???????q'

Trong đó --có nghĩa là: "dừng phân tích tùy chọn".


Thật vậy, tôi gặp phải một vấn đề tương tự thậm chí không nghĩ đến - là một công tắc. Tôi thề tôi đã dành 2 giờ để cố gắng tìm ra nó.
Jeff F.

Nhiều ứng dụng sử dụng --, đoán nó là một loại tiêu chuẩn thực tế do getoptchức năng.
cYrus

13

Bạn có thể sử dụng tên tệp với rm hoặc số inode với find như:

rm -- -]???????q
# or
  -> ls -i                                                                                                                         
47984689 blah.ui  47983771 __init__.py  
47983773 testpy.e4p  47985161 Ui_blah.py

  -> find -inum 47983773                                                                                                           
./testpy.e4p

  -> find -maxdepth 1 -inum 47983773 -exec rm -i '{}' \;
#or
  -> find -maxdepth 1 -inum 47983773 -delete

Thêm -maxdepth 1 nếu không tìm thấy sẽ lặp lại qua tất cả các thư mục con:find -maxdepth 1 -inum 47983773 -delete
Fabian Ritzmann

@FabianRitzmann gọi tốt, tôi đã thêm nó.
OneOfOne

1
Đây nên là câu trả lời được lựa chọn. Truy cập tệp có ký tự không hợp lệ trong tên của nó bằng iNode là cách duy nhất đúng.
ScumCoder

1
rm ./"-]???????q"

Dấu ngoặc kép ngăn vỏ mở rộng nhãn hiệu thẩm vấn. Ví dụ: nếu bạn có một tệp khác gọi là -] foobar.q :

$ touch ./"-]???????q" ./-]foobar.q
$ echo ./-]???????q
./-]foobar.q ./-]???????q

Oh. Tôi đặt dấu ngoặc kép, nhưng thiếu./
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.