Szybkie rady #9 Jak zmienić znaczniki czasu plików
Zarządzanie znacznikami czasu w systemie Linux jest często przydatne, np. gdy chcesz uporządkować pliki według daty modyfikacji, utworzenia lub ostatniego dostępu. Dzięki kilku prostym narzędziom i poleceniom możemy zmienić te znaczniki, dostosowując je do naszych potrzeb.Wiedza którą przedstawiłem w szybkie rady #9 jak zmienić znaczniki czasu plików może być przydatna w czasie pracy z systemem operacyjnym gdy już będziesz wiedzieć jaką dystrybucję Linux wybrać.
W tym artykule opiszę, jak używać polecenia touch oraz kilku innych narzędzi do zmiany daty i czasu plików.
1. Zmiana daty i czasu modyfikacji za pomocą touch
Podstawowym narzędziem do zmiany znaczników czasu jest polecenie touch. Domyślnie touch aktualizuje znaczniki czasu modyfikacji (mtime) i dostępu (atime) do bieżącej daty i godziny.
Składnia:
touch [opcje] plik
Przykład 1: Ustawienie bieżącej daty i godziny
touch plik.txt
Przykład 2: Zmiana daty i godziny modyfikacji na konkretną
Jeśli chcemy ustawić konkretną datę i godzinę, używamy opcji -t:
touch -t YYYYMMDDhhmm plik.txt
YYYY– rokMM– miesiącDD– dzieńhh– godzina (w formacie 24-godzinnym)mm– minuty
Przykład:
touch -t 202411101230 plik.txt
Powyższe polecenie ustawi datę modyfikacji pliku na 10 listopada 2024, 12:30.

2. Ustawienie konkretnej daty i godziny przy użyciu opcji -d
Zamiast korzystać z formatu -t, możemy użyć opcji -d, aby podać datę w bardziej czytelnej formie.
Przykład:
touch -d "2024-11-15 18:45" plik.txt
To ustawi znacznik czasu na 15 listopada 2024, 18:45.
3. Kopiowanie znaczników czasu z innego pliku
Jeżeli chcesz ustawić takie same znaczniki czasu dla kilku plików, możesz skopiować daty z innego pliku za pomocą opcji -r lub --reference.
Przykład:
touch -r plik_źródłowy.txt plik_docelowy.txt
Powyższe polecenie skopiuje znaczniki czasu (atime i mtime) z plik_źródłowy.txt do plik_docelowy.txt.
4. Użycie stat do sprawdzenia znaczników czasu plików
Przed i po zmianie znaczników czasu możesz sprawdzić ich wartości za pomocą polecenia stat.
Przykład:
stat plik.txt
Jak zmienić znaczniki czasu dla istniejącego pliku
Jeśli chcesz zmienić znaczniki czasu istniejącego pliku (np. datę modyfikacji, dostępności, a nawet utworzenia), możesz to zrobić przy użyciu różnych narzędzi w systemie Linux. Poniżej przedstawiam różne metody dostosowane do różnych potrzeb.
5. Zmiana daty utworzenia pliku (ctime) za pomocą debugfs
Zmiana znacznika czasu utworzenia (ctime) nie jest możliwa przy użyciu standardowych narzędzi takich jak touch. Można to jednak zrobić na systemach plików Ext przy użyciu narzędzia debugfs.
Uwaga: Ta metoda wymaga uprawnień administratora (sudo).
sudo debugfs -w /dev/sda1
W trybie interaktywnym debugfs:
stat /ścieżka/do/pliku.txt
set_inode_field /ścieżka/do/pliku.txt ctime 2024-11-15 12:00:00
To ustawi znacznik czasu utworzenia na 15 listopada 2024, 12:00.
Podsumowanie – szybkie rady #9 Jak zmienić znaczniki czasu plików
Zmiana znaczników czasu plików może być niezwykle przydatna, szczególnie w kontekście zarządzania kopiami zapasowymi, synchronizacji plików lub przygotowywania danych do analizy. Dzięki narzędziom takim jak touch, stat, debugfs, masz pełną kontrolę nad datami i godzinami w swoich plikach.