Skip to content

Lost Chord 2

Polecenie $ touch

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu feugiat sapien. Aenean ligula nunc, laoreet id sem in, interdum bibendum felis. Donec vel dui neque. Praesent ac sem ut justo volutpat rutrum a imperdiet tellus. Nam lobortis massa non hendrerit hendrerit. Vivamus porttitor dignissim turpis, eget aliquam urna tincidunt non. Aliquam et fringilla turpis. Nullam eros est, eleifend in ornare sed, hendrerit eget est. Aliquam tellus felis, suscipit vitae ex vel, fringilla tempus massa. Nulla facilisi. Pellentesque lobortis consequat lectus. Maecenas ac libero elit.

Filozofia surowego Unixa

  • Narodziny w AT&T Unix: Polecenie touch pojawiło się po raz pierwszy w Version 7 Unix (V7) w 1979 roku, stworzone w Bell Labs. Powstało, aby rozwiązać konkretny problem: programiści potrzebowali prostego sposobu na odświeżanie znaczników czasu plików bez konieczności ich otwierania i ponownego zapisywania.

  • Ewolucja i standaryzacja POSIX: Z biegiem lat narzędzie trafiło do rozmaitych odmian systemu (takich jak BSD czy System V). W latach 80. i 90. składnia polecenia została ustandaryzowana przez normę POSIX, co zagwarantowało, że touch działa niemal identycznie na każdym systemie Unix i Unix-like.

  • Wersja GNU (Linux): Wraz z rozwojem projektu GNU powstała darmowa implementacja polecenia (coreutils), która trafiła do dystrybucji Linux. Wzbogaciła ona touch o bardziej intuicyjne składnie, np. możliwość podawania daty w formacie czytelnym dla człowieka (touch -d "2 days ago").

touch

Czym jest i jak działa touch?

Zasada działania programu jest prosta:

  • Jeśli plik nie istnieje – touch tworzy nowy, pusty plik o podanej nazwie.

  • Jeśli plik istnieje – touch aktualizuje czas jego ostatniego dostępu oraz ostatniej modyfikacji na bieżącą godzinę i datę, nie zmieniając zawartości pliku.

Podstawowe zastosowania i przykłady

1. Szybkie tworzenie pustego pliku Aby utworzyć nowy plik (lub kilka naraz), wystarczy podać ich nazwy po spacji:

Bash

touch plik.txt
touch dokument1.txt dokument2.txt dokument3.txt

2. Modyfikacja wybranego znacznika czasu

  • -a (access time) – zmienia wyłącznie czas ostatniego dostępu.

  • -m (modification time) – zmienia wyłącznie czas ostatniej modyfikacji.

Bash

touch -m plik.txt

3. Ustawienie konkretnej daty i godziny Dzięki fladze -t można ręcznie przypisać plikowi dowolną datę i czas (w formacie YYYYMMDDhhmm.ss):

Bash

touch -t 202601011200.00 stary_plik.txt

4. Zapobieganie tworzeniu nowych plików Flaga -c (no-create) gwarantuje, że jeśli plik nie istnieje, polecenie go nie utworzy:

Bash

touch -c plik.txt

Do czego przydaje się touch w praktyce?

  • Tworzenie struktury projektów: Narzędzie pozwala w kilka sekund przygotować puste pliki źródłowe czy konfiguracyjne.

  • Automatyzacja i systemy budowania (make): Systemy automatyzacji sprawdzają datę modyfikacji plików, aby zdecydować, co skompilować. Użycie touch wymusza ponowną kompilację bez ingerencji w kod.

  • Testowanie skryptów: Ułatwia symulowanie operacji na plikach o różnych datach (np. przy pisaniu skryptów czyszczących stare archiwum).