Berbicara dalam istilah yang paling abstrak, setiap kali Anda menghapus file pada antarmuka grafis, file tersebut "dipindahkan" ke "buffer" khusus, sebuah direktori bernama trash
. Anda dapat menemukannya di home
direktori Anda ~/.local/share/Trash/
,. File "dihapus" dari direktori ini, akan benar-benar dihapus. Penghapusan nyata ini adalah apa yang terjadi ketika Anda menggunakan rm
file.
Sangat sulit untuk memulihkan file yang dihapus. File dalam sistem file direpresentasikan sebagai node pada pohon-B atau sejenisnya. Ketika file dihapus menggunakan rm
, pohon diperbarui, jumlah hardlink berkurang, entri yang sesuai dalam daftar direktori dihapus. Jika sama sekali, file Anda memiliki tautan keras, file Anda benar-benar aman. Anda bisa melakukan file / -samefile filename
. Anda dapat mencari file jika Anda ingat nomor inode juga (ini tidak terjadi).
Kasus lain adalah ketika tidak ada dari kemungkinan di atas yang benar. Setiap kali Anda rm
menyimpan file, entri file pada direktori dihapus, mengurangi jumlah hardlink dengan satu. Dan jika jumlah tautan keras turun ke nol, maka penunjuk ke file pada inode dijatuhkan, atau ditandai untuk dihapus. Either way, file Anda "masih" berada di hard disk. File ini sebenarnya dihapus dari hard disk hanya pada remount berikutnya. Pemulihan file pada saat seperti itu sangat sulit, melibatkan melalui pohon sistem file dan inode yang mewakili lokasi blok disk sebenarnya. Ada alat populer yang pernah saya dengar, tetapi tidak pernah menggunakannya, disebut extundelete
. Meskipun tidak ada jaminan, ada baiknya mencoba.
Setelah Anda berhasil memulihkan file Anda, segera lakukan backup rutin. Ini sangat sederhana di Ubuntu.