Rm ile silinen dosyalar / dizinler geri yüklenebilir mi?


69

Dosyaları geri mümkün mü / kullanarak terminalinden silinir dizinleri rmve rm -r?. Bir dosya grafiksel arayüzden silinirse, çöp kutusundan geri yüklenebilir, ancak rm yardımcı programını kullanarak kaldırılırsa bir dosyayı nasıl geri yüklersiniz?


Araçlar silinen dosyaları kurtarmak için (herhangi bir biçimde), bu soruya bakabilirsiniz askubuntu.com/q/3883
Decio Lira

: İsterseniz .Arzu "rm-çöp" yarar kullanabilirsiniz gelecekte dosyaları geri "rm" kullanmayın github.com/nateshmbhat/rm-trash
bhat Natesh

Yanıtlar:


63

Bu amaçla paketimde trash-clipaket ve aşağıdaki takma adları kullanıyorum~/.bashrc

alias rm=trash

Ve trash-clipaket followoing komutuyla yüklenebilir: sudo apt-get install trash-cli.

Kaldırdığınız dosyalar çöp kutusuna taşınır ve bunları nautilus çöp tenekesinde görebilirsiniz.

rmAşağıdaki yöntemlerden birini kullanarak her zaman gerçeklere erişebilirsiniz :

command rm something
'rm' something
\rm something

Ayrıca, terminalden çöp kutusunu erişmek için komutları vardır trash-list, restore-trash(ya trash-restore) trash-empty(daha sonra onların adamı sayfalarına bakın) paket çöp-cli dan yüklenebilen.

Son not, süper kullanıcı için böyle bir takma ad kullanılması önerilmez, çünkü sistem işlemlerine müdahale edebilir.


19
Bu bir geçici çözüm, ancak soruyu gerçekten yanıtlamıyor.
evgeny

Kullanıcının aynı davranışı komut satırından elde etmek için bir yöntem olup olmadığını da bileceğini düşünüyorum. Olmazsa cevabımı kaldırmaya hazırım.
enzotib

3
Bu iyi. Biraz bilgi kazandım.
kullanıcı3215,

27

Terminalden silmek kalıcı olarak siler - kurtarma çok zor ve bazen imkansızdır.

Bölümünüzün tipi ise ext3(kullanarak kontrol edin System->Administration->Disk Utility), sonra ext3undel 'e bakın .

