Apakah ada kerugian yang signifikan untuk aliasing rm untuk melakukan sesuatu yang lain?

8

Saya telah digigit beberapa kali baru-baru ini dengan rmhal-hal yang seharusnya tidak saya miliki - misalnya, lupa ulinksymlink, bukan rmmereka.

Saya sedang berpikir untuk menulis skrip bash kecil untuk hanya memindahkan target ~/.local/share/Trash, karena saya belum memahami memulihkan file (tampaknya melibatkan banyak peretasan Linux yang saya tidak akan capai dalam waktu dekat).

Satu-satunya masalah yang bisa saya pikirkan adalah:

  • skrip / aplikasi yang membutuhkan rmfile (benar-benar masalah? Saya juga bisa terbiasa dengan panggilan rm!atau sesuatu),
  • file dipindahkan ke Sampah sementara file di sana sudah memiliki nama yang sama (tidak yakin bagaimana Ubuntu menyiasatinya saat ini, dapat diperbaiki dengan menambahkan md5(name + time())nama tersebut.

Tentu saja jawaban yang sebenarnya adalah mendukung atau hanya belajar untuk tidak melakukan hal-hal konyol, tetapi saya ingin solusi yang akomodatif.

Apakah ini ide yang sangat mengerikan atau sesuatu yang bisa dilakukan?

Ross
sumber
Itu bukan ide yang buruk, meskipun seperti yang Anda perhatikan, cadangan lebih baik. Mungkin konsekuensi terburuknya adalah Anda akan mengandalkan penghapusan yang tidak dapat dibatalkan yang dapat menggigit Anda saat Anda tidak berada di lingkungan yang "dilindungi". Cadangan Ubuntu disurvei di sini: ubuntu.stackexchange.com/questions/2596/…
msw

Jawaban:

14

'Kerugian signifikan' adalah bahwa Anda akan terbiasa untuk rmtidak menjadi orang jahat, gunakan dengan alat perawatan ekstrim itu. Ini berarti jika Anda pernah (sepanjang hidup Anda, kemungkinan besar) menggunakan komputer lain yang tidak diatur dengan 'soft-rm' ini maka Anda dapat menggunakan rmlebih sembarangan, melupakan jaring pengaman Anda tidak ada.

8128
sumber
2
Itu sebabnya Anda harus memberi nama perintah ini sesuatu yang lain, seperti deleteatau delmisalnya. Sesuatu yang akan menghasilkan kesalahan "perintah tidak ditemukan" di mana itu tidak diinstal, sehingga tidak ada salahnya dilakukan.
Lars Haugseth
8

Untuk menginstal trash-cli, cukup ketik konsol:

sudo apt-get install trash-cli

Anda dapat alias rmuntuk trash-putjika Anda suka, mereka memiliki sintaks yang kompatibel. Ini bekerja dengan baik dengan tempat sampah gnome, Anda dapat memulihkan file yang dihapus dari baris perintah dengan nautilus atau applet tempat sampah dan mengembalikan file yang dibuang dari nautilus dari baris perintah menggunakan daftar sampah.

Ini akan menangani nama file yang berbeda dan mengingat lokasi asli file juga.


Anda juga dapat mencoba gvfs-trash, seperti catatan ændrük di komentar. Tetapi tempat sampah memiliki beberapa keunggulan dibandingkan gvfs-trash:

1) Ini tidak terkait dengan gnome atau gvfs. Ini akan bekerja bahkan pada server tanpa gnome atau di lingkungan desktop lainnya. Ini mencapai kompatibilitas gnome karena menggunakan spec sampah freedesktop, sebagai gnome.

2) Ia mencoba menggunakan format yang sama dengan rm, sehingga dapat diubah menjadi format tersebut. Ini tidak akan gagal saat pertama kali mencoba skriptrash-put -Rf dir

Keuntungan utama gvfs-trash adalah diinstal secara default di Ubuntu.

Javier Rivera
sumber
Apakah ada alasan untuk menggunakan trash-putbukan gvfs-trash?
ændrük
Pertama dan paling penting: saya tidak tahu tentang sampah gvfs. Kedua: tidak bergantung pada gnome, ini kompatibel karena menggunakan standar tempat sampah freedestop. Ketiga: ia mencoba untuk menjaga kompatibilitas opsi dengan rm sehingga dapat ditambahkan dengan rewel minimal, dan ini adalah pertanyaannya.
Javier Rivera
Saya telah menambahkan alasan non-humoristik pada jawaban karena saya merasa itu penting. Juga referensi ke gvfs-trash penting karena ini akan menjadi solusi yang lebih baik dalam banyak kasus.
Javier Rivera
paragraf pertama "Jangan coba-coba menginstal ..." tampaknya bertentangan dengan blok kode sebelumnya. Saya tidak mencoba menjadi tata bahasa, tetapi tidak jelas.
msw
Saya bukan penutur asli bahasa Inggris, dan tata bahasanya tidak terlalu spektakuler, jadi saya menghargai bantuan apa pun untuk menjadikannya lebih baik. Silakan mengedit posting jika Anda memiliki cukup perwakilan, atau hanya membuat saran di sini. Apa yang saya coba katakan adalah bahwa Anda harus menginstalnya menggunakan easy_install dan bukan apt-get.
Javier Rivera