Secara tidak sengaja, saya menggunakan rm
file yang tidak ingin saya hapus. Apakah ada cara agar saya bisa mendapatkannya kembali di Linux?
linux
file-recovery
rm
HaiYuan Zhang
sumber
sumber
rm
adalah perintah UNIX / Linux "berbahaya" (baca$ man rm
). Gunakan dengan sangat hati-hati . Dengan itu, ini adalah cara cepat untuk menghapus file yang Anda yakini. Lingkungan Linux Modern dan Unix Desktop memang menyediakan solusi "Tempat Sampah" , sehingga pengguna dapat dengan mudah memulihkan file yang terhapus secara tidak sengaja.Jawaban:
Berikut ini adalah langkah-langkah umum untuk memulihkan file teks.
Pertama gunakan perintah dinding untuk memberi tahu pengguna bahwa sistem akan mati dalam mode pengguna tunggal:
Tekan CTRL + D untuk mengirim pesan.
Selanjutnya gunakan perintah init 1 untuk membawa sistem ke mode pengguna tunggal:
Menggunakan grep (cara UNIX tradisional) untuk memulihkan file
Gunakan sintaks grep berikut:
ATAU
Dimana,
Untuk memulihkan file teks dimulai dengan kata "nixCraft" di / dev / sda1 Anda dapat mencoba perintah berikut:
Selanjutnya gunakan vi untuk melihat file.txt.
Metode ini HANYA berguna jika file yang dihapus adalah file teks. Jika Anda menggunakan sistem file ext2, cobalah perintah recover.
Ditemukan di http://www.cyberciti.biz/tips/linuxunix-recover-deleted-files.html
sumber
init 1
, bunuh secara manual setiap daemon sistem kecualisshd
. Saya juga berpikir pada titik ini Anda harus me-remount semua RO filesystem dan menyimpan ke tmpfs (dengan asumsi file temp Anda akan cocok di ram) untuk menghindari menimpa file dengan data temp. Anda tentu saja harus menyalinnya di tempat lain nanti, baik ke server jarak jauh atau kembali ke sistem file lokal setelah remount mereka RW.dd
dan cobalah untuk menemukan file di dalamnya (menggunakangrep
, atau editor).Sunting: terkadang
ddrescue
bekerja lebih baik daripadadd
.sumber
Jika filesystem Anda adalah ext3 , gunakan ext3grep .
sumber
Testdisk memiliki opsi hapus yang harus bekerja dengan Linux.
Ada langkah-langkah untuk Linux . Perhatikan bahwa ini berfungsi untuk ext2 , ext3 , dan ext4 .
sumber
Satu-satunya jawaban yang benar adalah: pulihkan file Anda dari cadangan. Setiap orang harus memiliki cadangan. Untuk file yang sangat penting, Anda harus memiliki dua cadangan. Kamu tidak? Yah, sangat buruk, inilah pelajaran yang dipetik (Maaf kedengarannya kasar, tapi saya dalam penyimpanan data, dan orang-orang tidak membuat cadangan sampai mereka kehilangan beberapa data penting, itu fakta yang diberikan. Jadi ya, Anda terlihat bodoh, tetapi begitu juga hampir semua orang).
Oke, Anda tidak punya cadangan. Anda harus berhenti menggunakan sistem file yang berisi file SEKARANG . Setiap aktivitas penulisan pasti dapat menyemprot data file yang mungkin (hanya dapat ) tetap di disk.
jika Anda membuat kesalahan tragis untuk menggunakan hanya satu partisi sebagai sistem berkas root dan / home, itu berarti Anda harus mem - boot dari beberapa perangkat lain. SEKARANG .
Jika file Anda memiliki beberapa format umum (file Word, JPG, dll), gunakan Photorec . Photorec dapat mengambil format file yang paling umum.
Anda dapat mencoba metode "ext3 undelete" yang diusulkan sebelumnya, tetapi Anda harus merasa nyaman dengan baris perintah, memahami cara kerja dasar linux dasar, dll.
Jika file Anda memiliki beberapa format khusus, semoga beruntung. Saya pernah menulis program Perl untuk memindai drive untuk beberapa file khusus, dan itu bekerja dengan sangat baik; tetapi Anda harus mengetahui beberapa pemrograman untuk melakukan itu, dan cukup nyaman dengan linux juga.
sumber
Saya melakukan ini beberapa tahun yang lalu. Pendekatan saya adalah secara langsung, tidak ada waktu untuk kehilangan, unmount partisi dan kemudian
untuk memiliki file cadangan dengan status partisi yang tepat. Kemudian Anda dapat memasang partisi lagi dan melanjutkan bisnis seperti biasa saat Anda mencari file yang dihapus di gambar yang Anda buat. Gambar mungkin akan SANGAT besar karena Anda membutuhkan semua ruang "kosong", jadi mungkin masalah praktis untuk menyimpannya.
Kemudian itu hanya untuk melakukan pencarian yang membosankan setelah potongan teks yang saya harapkan berada di suatu tempat di sup konten partisi. Misalnya untuk menemukan file .tex, saya berlari
yang mencetak konteks besar di sekitar frasa "ayat" dan menyimpan output ke file yang akan dicari secara manual. Saya mencetak konteks yang sangat besar karena butuh waktu lama untuk mencari gambar sehingga saya lebih suka tidak melakukannya lebih dari yang seharusnya.
Juga perintah
strings
itu membantu dalam menghapus sampah biner dari output, tetapi jika saya ingat dengan benar itu juga menghapus semua baris baru, yang bisa menjadi masalah.Untuk menemukan file biner dengan cara yang sama, orang mungkin berhasil menemukan header karakteristik atau sesuatu dari file tertentu, tetapi saya membayangkan itu menjadi petualangan yang agak besar.
Catatan teknis singkat: ada kesulitan teknis dengan pemulihan disk dan Ext3 / 4. Ini adalah hal yang panjang untuk dijelaskan, tetapi secara singkat (dan tidak memadai): Ext3 / 4 menghapus "markers" yang memberi tahu OS di mana file berada pada disk ketika Anda menghapusnya. File tidak digosok, tetapi tidak ada yang tahu di mana pada disk mereka mulai dan berakhir lagi, dan kadang-kadang bahkan terfragmentasi di beberapa tempat. Beberapa sistem file lain hanya mengatur status file menjadi "dihapus", tetapi simpan data lokasi. Maka batal hapus tidak lebih sulit daripada melihat file pointer dengan flag ini (mereka harus tetap tersedia jika tidak terlalu banyak aktivitas telah terjadi), dan kemudian berharap konten mereka belum ditimpa.
Apa yang terbaik Retorika, dalam pandangan saya. Pencadangan yang sering adalah jawaban untuk semua masalah ini. Data penting tanpa sistem cadangan otomatis adalah kecelakaan yang menunggu untuk terjadi, IMHO.
Anekdot pribadi yang wajib: Saya akan hapus
foo\ foo*
dari~
. saya menulis, yang sayangnya, karena
foo
ternyata adalah symlink dan satu-satunya file yang cocok dengan ini, shell dibuat menjadiAku menekan Enter dan duduk di sana melihat perintah, yang seharusnya paling lama. Setelah agak lama
rm
bertanya kepada saya apakah saya ingin "menghapus file yang dilindungi tulis 'sesuatu'". Cukup cepat saya merasakan kedinginan dan lembut dan sangat terkontrol saya menekanCtrl+c
. ~ Setengah dari saya~
telah dihapus, tetapi saya berhasil mendapatkan semuanya kembali melalui grepping yang dijelaskan di atas dan beberapa cadangan saat ini. Saya memiliki beberapa data pribadi yang sangat berharga (baca: menghabiskan waktu) dan sangat baru pada disk yang hilang, tetapi saya telah membuat cadangan empat kali lipat. Satu menghilang di sini, yang lain karena pemadaman sistem di sekolah, yang lain korup, dan pada awalnya saya tidak dapat menemukan yang keempat, karena saya secara tidak sengaja memasukkannya ke folder yang salah :-D. Belumrm -r
macet pada file yang dilindungi tulis, yang keempat akan dimakan sejak folder itu dipasang melalui sshfs di file saya~
. Saya jauh lebih berhati-hati tentang hal-hal semacam itu sejak itu.sumber
Jika standar rm , saya harap Anda memiliki cadangan. Prosedur untuk memulihkan file yang dihapus akan berbeda untuk setiap sistem file, jika dapat dilakukan sama sekali. Linux tidak memiliki "tempat sampah" bawaan; setelah Anda menghapus file, semuanya sudah hilang.
Apa pun cara Anda melakukannya, Anda ingin mencabut komputer - sesegera mungkin, terus menjalankan komputer (bahkan untuk mematikannya) menyebabkan menulis ke disk dan meningkatkan kemungkinan bahwa beberapa blok sebelumnya ditempati oleh file akan ditimpa. Setelah Anda selesai melakukannya, letakkan di komputer lain, reboot dari live CD (pastikan untuk tidak memasang drive kecuali Anda memasangnya hanya-baca), atau lepaskan hard drive dan bawa ke spesialis pemulihan data.
sumber
Tetapkan harapan Anda rendah. Jika ada sesuatu yang ditulis di atas data yang 'dihapus', Anda akan kehilangannya.
Saya telah melakukan sejumlah kecil pemulihan dan alat terbaik yang saya temukan sering dirancang untuk format tertentu. Misalnya 'photorec' sangat bagus ketika saya ingin memulihkan puluhan ribu jpeg.
Recuva juga telah membantu saya sebelumnya dan mungkin menjadi pilihan terbaik Anda. (Gratis, jangan sampai tertipu membayar dengan iklan mereka)
Pada akhirnya, jika apa yang Anda lewatkan itu penting, ambil drive secara offline dan berhentilah menulis. Gunakan setiap bagian dari perangkat lunak pemulihan yang dapat Anda temukan sampai Anda mendapatkan kembali data Anda atau berhenti menjadi berharga. Jika ini benar-benar penting, kirimkan ke profesional dengan harga tinggi.
Jika Anda pernah beruntung dengan alat sebelumnya, coba lagi terlihat seperti Anda terbiasa dengannya. Pada akhirnya, mereka tidak boleh menulis ke disk dan jadi Anda dapat menggunakan perangkat lunak sampai Anda menemukan yang berfungsi.
sumber
Ini dokumen yang bagus untuk Anda. Anda akan menemukan banyak tips praktis di sana.
BTW, ada dua kelompok orang:
Selamat, Anda baru saja mempromosikan diri Anda ke grup 2. ;-)
sumber
Jika Anda memiliki aplikasi terbuka yang sedang membaca file, seperti VLC atau LibreOffice, maka jawaban L & U yang hebat ini membantu saya keluar dari kekacauan ini. Berikut adalah metode alternatif untuk melakukan hal yang sama.
Gagasan umum adalah menemukan tautan
/proc/PID/fd/DESCRIPTOR_NUMBER
dan menyalinnya kembali ke lokasi aslinya. Gunakanps aux | grep APP_NAME
untuk menemukan PID dan kemudianls -la /proc/PID/fd/
untuk menemukan DESCRIPTOR_NUMBER yang tepat.sumber
Jawaban "benar" adalah dengan menganggap tidak ada metode untuk memulihkan andal, dan sebaliknya memulihkan dari cadangan atau sistem kloning atau menginstal ulang.
TestDisk adalah alat yang hebat, dan ada cara-cara lain untuk dapat menyelamatkan beberapa data dari drive fisik tergantung pada sistem file dan kemunculan penghapusan, tetapi waktu dan rasa sakit yang terlibat bisa terlalu besar, jadi JAUHKAN BACKUPS (dan juga uji bahwa mereka valid dan dapat dipulihkan)!
sumber
Jika tidak ditimpa oleh pengguna lain, maka Anda beruntung. Saya tidak sengaja menghapus file sumber cpp saya dan menggunakan alat yang disebut terdepan , yang membantu saya memulihkan puing-puing 60G cpp dari disk. Akhirnya, saya memulihkan file saya dengan merakit puing-puing itu sepotong demi sepotong. Saya pikir ini memindai pola tertentu untuk tipe file tertentu dan menelusuri semua inode pada disk untuk memulihkan file! Coba saja!
sumber
Jika secara tidak sengaja Anda telah menghapus file dari Linux maka Anda dapat menggunakan perintah ini:
sebagai gantinya
search text
Anda dapat meletakkan nama file dan dapat menentukan direktori tempat Anda ingin mengembalikannya/home
.sumber
Anda dapat mencoba skrip ini. Bekerja dengan baik dan dimaksudkan untuk digunakan sebagai ganti rm dan saya menggunakannya secara luas sekarang.
https://github.com/nateshmbhat/safe-rm
Fitur :
rm
sumber
Saya memiliki masalah yang sama minggu lalu dan saya mencoba banyak program, seperti debugfs, photorec, ext3grep dan extundelete. ext3grep adalah program terbaik untuk memulihkan file. Sintaksnya sangat mudah:
atau:
Acara video ini adalah tutorial mini yang dapat membantu Anda.
sumber