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.