Próbowałem użyć polecenia
ls --time=atime
działał w jednym katalogu, ale nie działał w innym katalogu. Otworzyłem niektóre pliki w vimie, evince i innych aplikacjach, ale czasy dostępu do plików poleceń nie uległy zmianie.
Podczas pisania touch file.txt
czas dostępu jest zmieniany, ale podczas pisania vim file.txt
czas dostępu nie ulega zmianie.
Co tu jest nie tak?
filesystems
files
ls
atime
xralf
źródło
źródło
vim file.txt
? Czy rezygnujesz z vima przez:q
czy:wq
? Jeśli nie piszesz,vim
nie modyfikuje czasu dostępu do pliku - jest to zgodne z projektem..jpg
rozszerzeniem, nie ulega to zmianie. Kiedy otwieram go w przeglądarce zdjęć, to też się nie zmienia. Potrzebuję zmienić czas dostępu za każdym razem, gdy jakiś plik został odczytany przez jakąś aplikację.Odpowiedzi:
Przy domyślnych opcjach montowania czasy dostępu są obsługiwane w sposób szczególny w systemie Linux:
Opcja
relatime
montowania stała się opcją domyślną od jądra Linuksa 2.6.30. To jest powód, dla któregols --time=atime
nie wymieniono tego, czego oczekujesz.Rozwiązanie: Aby użyć ścisłego (starszego) zachowania na raz, skorzystaj z
strictatime
opcji montowania (np/etc/fstab
.In).Uwaga: Aby całkowicie wyłączyć aktualizacje atime, można użyć
noatime
.źródło
strictatime
?relatime
zachowuje zgodność tych programów. W rzeczywistości bardzo niewiele programów polega na tym i często jest to bezpiecznenoatime
.strictatime
funkcja, gdy próbuję ją dzisiaj, ale jeśli spowolni system, chciałbym ustawićstrictatime
tylko w niektórych katalogach, jeśli będzie to możliwe.strictatime
tym, który użyłby tego katalogu jako punktu podłączenia.Możesz wyłączyć rejestrowanie czasu dostępu dla niektórych systemów plików (poszukaj
noatime
w/etc/fstab
). Aby to przetestować, możesz spróbowaćtouch -a file; ls -l --time=atime file
, a następnie powtórzyć,touch -a file; ls -l --time=atime file
aby zobaczyć, czy to się zmieni.ls
Zachowanie tłumaczy sięman ls
:ls -l --time=atime
pokazy dostęp czas w kolumnie czasu / daty. Aby posortować według tego klucza, musisz również użyć--sort=time
.Jeśli przez „czas się nie zmienia”, oznacza to, że pokazuje ten sam wynik, to dlatego, że atime jest wyłączony dla systemu plików (patrz
/etc/fstab
) lub ponieważ czas dostępu jest naprawdę taki sam jak czas modyfikacji (dość powszechny).Pamiętaj, że lista plików nie zmienia czasu dostępu - do plików nie ma dostępu
ls
, tylko pamięć podręczna i-węzła .źródło
ls -l --time=atime
czas nie jest zmieniany (zakładam, że kolumna z czasem to atime) i kolejność sortowania nie ulega zmianie, pliki z ostatnim atime powinny znajdować się na początku lub na końcu listy (jeśli były ostatnio otwierane) ).touch
ils
? Zredagowałem odpowiedź, aby była bardziej widoczna.Przydaje się również podczas takiego testowania, aby dodać
--full-time
flagęls
, aby zobaczyć sekundy i sekundy podrzędne, dzięki czemu można zobaczyć efekt bez ograniczania się do minutowych granic.źródło