* ~ Có nghĩa là gì?


14

Vào cuối của một makefile tôi đã thấy

rm -f *~ *.class

Tôi hiểu *.class, nhưng những gì *~?



Câu hỏi này nên được đóng lại và thay vào đó, một trong những câu hỏi được sao chép lại: unix.stackexchange.com/questions/76189/ợi Vì bản sao này hợp quy hơn (xem meta.unix.stackexchange.com/questions/2840/ .)
goldilocks

Câu trả lời:


25

Về cơ bản là loại bỏ các tập tin sao lưu.

*~có nghĩa là tất cả các tập tin kết thúc bằng ~.

Nhiều chương trình hệ thống Unix / Linux tạo các tệp sao lưu kết thúc ~.

Ví dụ: emacsnanocác trình soạn thảo sẽ tự động lưu một bản sao lưu của mỗi tệp bạn chỉnh sửa. Khi nó lưu một tệp, phiên bản cũ sẽ được lưu bằng tên tệp có dấu ngã ( ~) được thêm vào cuối.

Vimsẽ làm tương tự nếu bạn đặt :set backuptrong của bạn .vimrc.

*~trên Unix / Linux giống như *.baktrên Windows.


Ah! Tôi đã lật đổ nó. Nghĩ rằng nó đã xóa tất cả các thư mục nhà hoặc một cái gì đó ...
Xodarap

18
~chỉ được mở rộng vào một thư mục chính nếu nó xuất hiện ở đầu từ.
Mikel

Bạn nên hết sức cẩn thận nếu bạn từng xuất bản một trang web để loại trừ các tệp đó bằng mọi giá như một trong những cách cổ điển để tấn công một trang web để tìm kiếm các tệp đó sẽ được máy chủ web của bạn cấp bằng văn bản dưới dạng tệp văn bản và do đó tiết lộ máy chủ của bạn mã (rất tệ vì không có mã nào đáng tin cậy 100%)
Kiwy
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.