Jawaban:
Tidak ada "pembatalan" umum untuk setiap operasi di terminal. Jika Anda ingin memulihkan file setelah menggunakan, rm
Anda harus melihat ke dalam perangkat lunak pemulihan.
Pilihan untuk mencegah Anda dari kesalahan di masa depan adalah membuat alias
perintah alternatif untuk menghapus file. Tambahkan mereka ke Anda ~/.bashrc
dan biasakan menggunakannya bukan rm
.
alias rmi = 'rm -i'
Jika Anda menggunakan rmi
, Anda akan diminta untuk konfirmasi penghapusan di masa mendatang. Cobalah untuk menghindari mengembangkan kebiasaan menekan y
segera setelah Anda mengeluarkan rmi
perintah, karena itu akan mengalahkan tujuan.
Anda juga dapat memindahkan file yang dihapus oleh trsh
perintah di terminal ke recycle bin Anda (di KDE dan Gnome):
alias trsh='mv --target-directory="$HOME/.Trash"'
Jika Anda menggunakan trsh
, Anda akan memiliki kemampuan "hapus" yang terbatas. Waspadalah itu
trsh dir1/file1 dir2/file1
masih dapat menyebabkan kehilangan data yang tidak dapat dipulihkan.
rm
to rm -i
adalah Anda terbiasa dengan jaring pengaman yang memberi Anda. Kemudian Anda pergi ke komputer lain, yang tidak memiliki alias yang ...
rmi
-> rm -i
. Benar-benar sebuah kesalahan untuk menghalangi program yang sudah ada dengan mengabaikannya.
Tidak ada tempat sampah daur ulang untuk baris perintah.
Anda dapat mencoba beberapa utilitas yang tidak terhapus, tetapi tidak ada jaminan bahwa mereka akan berhasil.
Anda bisa menggunakan trash-cli jika Anda menggunakan KDE saat menjalankan gui. Ini adalah utilitas baris perintah untuk menghapus / mengembalikan menggunakan fasilitas tempat sampah KDE.
alias rm=trash
sehingga perintah-perintah khas pada baris perintah Anda dilengkapi dengan tombol undo.
alias rm=trash
berpotensi berbahaya, jika ada kemungkinan Anda akan menggunakan sistem orang lain suatu hari dan lupa (atau ssh). Jauh lebih aman untuk terbiasa menulis trash
saja rm
.
Anda bisa membuat rm
alias untuk trash
perintah (Anda harus menginstal trash
dulu.) Tambahkan ini ke ~/.bashrc
:
alias rm='trash'
Ini lebih disukai alias rm='mv --target-directory=$HOME/.Trash'
karena ~ / .Trash BUKAN folder tempat sampah untuk gnome. Lebih baik IMHO untuk trash
mencari tahu di mana folder sampah yang sebenarnya.
btw saya akan memposting ini dalam komentar tapi saya tidak punya cukup perwakilan.
Dua solusi teknis lainnya belum disebutkan:
Ada pertanyaan yang lebih besar di sini yang perlu ditangani. Perintah Shell tidak cerewet (mereka tidak mengecek apa yang Anda inginkan), dan mereka berharap Anda tahu apa yang Anda lakukan. Ini mendasar bagaimana mereka dirancang . Ini fitur, bukan bug.
Beberapa orang merasa macho ketika mereka menggunakan perintah seperti itu, yang saya pikir cukup konyol, tetapi adalah penting untuk memahami bahaya. Anda dapat melakukan banyak kerusakan di terminal, bahkan jika Anda tidak melakukan root. Saya pikir Anda mungkin benar-benar hanya peduli rm
, tetapi karena Anda mengatakan "Bisakah kita membatalkan operasi yang dilakukan di terminal", saya pikir ini layak untuk dikatakan. Jawaban umum adalah tidak, Anda tidak bisa.
Opsi 1: Lihat Membatalkan File Linux dari Sistem File ext2 . Halaman ini menunjuk ke sebuah program, yang ditulis oleh Sebastian Hetze dari perusahaan LunetIX, yang (seperti judulnya) membatalkan penghapusan file yang baru-baru ini dihapus dari sistem file ext2. Contoh penggunaan:
# undelete -d /dev/hdc3 -a 10
Peringatan:
Opsi 2: Saya menjalankan rsnapshot (rsync) di mesin saya yang membuat snapshot setiap jam dari folder yang saya pilih. Secara bertahap hal ini dilakukan setiap jam, 2 jam atau apa pun yang Anda minta CRON lakukan. Setelah sehari penuh, foto-foto ini akan didaur ulang menjadi satu snapshot harian dan setelah 7 hari dalam seminggu, dan seterusnya. Ini membuat saya dapat kembali ke masa sekitar satu bulan atau lebih untuk setiap jam! Ini cukup bagus dengan ruang disk karena membuat tautan simbolis ke file yang tidak pernah berubah ...
Pulihkan menggunakan grep on /dev/partition
( Linux atau Unix Recover file yang dihapus - hapus file ),
grep -b 'search-text' /dev/partition > file.txt
Coba saja.
Ada utilitas yang tidak terhapus untuk ext2, tetapi kebanyakan sistem file Linux lainnya macet di Zaman Batu dan tidak memiliki fitur kegunaan lanjutan. Sedih keadaan mengingat drive raksasa dengan ruang yang cukup untuk tidak pernah menghapus file lagi adalah hal biasa.
Jadi, Anda terjebak dengan tiga opsi:
Lakukan backup secara teratur, misalnya dengan perintah seperti:
rsync -axvRP --backup --backupdir=/backup/incr/$(date -I) /home/ /backup/root/
Gunakan alat kontrol versi seperti git
untuk semua pekerjaan Anda. Meskipun ini tidak akan melindungi terhadap orang gila rm -r
yang membunuh repositori, itu akan melindungi terhadap masalah biasa karena Anda akan menggunakan git rm
tidak mentah rm
.
Berhati-hatilah dan jangan terlalu percaya rm -i
, trash-cli
dan teman-teman, karena sebagian besar data Anda akan hilang di shell Anda tidak akan hilang secara tidak sengaja rm
, tetapi dengan pipa yang salah arah, file output salah ketik, salah arah mv
dan hal-hal lain, yaitu hal-hal yang akan ditimpa data Anda, bukan hanya menghapusnya.
Lakukan ketiganya untuk keamanan maksimal.
periksa ini ... mungkin sangat membantu http://artmees.github.io/rm/
Andaikan Anda melakukannya
rm very_important_file
dari terminal. Memulihkan file ini adalah proses yang membosankan dan tidak selalu berhasil
alih-alih jika Anda menggunakan skrip yang disebutkan. Anda tidak perlu khawatir karena ini
rm very_important_file
mv very_important_file ~/.Trash/
adalah setara. skrip menangani lebih banyak kasus dan tidak mengubah sistem Anda rm
sama sekali dan itu karena itu dimasukkan ke folder bin lokal pengguna sehingga membayangi sistem rm namun tidak mempengaruhi atau menonaktifkan menggunakannya
ini adalah pendekatan aliasing halus tetapi tanpa kehilangan fitur apa pun
Bagi saya (opensuse leap 42.2, NTFS flashdisk) PhotoRec - juga oleh testdisk
pencipta - bekerja :) Namun ia belum memulihkan nama file.
PhotoRec adalah perangkat lunak pemulihan data file yang dirancang untuk memulihkan file yang hilang termasuk video, dokumen dan arsip dari hard disk, CD-ROM, dan gambar yang hilang (dengan demikian nama Pemulihan Foto) dari memori kamera digital. PhotoRec mengabaikan sistem file dan mengejar data yang mendasarinya, sehingga akan tetap berfungsi bahkan jika sistem file media Anda telah rusak parah atau diformat ulang.
Saya telah menginstalnya menggunakan repositori standar di openSUSE
rm
: Ini memutuskan tautan file dari ituinode
. Pertanyaan: "Di mana file pergi ketikarm
perintah dikeluarkan" -> unix.stackexchange.com/questions/10883/… mungkin juga menjadi bacaan yang baik untuk Anda.