Yanıtlar:
Terminaldeki her işlem için genel bir "geri alma" yoktur. Bir dosyayı kullandıktan sonra kurtarmak rmistiyorsanız, kurtarma yazılımına bakmanız gerekir.
Gelecekteki hatalardan aliaskorunmak için bir seçenek, dosyaları kaldırmak için alternatif komutları kullanmaktır. Bunları kendinize ekleyin ~/.bashrcve yerine kullanma alışkanlığı edinin rm.
takma ad rmi = 'rm -i'
Eğer kullanırsanız rmi, gelecekteki siler onayı için istenir. Amacı yeneceği için, ybir rmikomut verdikten hemen sonra basma alışkanlığını geliştirmekten kaçının .
Komutla silinen dosyaları trshterminaldeki geri dönüşüm kutunuza da taşıyabilirsiniz (KDE ve Gnome'da):
alias trsh='mv --target-directory="$HOME/.Trash"'
Eğer kullanırsanız trsh, bir sınırlı "geri" yeteneğine sahip olacaktır. Dikkat et
trsh dir1/file1 dir2/file1
hala kurtarılamaz veri kaybına neden olabilir.
rmiçin rm -io size verdiği Eğer güvenlik ağı alışması olmasıdır. Sonra o takma adı olmayan başka bir makineye
rmi-> rm -i. Bu sadece üzerinde takma yaparak mevcut bir programın önüne geçmek için bir hata.
Komut satırı için geri dönüşüm kutusu yok.
Geri alınmamış çeşitli yardımcı programları deneyebilirsiniz, ancak işe yarayacağının garantisi yoktur.
Bir GUI çalıştırdığınızda KDE kullanıyorsanız, trash-cli kullanabilirsiniz. Bu, KDE çöp kutusu olanaklarını kullanarak silmek / geri yüklemek için komut satırı yardımcı programıdır.
alias rm=trashbu yüzden tipik komut satırı vida-up geri alma düğmeleri ile geldiğini.
alias rm=trashpotansiyel olarak tehlikeli, eğer bir gün bir başkasının sistemini kullanacak ve unutacaksın (veya ssh). trashBunun yerine sadece yazmaya alışmak çok daha güvenli rm.
Sen yapabilir rmiçin bir takma ad trashkomutu (Sen yüklemeniz gerekir trashilk.) Adresinden Müşteri bu ekleyin ~/.bashrc:
alias rm='trash'
alias rm='mv --target-directory=$HOME/.Trash'~ / .Trash, gnome için çöp kutusu DEĞİL olduğundan beri tercih edilir . trashAsıl çöp kutusu klasörünün nerede olduğunu bulmak için IMHO iyidir .
btw Ben bunu bir yorumda göndermiş olurdum ama yeterince bilgim yok.
İki teknik çözüm daha henüz adlandırılmadı:
Burada ele alınması gereken daha büyük bir soru var. Shell komutları konuşkan değil (ne istediğinizi iki kez kontrol etmiyorlar) ve ne yaptığınızı bilmenizi bekliyorlar. Bu, nasıl olduklarının temelini oluşturur. tasarlandıkları . Bu bir özellik, böcek değil.
Onlar oldukça saçma olduğunu düşünüyorum böyle komutları kullandığınızda Bazı insanlar Macho hissediyorum, ama olduğunu tehlikeleri anlamak önemlidir. Kök olmasanız bile terminalde büyük miktarda hasar verebilirsiniz. Sanırım muhtemelen gerçekten umursuyordunuz rm, ancak "Terminalde yapılan işlemleri geri alabilir miyiz" dediğinizden, bunun söylemeye değer olduğunu düşündüm. Genel cevap hayır, yapamazsın.
Seçenek 1: Bkz . Ext2 Dosya Sisteminden Undelete Linux Dosyaları . Bu sayfa, LunetIX şirketinin Sebastian Hetze'sinin yazdığı bir programa işaret eder. Örnek kullanım:
# undelete -d /dev/hdc3 -a 10
Uyarılar:
Seçenek 2: Makinemde çalışan rsnapshot'ım (rsync) var, bu da seçilen klasörlerin saatlik görüntüsünü yapıyor. Bunu her saat, 2 saatte bir ya da CRON'a ne derseniz deyince yapın. Tam bir günün ardından bu anlık görüntüleri bir günlük anlık görüntüye geri dönüştürür ve haftada 7 gün sonra böyle devam eder. Bu beni her saat yaklaşık bir ay ya da öylesine geri gidebilmemi sağlıyor! Hiç değişmeyen dosyalara sembolik bağlantılar oluşturduğu için disk alanı ile oldukça iyi ...
Grep on kullanarak kurtar /dev/partition( Linux veya Unix, silinen dosyaları kurtar - dosyaları geri al ),
grep -b 'search-text' /dev/partition > file.txt
Sadece bir dene.
Ext2 için silinmemiş araçlar var, ancak diğer Linux dosya sistemlerinin çoğu Taş Devrinde kaldı ve gelişmiş bir kullanılabilirlik özelliğine sahip değil. Bir dosyayı bir daha silmek için yeterli alana sahip olan devasa diskleri düşünen üzücü durumlar olağandır.
Böylece üç seçenekle sıkıştınız:
Düzenli olarak yedekleme yapın, örneğin:
rsync -axvRP --backup --backupdir=/backup/incr/$(date -I) /home/ /backup/root/
gitTüm işiniz için olduğu gibi bir sürüm kontrol aracı kullanın . Bu rm -r, depoyu öldüren bir çılgınlığa karşı koruma git rmsağlamazken, çiğ kullanmayacağınız için düzenli sorunlara karşı koruma sağlar rm.
Çok dikkatli olun ve çok fazla güvenmeyin rm -i, trash-cliarkadaşlar, kabukta kaybedeceğiniz çoğu veri kazara rmdeğil, yanlış yönlendirilmiş borular, yanlış yazılmış çıktı dosyaları, yanlış yönlendirilmiş mvşeyler ve üzerine yazılacak şeyler Verilerinizi silin, yalnızca silin.
Maksimum güvenlik için üçünü de yapın.
Bunu kontrol edin ... yardımcı olabilir http://artmees.github.io/rm/
varsayalım
rm very_important_file
Terminalden Bu dosyayı kurtarmak sıkıcı ve her zaman başarılı bir işlem değildir
bunun yerine söz konusu betiği kullandıysanız. bu konuda endişelenmene gerek yok çünkü
rm very_important_file
mv very_important_file ~/.Trash/
eşdeğerdir. komut dosyası daha fazla durum ele alır ve sisteminizi hiçbir şekilde değiştirmez rmve bunun nedeni kullanıcının yerel bin klasörüne yerleştirilmesidir, böylece sistemin rm'sini gölgelendirir ve henüz etkilemez veya kullanmayı devre dışı bırakmaz
bu, rafine edilmiş bir takma yaklaşımdır ancak hiçbir özelliği kaybetmeden
Benim için (opensuse 42.2 sıçrama, NTFS pendrive) PhotoRec - ayrıca testdiskyaratıcılar tarafından - çalıştı :) Ancak, dosya adlarını kurtarmadı.
PhotoRec, sabit disklerdeki video, belgeler ve arşivler, CD-ROM'lar ve kaybolan resimleri (dolayısıyla Photo Recovery adı) dijital kamera belleğindeki kayıp dosyaları kurtarmak için tasarlanmış dosya veri kurtarma yazılımıdır. PhotoRec dosya sistemini göz ardı eder ve altta yatan verilerin peşinden gider, bu nedenle medyanızın dosya sistemi ciddi şekilde hasar görmüş veya yeniden biçimlendirilmiş olsa bile çalışmaya devam eder.
OpenSUSE’deki standart depoları kullanarak kurdum
rm: Bir dosyayı ondan ayırırinode. Soru: "rmkomut verildiğinde dosyalar nereye gidiyor " -> unix.stackexchange.com/questions/10883/… sizin için iyi bir okuma olabilir.