rm memiliki -i
dan -I
menandai untuk mengonfirmasi sebelum setiap penghapusan. Di masa lalu, beberapa distribusi telah mengaktifkannya secara default. Ini ide yang buruk. Berikan terlalu banyak dialog konfirmasi kepada pengguna untuk operasi normal dan mereka akan mulai mengkonfirmasinya. Ini hanya menggeser persyaratan untuk "hati-hati" (selalu bendera merah) ke dialog baru dan lebih menjengkelkan. "Ya. Ya. Ya. Ya! Ya Tuhan! Sial, komputer bodoh hapus saja file YESYESYESYESYES - BURUK SAYA TIDAK MAU! NOOOOOOO!" Ini adalah masalah dialog "Ya, tapi saya maksud tidak". Jawaban ini memberikan penjelasan visual tentang mengapa dialog konfirmasi datang pada waktu yang salah.
Jenis kesalahan yang Anda menggambarkan adalah tergelincir , "kinerja dari suatu tindakan yang tidak apa yang dimaksudkan". Pengguna biasanya segera mengenali kesalahan dan tahu persis bagaimana memperbaikinya. Sayangnya, Unix tidak memberikan kesempatan kepada pengguna, rm segera menghapus file. Setiap sistem operasi lain menyelesaikan masalah ini dengan membiarkan penghapusan dibatalkan, setidaknya untuk sementara waktu, dengan menggunakan Sampah.
Ada berbagai sistem sampah untuk Unix, dan jawaban ini penuh dengan saran .
Pertanyaannya adalah untuk alias rm atau tidak ke alias rm. Pro ke aliasing rm ...
- Anda tidak dapat membuat kesalahan dengan lupa untuk menggunakan alternatif rm.
Kontra untuk rm aliasing ...
- Anda mungkin mengandalkannya pada sistem yang tidak memilikinya.
- Mungkin menyebabkan masalah ketika disk hampir penuh.
- Butuh infrastruktur untuk mengosongkan sampah secara berkala.
- Harus memastikan untuk tidak mengganggu perilaku yang diharapkan dari rm dalam program.
- Mungkin tidak sepenuhnya meniru rm.
Jika Anda mengikuti argumen pertama terlalu jauh, Anda akhirnya menggunakan vi (bukan vim, vi), csh (bukan tcsh, csh) dan utilitas kuno lainnya karena semuanya tersedia secara universal. Namun, ada bahaya menyesuaikan lingkungan Anda secara berlebihan. Saya lebih suka membawa utilitas saya dan membuatnya semudah mungkin. YMMV.
Dua dan tiga adalah masalah teknis. Mereka dapat diselesaikan dengan pekerjaan penuai cerdik yang memeriksa ukuran sampah dan secara berkala membersihkan semuanya, mirip dengan tmpreaper . Ini bisa berupa pekerjaan cron, atau versi yang lebih pintar dapat menggunakan berbagai infrastruktur acara sistem file yang tersedia di banyak distribusi Linux desktop. Ini tidak sederhana, dan bahkan lebih sulit untuk dilakukan secara efisien. Lebih baik menemukan sistem yang ada daripada mencoba membuatnya sendiri.
Yang keempat dapat ditangani dengan membuat rm alias shell baru Anda alias rm='trash'
, maka itu tidak akan mempengaruhi program.
Kelima adalah masalah yang saya tinggalkan untuk diselesaikan pembaca. rm tidak memiliki banyak sakelar.
zsh
ataubash
) saya lebih suka membiasakan menekan tombol tab (untuk memicu pelengkapan otomatis) sebelum menekan tombol kembali