Testdisk ile Linux'ta Silinen Dosyalar Nasıl Kurtarılır
Yayınlanan: 2022-01-29Hiç bir dosyayı silip anında pişman oldunuz mu? Geri ihtiyacın var ve hızlı! Peki ya dosya çok yeniyse ve henüz yedeklenmemişse? Neyse ki, bu konuda yapabileceğiniz bir şey var.
rm: Pişmanlığın kısaltması mı?
rm
komutunu kullanmak ve kendinizi derin bir pişmanlık duygusuyla bir terminal penceresine bakarken bulmak çok kolay. Joker karakterlerle ilgili küçük bir hata ve amaçladığınızdan çok daha fazlasını silebilirsiniz.
Varsayılan Linux dosya sistemi olan ext4
, her dosya hakkındaki verileri tutmak için düğümleri ve düğümleri takip etmek için bir düğüm tablosunu kullanır. İnode, dosyanın adı, sahibi, izinleri vb. gibi dosya hakkında meta veriler içerir.
Ayrıca, dosyaya işaret eden sabit bağlantıların giriş noktalarını da içerir. Her dosyanın en az bir sabit bağlantısı vardır. Her yeni sabit bağlantı oluşturduğunuzda, sabit bağlantı sayısı bir artar. Bir sabit bağlantıyı her kaldırdığınızda, düğümdeki sabit bağlantı sayısı bir azalır.
İnode'un kullanılmamış (ve yeniden kullanıma hazır) olarak işaretlediği bir dosyayı sildiğinizde, son sabit bağlantı da kaldırılır. Bu olduğunda, dosya dizin listelerinde görünmez ve kullanılamaz veya erişilemez.
Ancak, dosyanın içeriğini oluşturan veriler sabit sürücüde hala mevcuttur. Doğru bilgileri içermesi için düğümü yamalarsanız, dosya geri yüklenir. Tabii ki, bu yalnızca sabit sürücüdeki dosyayı oluşturan veriler bozulmadan kalırsa ve üzerine yazılmazsa işe yarar.
Alternatif olarak, yeni bir düğüm oluşturabilir, kalan verileri eski düğümden kopyalayabilir ve ardından eksik bitleri değiştirebilirsiniz.
Bunlar önemsiz faaliyetlerdir. Genellikle, bir dosyayı yanlışlıkla sildiğinizde, bu mümkün olan en kötü andır. Her zaman o dosyaya ihtiyacın olduğunda ve ona şimdi ihtiyacın var. Sektör editörleri ve diğer yardımcı programlarla aşağı inip kirlenmek için zamanınız yok. Ayrıca, yeni oluşturduğunuz bir dosyaysa, büyük olasılıkla henüz yedeklenmemiştir, bu nedenle bunlar da size yardımcı olmaz.
testdisk
girdiği yer burasıdır. Kullanımı kolaydır ve dosya sistemi hakkında ayrıntılı, düşük seviyeli bilgi gerektirmez. Nasıl kullanılacağına bir göz atalım!
İLGİLİ: Linux'taki düğümler hakkında bilmek istediğiniz her şey
test diskini yükleme
testdisk
Ubuntu'ya kurmak için şu komutu kullanın:
sudo apt-get install testdisk
Fedora'da şunu yazmanız gerekir:
sudo dnf test diskini kurun
Manjaro'da pacman
kullanmanız gerekir:
sudo pacman -Sy test diski
test diskini kullanma
Bir terminal penceresinde çalışmasına rağmen, testdisk
basit bir arayüzü vardır. Gezinmek için ok tuşlarını, bir seçim yapmak için Enter tuşlarını kullanırsınız. İşleri düzenli tutmak için, geri yüklenen dosyalar için bir dizin oluşturmak en iyisidir.
Geri yüklenen dosyalarımız için “geri yüklendi” adlı bir dizin oluşturmak için aşağıdakileri yazıyoruz:
mkdir geri yüklendi
Yeni dizine geçmek ve oradan testdisk
başlatmak için şunu yazıyoruz:
cd geri yüklendi/
sudo
ile testdisk
kullanmamız gerekiyor, bu yüzden aşağıdakileri yazıyoruz:
sudo test diski
testdisk
sorduğu ilk soru günlüğe kaydetme hakkındadır. Yeni bir günlük dosyası oluşturabilir, mevcut olanı kullanabilir veya hiçbir şey kaydetmeyebilir. Hangi seçeneği seçtiğiniz önemli değil; testdisk
çalışma şeklini etkilemez.
Vurgulanan seçeneği kabul etmek ve yeni bir günlük dosyası oluşturmak için sadece Enter'a basabilirsiniz. testdisk
başlattığınız dizinde oluşturulacaktır. Seçiminizi yaptığınızda, testdisk
, üzerinde çalışmak istediğiniz dosya sistemini hangi sabit diskin tuttuğunu sorar.
Bulabildiği sabit sürücülerin yanı sıra squashfs
“/dev/loop” dosyalarını da listeler. Bir snap
yüklediğiniz her uygulama için bunlardan biri olacak. Bunlar salt okunurdur, dolayısıyla bu dosya sistemlerinden hiçbir şeyi silmeyi başarmamalıydınız.
Bu test bilgisayarında yalnızca bir fiziksel sabit sürücü var, bu nedenle “/dev/sda” seçeneğini vurgulamak için aşağı oku kullandık. Daha sonra “Devam Et”i seçmek için sağ oku kullandık ve ardından Enter'a bastık.
testdisk
bölüm türünü de bilmesi gerekir. Altta otomatik olarak algıladığı bölümün türüyle birlikte bir seçenekler menüsü sunar.
Yapmamak için iyi bir nedeniniz yoksa, otomatik olarak algılanan bölümün türünü vurgulayın ve ardından Enter'a basın.
Görüntülenen işlev menüsünde "Gelişmiş"i vurgulayın ve ardından Enter'a basın.
Bölüm seçim menüsü görünecektir.
Aradığımız dosyalar Linux dosya sistemi bölümünde. Sabit sürücümüzde yalnızca bir Linux bölümü var, ancak daha fazlasına sahip olabilirsiniz.
Dosyalarınızın bulunduğu bölümü seçin, "Liste"yi seçmek için sol ve sağ ok tuşlarını kullanın ve ardından Enter'a basın. Dosya seçim menüsü görünecektir.
Dosya ve dizin listesinde gezinmek için yukarı ve aşağı okları veya PgUp ve PgDn tuşlarını kullanın. Bir dizine girmek için sağ ok veya Enter tuşuna ve bir dizinden çıkmak için sol ok veya Esc tuşuna basın.
dave
ait olan dosyaları arıyoruz. Tüm kullanıcı hesaplarının dosyaları “Ana” dizinindedir. Böylece, “Ana” dizini vurgularız ve ardından o dizine girmek için sağ ok veya Enter tuşuna basabiliriz.
Tüm kullanıcı hesapları daha sonra bizim için listelenir. dave
vurgularız ve ardından bu dizine girmek için sağ ok veya Enter tuşuna basın.
Artık dave
hesabına ait olan dosyaları görebiliriz. Kırmızı ile yazılanlar silinmiştir. Kurtarmak istediğimiz dosyaları bulana kadar dosyalar ve dizinler arasında geziniyoruz.
Bir dosyayı kurtarmak için onu vurgulayın ve ardından c (küçük harf) tuşuna basın.
Ekran değişir ve kurtarılan dosya için bir hedef seçmenizi söyler. “Restored” adında bir dizin oluşturup testdisk
buradan başlattığımız için listedeki ilk girdi (.) o dizindir. Silinen bu dosyayı o dizine kurtarmak için C'ye (büyük harf) basıyoruz.
Bunu yaptıktan sonra dosya seçimi ekranına dönersiniz. Daha fazla dosya kurtarmak istiyorsanız, işlemi tekrarlamanız yeterlidir. Silinen bir dosyayı vurgulayın, kopyalamak için c (küçük harf) tuşuna basın ve ardından kurtarmak için C (büyük harf) tuşuna basın.
Geri Yüklenen Dosyalarla Çalışma
Bir dosyayı geri yükledikten sonra, dizin ağacı orijinal konumuna yeniden oluşturulur; bu, orijinal dosyanın eskiden sabit sürücüde nerede bulunduğunu size hatırlattığı için yararlıdır. Bu, geri kopyalamanız gerekirse, nereye koyacağınızı bildiğiniz anlamına gelir.
Aynı dosya adına sahip farklı dosya sistemi konumlarından bir dizi dosyayı kurtarırsanız, bunların yine de ayrı olarak saklanması gerekir.
“Restore” dizininin içeriğini görmek için aşağıdakileri yazabilirsiniz:
ls
testdisk
bir günlük dosyası oluşturmasını istediyseniz, bu “Geri yüklendi” dizininde olacaktır. Kurtarılan dosyalarımız “/home/dave” konumunda olduğundan, aynı ada sahip dizinlerde yuvalanmış “Geri yüklenen” dizinimize kopyalandılar.
cd
kullanarak kopyalanan “dave” dizinine geçebiliriz. Yola bir eğik çizgi ( /
) eklemediğinizden emin olun; sistemi “/home” yerine yerel “home” ile değiştirmek istiyorsunuz.
Aşağıdakileri yazıyoruz:
cd ev/dave
Kurtarılan dosyalar bu dizindedir, bu yüzden şunu yazıyoruz:
ls
-l
(uzun listeleme) seçeneğini kullanarak kurtarılan dosyalara bir kez daha bakalım:
ls -l
testdisk
başlatmak için sudo
kullandığımızdan, kurtarılan dosyalar sahip olarak "root" ile geri yüklendi. chown
kullanarak sahibini tekrar "dave" olarak değiştirebiliriz:
sudo chown dave.dave *
Doğru sahipliğin geri yüklendiğinden emin olmak için aşağıdakileri yazıyoruz:
ls -l
testdisk: Rölyef Kodu
Kısa bir süre önce geri dönüşü olmayan bir şekilde kaybolmuş gibi hissettiğiniz önemli bir dosyayı kurtardıktan sonraki o rahatlama hissi, her zaman takdir edeceğiniz bir şeydir.
Bu yüzden testdisk
çok kullanışlı bir yardımcı programdır. Menülerde gezindikten ve dosyaları geri yüklemeye başladıktan sonra, vurgu, c, C, tekrar ritmine düşmek kolaydır.
Linux Komutları | ||
Dosyalar | tar · pv · kedi · tac · chmod · grep · diff · sed · ar · adam · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · birleştirme · jq · katlama · uniq · dergictl · kuyruk · stat · ls · fstab · yankı · daha az · chgrp · chown · rev · bak · diziler · tür · yeniden adlandır · zip · unzip · mount · umount · yükle · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · yama · dönüştürmek · rclone · parçalamak · srm | |
süreçler | takma ad · ekran · üst · güzel · renice · ilerleme · strace · systemd · tmux · chsh · geçmiş · at · toplu · ücretsiz · hangi · dmesg · chfn · usermod · ps · chroot · xargs · tty · pembemsi · lsof · vmstat · zaman aşımı · duvar · evet · öldür · uyku · sudo · su · zaman · groupadd · usermod · gruplar · lshw · kapatma · yeniden başlatma · durdurma · güç kapatma · passwd · lscpu · crontab · tarih · bg · fg | |
ağ | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · kazmak · parmak · nmap · ftp · curl · wget · kim · whoami · w · iptables · ssh-keygen · ufw |
İLGİLİ: Geliştiriciler ve Meraklılar için En İyi Linux Dizüstü Bilgisayarlar