Szybkie rady #9 Jak zmienić znaczniki czasu plików

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 – rok
  • MM – miesiąc
  • DD – 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.

Tak działa polecenie touch

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.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *