Yanıtlar:
Terminaldeki her işlem için genel bir "geri alma" yoktur. Bir dosyayı kullandıktan sonra kurtarmak rm
istiyorsanız, kurtarma yazılımına bakmanız gerekir.
Gelecekteki hatalardan alias
korunmak için bir seçenek, dosyaları kaldırmak için alternatif komutları kullanmaktır. Bunları kendinize ekleyin ~/.bashrc
ve 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, y
bir rmi
komut verdikten hemen sonra basma alışkanlığını geliştirmekten kaçının .
Komutla silinen dosyaları trsh
terminaldeki 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.
rm
için rm -i
o 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=trash
bu yüzden tipik komut satırı vida-up geri alma düğmeleri ile geldiğini.
alias rm=trash
potansiyel olarak tehlikeli, eğer bir gün bir başkasının sistemini kullanacak ve unutacaksın (veya ssh). trash
Bunun yerine sadece yazmaya alışmak çok daha güvenli rm
.
Sen yapabilir rm
için bir takma ad trash
komutu (Sen yüklemeniz gerekir trash
ilk.) 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 . trash
Ası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/
git
Tü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 rm
sağ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-cli
arkadaşlar, kabukta kaybedeceğiniz çoğu veri kazara rm
değ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 rm
ve 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 testdisk
yaratı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: "rm
komut verildiğinde dosyalar nereye gidiyor " -> unix.stackexchange.com/questions/10883/… sizin için iyi bir okuma olabilir.