Cara Memulihkan Fail yang Dipadamkan pada Linux dengan testdisk

Ilustrasi tetingkap terminal pada komputer Linux.

Fatmawati Achmad Zaenuri/Shutterstock



Pernahkah anda memadam fail dan serta-merta menyesalinya? Anda memerlukannya kembali, dan cepat! Tetapi bagaimana jika fail itu begitu baharu, ia masih belum disandarkan? Nasib baik, ada sesuatu yang boleh anda lakukan mengenainya.

rm: Pendek untuk Penyesalan?

Ia terlalu mudah untuk digunakan |_+_| perintah dan mendapati diri anda merenung tingkap terminal dengan rasa kesal yang semakin mendalam. Satu kesilapan kecil dengan kad bebas, dan anda boleh memadam lebih banyak daripada yang anda mahu.





Sistem fail Linux lalai, |__+_| menggunakan inod untuk menyimpan data tentang setiap fail dan jadual inod untuk menjejaki inod. Inode mengandungi metadata tentang fail, seperti namanya, siapa pemiliknya, apakah kebenarannya dan sebagainya.

Ia juga mengandungi titik masuk ke pautan keras yang menghala ke fail. Setiap fail mempunyai sekurang-kurangnya satu pautan keras. Setiap kali anda membuat pautan keras baharu, kiraan pautan keras meningkat satu. Setiap kali anda mengeluarkan pautan keras, kiraan pautan keras dalam inod dikurangkan satu.



Apabila anda memadamkan fail yang telah ditandakan oleh inode sebagai tidak digunakan (dan sedia untuk digunakan semula), pautan keras terakhir dialih keluar. Apabila ini berlaku, fail tidak akan muncul dalam penyenaraian direktori, dan ia tidak boleh digunakan atau diakses.

Iklan

Walau bagaimanapun, data yang membentuk kandungan fail masih terdapat pada cakera keras. Jika anda boleh menampal inod supaya ia mengandungi maklumat yang betul, fail itu akan dipulihkan. Sudah tentu, ini hanya akan berfungsi jika data yang membentuk fail pada cakera keras kekal utuh dan tidak ditimpa.

Sebagai alternatif, anda boleh mencipta inod baharu, menyalin data yang masih hidup daripada inod lama, dan kemudian menggantikan bit yang hilang.



Itu adalah aktiviti yang tidak penting. Biasanya, apabila anda memadamkan fail secara tidak sengaja, ia berada pada saat yang paling teruk. Ia sentiasa apabila anda memerlukan fail itu, dan anda memerlukannya sekarang. Anda tidak mempunyai masa untuk bersusah payah dan kotor dengan editor sektor dan utiliti lain. Selain itu, jika ia adalah fail yang baru anda buat, ia mungkin belum disandarkan, jadi fail itu juga tidak akan membantu anda.

Ini di mana |_+_| masuk. Ia mudah digunakan dan tidak memerlukan pengetahuan sistem fail yang terperinci dan tahap rendah. Mari lihat cara menggunakannya!

BERKAITAN: Semua yang Anda Ingin Tahu Mengenai inod di Linux

Memasang testdisk

Untuk memasang |_+_| pada Ubuntu, gunakan arahan ini:

rm

Pada Fedora, anda perlu menaip:

ext4

Di Manjaro, anda perlu menggunakan |_+_|:

testdisk

Menggunakan testdisk

Walaupun ia berjalan dalam tetingkap terminal, |__+_| mempunyai antara muka asas. Anda menggunakan kekunci anak panah untuk menavigasi dan Enter untuk membuat pilihan. Untuk memastikan keadaan sentiasa kemas, sebaiknya buat direktori untuk fail yang dipulihkan.

Kami menaip yang berikut untuk mencipta direktori yang dipanggil dipulihkan untuk fail kami yang dipulihkan:

testdisk

Iklan

Kami menaip yang berikut untuk beralih ke direktori baharu dan mula |__+_| dari sana:

pacman

Kita perlu menggunakan |__+_| dengan |_+_|, jadi kami menaip yang berikut:

testdisk