Değilse (eğer Ubuntu'yu varsayılan ayarlarla yüklediyseniz ) extundeleteprogramı deneyin .

Yine de bir şeyleri kurtarmanın bir garantisi yok.


Masaüstü sürümleri için gerçekten yararlı olacaktır.
kullanıcı3215,

Bunun SSD sürücülerinde etkili bir şekilde çalıştığından şüpheliyim, ancak aksini duymaktan mutlu
mat

13

Aradığınız: extundelete - ext3 / ext4 bölümünden silinen dosyaları kurtarmak için yardımcı program

Böyle bir paket bulmak için deneyebilirsiniz: apt-cache search undelete

Yardımcı programı kullanmak için şunu yükleyin: sudo apt-get install extundelete

Kurulumdan sonra çağırıp man extundeletedikkatlice inceleyin.


6

Alternatif olarak, özellikle ne tür bir dosya olduğunu biliyorsanız ...

sudo apt-get install foremost

Şimdi açılın /etc/foremost.confve yorumlanmış satırların uzun bir listesini göreceksiniz. Dosya türünüz varsa, satırın satırını kaldırın (alakasız satırları da kaldırmak isteyebilirsiniz).

Dosya türünüz yoksa, kendi satırınızı ekleyin. Diyelim ki bir .css dosyasını kurtarmak istiyorum ve onun 40K civarında olduğunu biliyorum. Bunu ekleyebilirim:

css     n       40000   Theme\sName:     Plugin\sFixes

İkinci sütun büyük / küçük harfe duyarlılık anlamına gelir, üçüncü sütun boyut için üst sınıra atıfta bulunur, 4. sütun ise dosyanın nasıl başladığını (kaçan karakterleri kullanmayı unutmayın) ve son sütun dosyanın genellikle nasıl biteceğini gösterir.

Aşağıdaki komutu kullanın (diski uygun şekilde düzenleyin. Komutla kontrol edebilir df)

foremost -v -T -c /etc/foremost.conf -i /dev/sda -o output

Bundan sonra ne olacağı, her şeyden önce çıktı adında bir klasör oluşturacak ve kurtarılan tüm verileri (bu durumda) klasöre dökecek. Oradan , kurtarılan 'dosyaları' karşılaştırabilir diffya meldda karşılaştırabilir ve hangisinin en güncel olduğunu görebilirsiniz.


çok teşekkürler. Mükemmel çalıştı. Yanlışlıkla phpkaynak dosyamı rm -fr php/2 dosya kullanarak kaldırdım php. 2 dakikadan az bir sürede mükemmel bir şekilde iyileşti. Gelen .confdosyanın ekledim:php n 40000 <?php ?> ASCII
Shakiba Moshiri

5

En soyut terimlerle konuşursak, grafik arayüzdeki bir dosyayı sildiğinizde, dosya adı verilen özel bir "tampon" a taşınır trash. Eğer bunu bulabilir home, dizindeki ~/.local/share/Trash/. Bu dizinden "silinen" dosyalar gerçekten silinecek. Bu gerçek silme, rmbir dosya üzerinde kullandığınızda meydana gelen şeydir .

Silinen dosyaları kurtarmak oldukça zor. Dosya sistemindeki dosyalar, B ağacı veya benzeri bir düğümde gösterilir. Bir dosya kullanılarak silindiğinde rm, ağaç güncellenir, cilt sayısı azalır, dizin listesindeki karşılık gelen girdi kaldırılır. Dosyanızda sert bir bağlantı varsa, dosyanız kesinlikle güvenlidir. Yapabilirsin file / -samefile filename. Inode numarasını da hatırlıyorsanız dosyayı arayabilirsiniz (bu pek de zor değil).

Başka bir durum, yukarıdaki olasılıklardan hiçbirinin doğru olmadığı durumdur. Ne zaman rmbir dosyaysanız, dizindeki dosya girişi kaldırılır ve bu da sabit bağlantı sayısını bir azaltır. Sabit bağlantıların sayısı sıfıra düşerse, inode'daki dosyaya ilişkin işaretçi bırakılır veya silinecek şekilde işaretlenir. Her iki durumda da "hala" dosyanız sabit diskte bulunur. Dosya, yalnızca sonraki yeniden kurulumda sabit diskten silinir. Böyle bir zamanda dosya kurtarma işlemi son derece zordur, dosya sistemi ağacından ve gerçek disk bloğu konumlarını temsil eden inode'lardan geçer. Daha önce hiç duymadığım ama hiç kullanmadığım popüler bir araç var extundelete. Garantisi olmasa da, denemeye değer.

Dosyalarınızı başarılı bir şekilde kurtardığınızda veya kurtardığınızda, düzenli yedekleme yapmak için acele edin. Ubuntu'da son derece basit.


2

Maalesef, "rm" ve "rm -f" komut satırından silinen dosyalar Gnome masaüstünde bulunan "Trashcan" ı atlar.

Ayrıca FAT ve NTFS'de olduğu gibi herhangi bir extdel "undelete" aracı olup olmadığını sormak isteyebilirsiniz. (Hiçbirini bilmiyorum, ama olmasaydı şaşırırdım.)


Ah, tamam!. Bir yerden kurtarılabileceğini düşündüm.
kullanıcı3215,

1

daha sonra geri almak için onları çöpe koyan ve "rm" komutunun tüm seçeneklerini destekleyen tutamaçları kullanan " rm-trash " yardımcı programını kullanın.

sudo add-apt-repository ppa:nateshmbhat/rm-trash
sudo apt-get update
sudo apt-get install rm-trash

"rm-çöp"

  • rm yerine kullanılmak üzere
  • rm'nin alabileceği tüm seçenekleri yönetir
  • Dosya adı çarpışmalarını, önceden alınmış dosyalar ile ele alır.
  • bazı izin sorunlarını otomatik olarak ele alır
  • rm, başka bir betikten veya dolaylı olarak çağırılırsa, sistem 'rm' komutu otomatik olarak kullanılır.
  • ortaya çıkanlar gibi uygun hata mesajlarını gösterir. rm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.