Hoàn tác Linux của rm? [bản sao]


31

Bản sao có thể có:
Lệnh Thùng rác UNDO LINUX

Chào,

Có cách nào đơn giản để hoàn tác một rmlệnh không?

Câu hỏi hoàn toàn là lý thuyết; Tôi KHÔNG BAO GIỜ xóa nhật ký của hàng đợi điểm chuẩn, người mất cả giờ ăn trưa để chạy.



1
... hoặc ít nhất là có liên quan rất chặt chẽ, ngay cả khi bản thân câu hỏi được đặt ra chung chung hơn một chút
Jonik

Câu trả lời:


33

Trên Ubuntu hoặc tương tự:

$ sudo apt-get install trash-cli
$ alias rm=trash

Sau đó đặt bí danh đó vào .bashrc hoặc tập lệnh đăng nhập thích hợp cho shell bạn chọn.

Các trash-cligói là một giao diện dòng lệnh với cùng thùng rác mà GNOME và KDE và khác sử dụng. Vì vậy, bất cứ điều gì bạn xóa thông qua trashlệnh có thể được khôi phục bằng Gnome / KDE và ngược lại.

Các lệnh khác trong trash-cligói là trash-list, trash-empty, và restore-trash.


11
+1 cho thùng rác, -1 cho răng cưa rm.

1
Có gì sai với răng cưa rm? Tôi thích có một nút hoàn tác cho việc xóa ngẫu nhiên của tôi, ngay cả trên dòng lệnh. Ngoài ra, trash-clirõ ràng tạo điều kiện thuận lợi cho việc này bằng cách chấp nhận (và bỏ qua) nhiều rmtùy chọn GNU . Bên cạnh đó, OP yêu cầu một cách để hoàn tác rm. Giải pháp này không trả lời chính xác câu hỏi mà không có bí danh.
Ryan C. Thompson

15
@Ryan: Bởi vì bạn đã quen với rm có nghĩa là một cái gì đó khác với những gì lệnh rm thực sự làm, và sau đó bạn mắc lỗi khi nó không có bí danh. Làm quen với việc sử dụng lệnh rác thay vào đó và điều đó không thể xảy ra.

5
@Roger: Hoặc ... bạn có thể bí danh rmvà sau đó tự thôi miên mình quên rằng bạn đã làm. Bằng cách đó, bạn vẫn có thể tiếp tục sử dụng rmnhư thể cuối cùng .... nhưng nếu bạn trượt lên và đi "oh noes !!" bạn không hoàn toàn sai lầm (tức là không dựa vào chức năng "có thể phục hồi" của nó)
mở cửa

@RyanThndry: Đây là một mẹo hay, nhưng làm thế nào để cấu hình nó để làm việc với sudo rm?
takeshin

15

Câu trả lời truyền thống là:

Bạn phục hồi các tập tin từ bản sao lưu mới nhất. Bạn có một bản sao lưu gần đây, phải không?

bởi vì trên nhiều hệ thống tập tin unix, điều này đơn giản là không thể, hoặc rất khó.

Như những người khác đã lưu ý rằng đây không phải là vấn đề cuối cùng và là tất cả của vấn đề nữa, nhưng không phạm sai lầm kiểu này vẫn là phương pháp được ưa thích.


5
Tôi thực sự có ý định đưa tất cả các tập lệnh của tôi vào một kho lưu trữ bzr cam kết hàng giờ.
Adam Matan

3
Câu trả lời hiện đại là: Khôi phục tệp từ ảnh chụp nhanh hệ thống tệp gần đây. :-)
knweiss

Đó là một câu hỏi thú vị ... Tôi thường không tạo bản sao lưu của ~ / Tải xuống ... và xóa sạch nội dung của mình bằng cách chuyển rm -fr *(1)*... mọi tệp bị xóa đi. Vì vậy, có bản sao lưu không phải lúc nào cũng là giải pháp. Trash-cli âm thanh nguội đi.
m3nda

Không, có bản sao lưu là LUÔN LUÔN là giải pháp. Chỉ vì bạn chọn không sao lưu một cái gì đó, không làm cho sao lưu không phải là giải pháp, nó làm cho bạn ngớ ngẩn, vì không sao lưu một cái gì đó.
djsmiley2k - CoW

4

Để ngăn chặn những sai lầm trong tương lai, bạn có thể muốn đặt bí danh cho rm -i ...


6
Tôi thường nghĩ rằng điều này sẽ không bao giờ ngăn chặn bất kỳ lỗi nào ('y' được gõ khá tự động), nhưng tiêu tốn rất nhiều thời gian và khuyến khích sử dụng He-Whose-Name-Must-Not-Be-Be-M Đềed rm -rf.
Adam Matan

Nó sẽ cho bạn thêm một lần mặc dù trước khi làm mọi thứ rối tung lên. Tôi thường chỉ lsvới các thông số tương tự trước đây để tôi có thể thấy những gì sẽ đi.
Bradshaw giàu

Tôi thường xóa các tệp trên mục đích, tôi chỉ nhận ra rằng tôi cần các tệp đó sau. Vì vậy, tương tác sẽ không giúp ích gì
andrewtweber
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.