batalkan rm Linux? [duplikat]


31

Kemungkinan Duplikat:
UNDO LINUX Trash Command

Hai,

Apakah ada cara sederhana untuk membatalkan rmperintah?

Pertanyaannya murni teoretis; Saya TIDAK PERNAH menghapus log antrian patokan yang membutuhkan waktu makan siang keseluruhan untuk dijalankan.



1
... atau paling tidak sangat erat hubungannya, bahkan jika pertanyaan itu sendiri dirumuskan untuk menjadi sedikit lebih umum
Jonik

Jawaban:


33

Di ubuntu atau yang serupa:

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

Lalu masukkan alias itu di .bashrc atau skrip login yang sesuai untuk pilihan Anda.

The trash-clipaket antarmuka baris perintah untuk sampah yang sama dapat bahwa GNOME dan KDE dan lainnya digunakan. Jadi apa pun yang Anda hapus melalui trashperintah dapat dipulihkan oleh GNOME / KDE dan sebaliknya.

Perintah lain dalam trash-clipaket yang trash-list, trash-empty, dan restore-trash.


11
+1 untuk trash-cli, -1 untuk aliasing rm.

1
Apa yang salah dengan aliasing rm? Saya suka memiliki tombol undo untuk penghapusan tidak disengaja saya, bahkan pada baris perintah. Juga, trash-clisecara eksplisit memfasilitasi ini dengan menerima (dan mengabaikan) banyak rmopsi GNU . Selain itu, OP meminta cara untuk membatalkan. Solusi ini tidak menjawab pertanyaan dengan benar tanpa alias.
Ryan C. Thompson

15
@Ryan: Karena Anda terbiasa dengan rm untuk mengartikan sesuatu yang berbeda dari apa yang benar-benar dilakukan oleh perintah rm, dan kemudian Anda membuat kesalahan ketika itu tidak disebutkan. Biasakan menggunakan perintah trash dan itu tidak bisa terjadi.

5
@Roger: Atau ... Anda dapat alias rmdan kemudian menghipnotis diri Anda untuk lupa bahwa Anda melakukannya. Dengan begitu Anda masih bisa tetap menggunakan rmseolah-olah itu sudah final .... tetapi jika Anda tergelincir dan pergi "oh noes !!" Anda tidak sepenuhnya kacau. (yaitu jangan mengandalkan fungsionalitas "recoverable")
mpen

@RyanThompson: Ini tip yang bagus, tetapi bagaimana mengonfigurasikannya agar berfungsi juga sudo rm?
takeshin

15

Jawaban tradisionalnya adalah:

Anda memulihkan file dari cadangan terbaru. Anda memiliki cadangan baru-baru ini, bukan?

karena pada banyak filesystem unix, sederhana ini tidak mungkin, atau sangat sulit.

Seperti yang telah dicatat oleh orang lain, ini bukanlah akhir dari segalanya dan menjadi-semua masalah lagi, tetapi tidak membuat kesalahan seperti ini masih merupakan pendekatan yang lebih disukai.


5
Saya benar-benar berniat untuk menempatkan semua skrip saya pada repositori bzr yang berkomitmen setiap jam.
Adam Matan

3
Jawaban modern adalah: Pulihkan file dari snapshot sistem file terbaru. :-)
knweiss

Itu pertanyaan keren ... Saya biasanya tidak membuat cadangan ~ / Unduhan ... dan menghapus konten saya dengan meneruskan rm -fr *(1)*... setiap file pergi. Jadi memiliki cadangan tidak selalu merupakan solusi. Sampah-cli terdengar keren.
m3nda

Tidak, memiliki cadangan SELALU solusinya. Hanya karena Anda memilih untuk tidak mencadangkan sesuatu, tidak membuat cadangan bukan solusi, itu membuat Anda konyol, karena tidak mencadangkan sesuatu.
djsmiley2k - KK

4

Untuk mencegah kesalahan di masa mendatang, Anda mungkin ingin alias rm ke rm ...


6
Saya umumnya berpikir bahwa ini tidak akan pernah mencegah kesalahan ('y' diketik secara otomatis), tetapi mengkonsumsi banyak waktu, dan mendorong penggunaan He-Whose-Name-Must-Not-Be-Disebut-sebut rm -rf.
Adam Matan

Itu memang memberi Anda satu upaya tambahan sebelum mengacaukan segalanya. Saya biasanya hanya lsdengan parameter yang sama sebelumnya sehingga saya bisa melihat apa yang akan terjadi.
Rich Bradshaw

Saya biasanya menghapus file dengan sengaja, saya baru sadar bahwa saya membutuhkan file-file itu nanti. Jadi interaktif tidak akan membantu
andrewtweber
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.