Odpowiedzi:
Nie ma ogólnego „cofnięcia” dla każdej operacji w terminalu. Jeśli chcesz odzyskać plik po użyciu rm, musisz zajrzeć do oprogramowania do odzyskiwania.
Opcją zapobiegającą przyszłym błędom jest utworzenie aliasalternatywnych poleceń usuwania plików. Dodaj je do swojego ~/.bashrci zacznij używać ich zamiast rm.
alias rmi = 'rm -i'
Jeśli użyjesz rmi, pojawi się monit o potwierdzenie przyszłych usunięć. Staraj się unikać rozwijania nawyku naciskania ynatychmiast po wydaniu rmipolecenia, ponieważ to pokona cel.
Możesz także przenieść pliki usunięte trshpoleceniem w terminalu do kosza (w KDE i Gnome):
alias trsh='mv --target-directory="$HOME/.Trash"'
Jeśli użyjesz trsh, będziesz mieć ograniczone możliwości „cofnięcia usunięcia”. Uważaj na to
trsh dir1/file1 dir2/file1
może nadal powodować nieodwracalną utratę danych.
rmna rm -ito, że można się przyzwyczaić do siatki bezpieczeństwa, że daje. Następnie wchodzisz na inną maszynę, która nie ma tego aliasu ...
rmi-> rm -i. Naprawdę błędem jest po prostu przeszkadzanie w istniejącym programie przez aliasing nad nim.
Możesz użyć trash-cli, jeśli używasz KDE podczas uruchamiania GUI. Jest to narzędzie wiersza polecenia do usuwania / przywracania za pomocą funkcji kosza na śmieci KDE.
alias rm=trashTwoje typowe błędy wiersza poleceń były wyposażone w przyciski cofania.
alias rm=trashjest potencjalnie niebezpieczny, jeśli istnieje szansa, że pewnego dnia użyjesz cudzego systemu i zapomnisz (lub ssh). Znacznie bezpieczniej jest po prostu przyzwyczaić się do pisania trashzamiast rm.
Możesz utworzyć rmalias dla trashpolecenia (musisz trashnajpierw zainstalować .) Dodaj to do ~/.bashrc:
alias rm='trash'
Jest to lepsze niż, alias rm='mv --target-directory=$HOME/.Trash'ponieważ ~ / .Trash NIE jest folderem na śmieci dla gnome. Lepiej IMHO, aby trashdowiedzieć się, gdzie znajduje się rzeczywisty folder śmieci.
btw opublikowałbym to w komentarzu, ale nie mam wystarczającej liczby przedstawicieli.
Dwa kolejne rozwiązania techniczne nie zostały jeszcze nazwane:
Tutaj jest większe pytanie, na które warto odpowiedzieć. Polecenia powłoki nie są gadatliwe (nie sprawdzają dokładnie tego, czego chcesz) i oczekują, że wiesz, co robisz. Ma to zasadnicze znaczenie dla ich konstrukcji . To funkcja, a nie błąd.
Niektórzy ludzie czują macho, gdy używają takich poleceń, co moim zdaniem jest dość głupie, ale ważne jest, aby zrozumieć niebezpieczeństwa. Możesz zadać ogromne obrażenia w terminalu, nawet jeśli nie jesteś rootem. Myślę, że prawdopodobnie tak naprawdę ci na tym zależało rm, ale ponieważ powiedziałeś „Czy możemy cofnąć operacje wykonane w terminalu”, pomyślałem, że warto o tym powiedzieć. Ogólna odpowiedź brzmi: nie, nie możesz.
Opcja 1: Zobacz Cofnij usuwanie plików systemu Linux z systemu plików ext2 . Ta strona wskazuje program napisany przez Sebastiana Hetze z firmy LunetIX, który (jak sugeruje tytuł) usuwa ostatnio usunięte pliki z systemu plików ext2. Przykładowe użycie:
# undelete -d /dev/hdc3 -a 10
Ostrzeżenia:
Opcja 2: Mam rsnapshot (rsync) działający na moim komputerze, co sprawia, że co godzinę migawki moich wybranych folderów. Stopniowo robi to co godzinę, 2 godziny lub cokolwiek, co każesz CRONowi zrobić. Po całym dniu przetwarza te migawki w jedną dzienną migawkę, a po 7 dniach w tygodniu i tak dalej. To pozwala mi cofać się w czasie o około miesiąc na każdą godzinę! Jest całkiem niezły w przypadku miejsca na dysku, ponieważ tworzy symboliczne łącza do plików, które nigdy się nie zmieniły ...
Odzyskaj używając grep na /dev/partition( Linux lub Unix Odzyskaj usunięte pliki - cofnij usunięcie plików ),
grep -b 'search-text' /dev/partition > file.txt
Po prostu spróbuj.
Istnieją narzędzia do cofnięcia usunięcia dla ext2, ale większość innych systemów plików Linux utknęła w epoce kamienia łupanego i nie ma żadnych zaawansowanych funkcji użyteczności. Smutny stan rzeczy, biorąc pod uwagę gigantyczne dyski z wystarczającą ilością miejsca, aby nigdy więcej nie usuwać pliku, są powszechne.
Więc utkniesz z trzema opcjami:
Wykonuj kopie zapasowe regularnie, na przykład za pomocą polecenia:
rsync -axvRP --backup --backupdir=/backup/incr/$(date -I) /home/ /backup/root/
Użyj narzędzia kontroli wersji, na przykład gitdo wszystkich zadań. Chociaż nie ochroni to przed wariatem, rm -rktóry zabije repozytorium, ochroni go przed zwykłymi problemami, ponieważ będziesz używać git rmnie surowego rm.
Bądź bardzo ostrożny i nie ufaj zbytnio rm -i, trash-clii znajomym, ponieważ większość danych, które stracisz w powłoce, nie stracisz przypadkowo rm, ale przez źle przekierowane potoki, błędnie przekierowane pliki wyjściowe, błędnie przekierowane mvi inne rzeczy, tj. Rzeczy, które zastąpią twoje dane, nie tylko je usuwaj.
Wykonaj wszystkie trzy, aby uzyskać maksymalne bezpieczeństwo.
sprawdź to ... może być pomocne http://artmees.github.io/rm/
Załóżmy, że tak
rm very_important_file
z terminalu. odzyskanie tego pliku jest żmudnym i nie zawsze udanym procesem
zamiast tego, jeśli użyłeś wspomnianego skryptu. nie musisz się tym martwić, ponieważ
rm very_important_file
mv very_important_file ~/.Trash/
są równoważne. skrypt obsługuje więcej przypadków i nie zmienia rmw ogóle twojego systemu , ponieważ jest umieszczony w lokalnym folderze bin użytkownika, więc rzuca cień na system rm, a jednak nie wpływa na niego ani nie wyłącza jego używania
jest to wyrafinowane podejście aliasingowe, ale bez utraty żadnej funkcji
Dla mnie (opensuse skok 42.2, pendrive NTFS) PhotoRec - także przez testdisktwórców - działał :) Jednak nie odzyskał nazw plików.
PhotoRec to oprogramowanie do odzyskiwania danych plików zaprojektowane do odzyskiwania utraconych plików, w tym wideo, dokumentów i archiwów z dysków twardych, płyt CD-ROM i utraconych zdjęć (stąd nazwa Photo Recovery) z pamięci aparatu cyfrowego. PhotoRec ignoruje system plików i idzie za bazowymi danymi, więc nadal będzie działać, nawet jeśli system plików multimediów został poważnie uszkodzony lub sformatowany.
Zainstalowałem go przy użyciu standardowych repozytoriów w openSUSE
rm: To odłącza plik z toinode. Pytanie: „Gdzie idą pliki pormwydaniu polecenia” -> unix.stackexchange.com/questions/10883/… może być dla Ciebie również dobrym pomysłem.