touch służy do tworzenia nowych, pustych plików oraz do zmiany dat i godzin dostępu (atime) i modyfikacji (mtime) istniejących plików. Jest często używane w skryptach, przy testach oraz do aktualizacji znaczników czasu w celu wywołania określonych akcji w systemie.
Zastosowania: szybkie tworzenie plików, aktualizacja timestampów, wymuszanie ponownej kompilacji w systemach build.
Dostępność: GNU coreutils (Linux), Unix, BSD, macOS.
Można podać wiele plików naraz; jeśli plik nie istnieje, zostanie utworzony pusty.
Parametr Opis plik
Nazwa pliku do utworzenia lub zmodyfikowania. -a
Zmienia tylko czas dostępu (atime). -m
Zmienia tylko czas modyfikacji (mtime). -t [[CC]YY]MMDDhhmm[.ss]
Ustawia czas na podaną datę i godzinę. -r plik_ref
Kopiuje czasy z innego pliku. -c
Nie tworzy pliku, jeśli nie istnieje. --help
Pomoc. --version
Wersja programu.
# Utworzenie pustego pliku lub aktualizacja jego czasu
# Aktualizacja tylko czasu dostępu
# Ustawienie konkretnej daty i godziny
touch -t 202401011230.00 raport.txt
# Skopiowanie czasu z innego pliku
touch -r wzorzec.txt kopia.txt
Jeśli plik nie istnieje, touch
utworzy go pusty, chyba że użyto -c
.
Domyślnie aktualizowane są oba czasy: atime i mtime.
Czas może być modyfikowany przez ustawienia montowania systemu plików (noatime
, relatime
).
Błąd / Komunikat Przyczyna Rozwiązanie Permission denied
Brak uprawnień do pliku lub katalogu. Użyj sudo
lub zmień prawa dostępu. No such file or directory
Ścieżka katalogu nie istnieje. Sprawdź poprawność ścieżki. Błędny format daty Niepoprawny zapis w opcji -t
. Sprawdź format [[CC]YY]MMDDhhmm[.ss]
.