Mam jeden konkretny folder ( /home/sam/officedocuments
), który zawiera setki folderów i plików. Myślę, że przez pomyłkę usunąłem niektóre pliki i foldery, ale nie jestem pewien.
Jak znaleźć pliki / foldery:
- usunięte niedawno w systemie Linux?
- zmieniłeś ostatnio w Linuksie?
Chcę tylko wiedzieć, które pliki i foldery zostały usunięte. Odzyskiwanie usuniętych plików i folderów nie jest dla mnie ważne.
System operacyjny: CentOS
ext3grep
narzędzia do wyszukiwania informacji o usuniętych plikach. Przy niektórych skryptach powinno być możliwe stworzenie prostej aplikacji, która wyświetla listę usuniętych plików w oparciu o określony katalog. Narzędzia te wymagają jednak surowego dostępu do dysku i jako takie są wyjątkowo niebezpieczne, jeśli nie są właściwie używane ( nieblokujące operacje tylko do odczytu powinny być całkowicie bezpieczne, jeśli pamiętasz, że zapis na dysk w tym samym czasie może spowodować, że bieżąca operacja zwróci uszkodzone / niepoprawne dane ).Odpowiedzi:
Służy
find
do wyszukiwania według czasu modyfikacji. Na przykład, aby znaleźć pliki dotknięte w ciągu ostatnich 3 dni:find /home/sam/officedocuments -mtime -3
Dla „starszych niż 3 dni” użyj
+3
.Niemal niemożliwe. Po usunięciu pliku po prostu go nie ma. W większości systemów nie jest to nigdzie rejestrowane.
źródło
3
... tego, czego potrzebuję przez ostatnie30
minuty?ext3
system plików. ext3grep może pomóc podczas polowania. Mam plik superuser.com/a/433785/132604, który zawiera pewne informacje i łącza do narzędzi, które można wykorzystać do znalezienia ( ewentualnie odzyskania ) usuniętych plików i informacji o nich. Podczas usuwania pliku w większości systemów plików nie jest on faktycznie usuwany, ale jest oznaczany jako miejsce, które można zastąpić na żądanie.Prawdopodobnie powinieneś zainstalować Inotify Tools . następnie możesz użyć
inotifywait
polecenia, aby nasłuchiwać zdarzeń mających miejsce w określonym katalogu.W szczególności, jeśli chcesz oglądać usunięte pliki i foldery, użyj tego
i zaloguj to wyjście w jakimś pliku.
Mam nadzieję, że to rozwiąże twój problem
źródło
/
katalogu głównym, biorąc pod uwagę montowanie / odmontowywanie dysków? Sądzę, że w takim przypadku jedyną sensowną rzeczą dla prowadzenia dziennika usuwania byłby moduł jądra, który mógłby się podłączyćunlink
(patrz stackoverflow.com/questions/8588386/... );man inotifywait
stwierdza również : „--recursive: Ostrzeżenie: ... ta opcja podczas oglądania ... dużego drzewa, może to zająć sporo czasu. Ponadto, ..., zostanie osiągnięta maksymalna liczba zegarów inotify na użytkownika. domyślnie maksimum to 8192; "dmesg [| tail]
powinien pokazać ci [ostatnie] montowania / odmontowywania, jeśli o to pytasz.Linux zasadniczo nie pyta o potwierdzenie przed usunięciem plików, zakładając, że używasz
rm
z wiersza poleceń.Aby znaleźć pliki zmodyfikowane w ciągu ostatnich 30 minut, użyj
touch --date="HH:MM" /tmp/reference
do utworzenia pliku o nazwie referencja ze znacznikiem czasu sprzed 30 minut (gdzie GG: MM odpowiada 30 minut temu). Następnie użyj,find /home/sam/officedocuments -newer /tmp/reference
aby znaleźć pliki nowsze niż referencja.Jeśli pliki zostały usunięte za pomocą narzędzia GUI, mogą one nadal znajdować się w „koszu”. To zależy od tego, czego używasz w środowisku pulpitu. Jeśli korzystałeś
rm
z linii poleceń, wypróbuj jedno z narzędzi wymienionych w tej odpowiedzi . (Hat tip do @Sampo dla tego linku).źródło