Soalan pertama |__+_| bertanya adalah mengenai pembalakan. Ia boleh mencipta fail log baharu, menggunakan yang sedia ada, atau tidak log apa-apa langsung. Tidak kira pilihan yang anda pilih; ia tidak akan menjejaskan cara |__+_| beroperasi.

Anda hanya boleh tekan Enter untuk menerima pilihan yang diserlahkan dan buat fail log baharu. Ia akan dibuat dalam direktori yang anda mulakan |__+_|. Apabila anda membuat pilihan anda, |__+_| bertanya cakera keras mana yang memegang sistem fail yang anda ingin kerjakan.

Ia menyenaraikan pemacu keras yang boleh ditemuinya, serta |_+_| /dev/loop fail. Akan ada satu daripada ini untuk setiap aplikasi yang telah anda pasang daripada |_+_|. Ia adalah baca sahaja, jadi anda sepatutnya tidak berjaya memadamkan apa-apa daripada sistem fail ini.

Hanya terdapat satu pemacu keras fizikal dalam komputer ujian ini, jadi kami menggunakan anak panah ke bawah untuk menyerlahkan pilihan /dev/sda. Kami kemudian menggunakan anak panah kanan untuk memilih Proceed, dan kemudian tekan Enter.

Iklan

|_+_| juga perlu mengetahui jenis partition. Ia membentangkan menu pilihan, bersama-sama dengan jenis partition yang dikesan secara automatik di bahagian bawah.

Melainkan anda mempunyai alasan kukuh untuk tidak melakukannya, serlahkan jenis partition yang dikesan secara automatik, kemudian tekan Enter.

Dalam menu fungsi yang muncul, serlahkan Lanjutan, dan kemudian tekan Enter.

Menu pemilihan partition akan muncul.

Fail yang kami cari adalah dalam partition sistem fail Linux. Kami hanya mempunyai satu partition Linux pada cakera keras kami, tetapi anda mungkin mempunyai lebih banyak lagi.

Pilih partition fail anda, gunakan kekunci anak panah kiri dan kanan untuk memilih Senarai, dan kemudian tekan Enter. Menu pemilihan fail akan muncul.

Gunakan anak panah atas dan bawah atau kekunci PgUp dan PgDn untuk menavigasi senarai fail dan direktori. Tekan anak panah kanan atau Enter untuk memasuki direktori, dan anak panah kiri atau Esc untuk keluar dari direktori.

Iklan

Kami sedang mencari fail yang dimiliki oleh |__+_|. Fail untuk semua akaun pengguna berada dalam direktori Laman Utama. Jadi, kami menyerlahkan direktori Laman Utama, dan kemudian kami boleh menekan sama ada anak panah kanan atau Enter untuk memasuki direktori itu.

Semua akaun pengguna kemudiannya disenaraikan untuk kami. Kami menyerlahkan |_+_|, dan kemudian tekan anak panah kanan atau Enter untuk memasuki direktori itu.

Kini kita boleh melihat fail kepunyaan |__+_| akaun. Entri berwarna merah telah dipadamkan. Kami menavigasi fail dan direktori sehingga kami mencari fail yang ingin kami pulihkan.

Untuk memulihkan fail, hanya serlahkannya, dan kemudian tekan c (huruf kecil).

Paparan berubah dan memberitahu anda untuk memilih destinasi untuk fail yang dipulihkan. Kerana kami mencipta direktori yang dipanggil Dipulihkan dan memulakan |__+_| daripadanya, entri pertama dalam senarai (.) ialah direktori itu. Untuk memulihkan fail yang dipadam ini ke direktori itu, kami tekan C (huruf besar).

Selepas anda melakukan ini, anda dikembalikan ke paparan pemilihan fail. Jika anda ingin memulihkan lebih banyak fail, ulangi sahaja proses tersebut. Serlahkan fail yang dipadam, tekan c (huruf kecil) untuk menyalinnya, dan kemudian tekan C (huruf besar) untuk memulihkannya.

Bekerja dengan Fail Dipulihkan

Selepas anda memulihkan fail, pepohon direktori ke lokasi asalnya dibina semula, yang berguna kerana ia mengingatkan anda di mana pada cakera keras fail asal digunakan. Ini bermakna jika anda perlu menyalinnya semula, anda tahu di mana untuk meletakkannya.

Iklan

