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.