Saya tidak sengaja menghapus file dengan menjalankan:
rm -rf ./Desktop/myScript.sh
Saya pikir mungkin untuk memulihkan file, karena rm
perintah menghapus sementara. Bagaimana saya bisa memulihkan file yang dihapus di Mac OSX?
Saya tidak sengaja menghapus file dengan menjalankan:
rm -rf ./Desktop/myScript.sh
Saya pikir mungkin untuk memulihkan file, karena rm
perintah menghapus sementara. Bagaimana saya bisa memulihkan file yang dihapus di Mac OSX?
Jawaban:
MacOS adalah OS Unix dan rm
berarti "selamat tinggal". Antarmuka GUI memungkinkan Anda untuk memindahkan file ke tempat sampah (yang dapat Anda pulihkan) tetapi bukan itu yang Anda lakukan. Jika Anda memiliki cadangan (mis. Anda menjalankan Time Machine) maka Anda disimpan.
Klarifikasi
Sebenarnya (seperti yang ditunjukkan oleh @ire_and_curses) a rm
cukup menghapus entri direktori untuk file sambil meninggalkan blok disk yang digunakan, tidak tersentuh. Jika Anda dapat menghentikan sistem file tempat file tersebut berada, ada metode lanjutan yang dapat Anda coba temukan kembali konten blok tersebut. Ada juga beberapa alat pemulihan yang dapat dibeli untuk memulihkan kerugian. Masalah utama adalah tidak ada lagi yang menggunakan kembali blok disk yang diwakili oleh file Anda.
MacOS juga memiliki perintah hapus aman ( srm
) yang menulis terlalu banyak file sebelum unlink
diedit sehingga tidak dapat dipulihkan. Saya menggunakan unlink
istilah ini karena ini adalah panggilan sistem dasar yang terkait dengan rm
perintah shell . Ini mengatur tahapan untuk bagian selanjutnya dari diskusi ini, di bawah ini.
Sidenote
[Saya harus segera menambahkan bahwa bahkan jika Anda menulis disk berkali-kali, ada cara untuk membaca apa yang ditulis selusin kali atau lebih sebelumnya. Untuk membersihkan disk dengan benar untuk pembuangan benar-benar membutuhkan rendaman asam, palu besar, dan mesin penghancur kertas. ]
unlink
ing file mengurangi jumlah inode tautan-hitungan file. Jika nilai ini mencapai nol, file dihapus dari direktori filesystem dan blok disknya dibebaskan untuk digunakan kembali. Ini hanya terjadi ketika tidak ada proses membuka file. Sering membingungkan para administrator untuk menemukan bahwa sistem file menggunakan ruang yang sangat besar yang tidak dapat dipertanggungjawabkan dengan penjumlahan sederhana blok disk (dengan sesuatu seperti du
). Paling sering alasannya adalah bahwa file yang terbuka telah dihapus, sehingga tidak lagi terwakili dalam direktori. Alasannya adalah bahwa blok disk tetap tidak digunakan sampai proses terakhir menggunakan file berakhir.
Membuka file dan segera unlink
melakukannya sebenarnya adalah praktik umum untuk membuat file sementara yang aman. Alat-alat seperti lsof
dapat mengekspos file yang tidak terlihat ini jika Anda mencari file dengan jumlah tautan (NLINK) nol.
Dalam Unix dan Linux (yang MacOS adalah Unix bermerek), sebuah rm
mengikuti filosofi Unix "do-it" tanpa gembar-gembor jika itu bisa. Yaitu, jika Anda memiliki izin untuk menghapus file (yaitu direktori Anda memungkinkan penulisan) maka rm
lakukan apa yang Anda minta. Anda mungkin ingin membuat alias shell rm='rm -i'
yang meminta konfirmasi sebelum melakukan operasi. Menggunakan -f
sakelar dengan rm
menimpanya jika perlu. Alias rm
adalah yang paling berguna ketika Anda glob
menghapus suka rm *.log
. Artinya, Anda memiliki opsi untuk melewatkan file dalam daftar.
Bergantung pada konten Anda, tetapi Anda dapat menggunakan perangkat lunak pihak ketiga yang berbeda untuk melakukan itu, misalnya:
dan masih banyak lagi.
Anda dapat menemukan lebih banyak aplikasi dengan mengetikkan 'pemulihan data' di App Store.
Cara yang lebih maju adalah dengan boot OSX Anda dalam mode pemulihan (atau umount partisi Anda jika Anda bisa) dan mencarinya secara manual (jika Anda mengingat beberapa teks tertentu dari skrip Anda).
Beberapa contoh:
diskutil list
sudo cat /dev/disk0s2 | strings | grep -C20 "my_stuff"