Jika anda memulihkan beberapa fail dari lokasi sistem fail berbeza yang kebetulan mempunyai nama fail yang sama, fail tersebut perlu disimpan secara berasingan juga.

Anda boleh menaip yang berikut untuk melihat kandungan direktori Dipulihkan:

testdisk

Jika anda bertanya |__+_| untuk mencipta fail log, ia akan berada dalam direktori Dipulihkan. Oleh kerana fail kami yang dipulihkan terletak di /home/dave, ia telah disalin ke direktori Dipulihkan kami, bersarang dalam direktori dengan nama yang sama.

Kita boleh menukar ke dalam direktori dave yang disalin menggunakan |__+_|. Pastikan anda tidak menyertakan garis miring hadapan (|_+_|) pada laluan—anda mahu menukar ke rumah setempat, bukan sistem /rumah.

Kami menaip yang berikut:

sudo

Fail yang dipulihkan berada dalam direktori itu, jadi kami menaip:

testdisk

Iklan

Mari lihat sekali lagi fail yang dipulihkan menggunakan |__+_| (penyenaraian panjang) pilihan:

ls -l

Kerana kami menggunakan |__+_| untuk melancarkan |_+_|, fail yang dipulihkan telah dipulihkan dengan akar sebagai pemiliknya. Kita boleh menukar pemilik kembali kepada dave menggunakan |_+_|:

testdisk

Kami menaip yang berikut untuk memastikan pemilikan yang betul telah dipulihkan:

testdisk

testdisk: Kod untuk Relief

Perasaan lega selepas anda memulihkan fail penting yang, sebentar tadi, terasa hilang tanpa dapat dikembalikan, adalah sesuatu yang anda akan sentiasa hargai.

Itulah sebabnya |__+_| adalah utiliti yang berguna. Selepas anda berjaya melalui menu dan boleh mula memulihkan fail, mudah untuk jatuh ke dalam irama sorotan, c, C, ulangi.

Perintah Linux
Fail tar · pv · kucing · tac · chmod · cengkaman · perbezaan · sed · Dengan · lelaki · pushd · popd · fsck · testdisk · seq · fd · pandoc · CD · $PATH · awk · sertai · jq · lipat · uniq · journalctl · ekor · negeri · ls · fstab · dibuang · kurang · chgrp · chown · rev · tengok · rentetan · taip · menamakan semula · zip · buka zip · lekapkan · umount · pasang · fdisk · mkfs · rm · rmdir · rsync · df · gpg · kita · nano · mkdir · daripada · ln · tampalan · menukar · rclone · carik-carik · SRM
Proses alias · skrin · atas · bagus · renice · kemajuan · jejak · sistem · tmux · chsh · sejarah · di · kumpulan · percuma · yang · dmesg · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · masa tamat · dinding · ya · bunuh · tidur · sudo · miliknya · masa · tambah kumpulan · usermod · kumpulan · lshw · menutup · but semula · berhenti · matikan · passwd · lscpu · crontab · Tarikh · bg · fg
Rangkaian netstat · ping · traceroute · ip · ss · siapakah · fail2ban · bmon · awak · jari · nmap · ftp · keriting · wget · who · siapakah saya · Dalam · iptables · ssh-keygen · ufw

BERKAITAN: Komputer Riba Linux Terbaik untuk Pembangun dan Penggemar

BACA SETERUSNYA Foto Profil untuk Dave McKay Dave McKay
Dave McKay pertama kali menggunakan komputer apabila pita kertas yang ditebuk sedang popular, dan dia telah memprogramkan sejak itu. Selepas lebih 30 tahun dalam industri IT, beliau kini seorang wartawan teknologi sepenuh masa. Semasa kerjayanya, beliau telah bekerja sebagai pengaturcara bebas, pengurus pasukan pembangunan perisian antarabangsa, pengurus projek perkhidmatan IT, dan, yang terbaru, sebagai Pegawai Perlindungan Data. Tulisannya telah diterbitkan oleh howtogeek.com, cloudsavvyit.com, itenterpriser.com, dan opensource.com. Dave ialah seorang penginjil Linux dan penyokong sumber terbuka.
Baca Bio Penuh

Artikel Yang Menarik