Příkaz touch nám umožňuje aktualizovat časová razítka existujících souborů a adresářů a také vytvářet nové prázdné soubory.
V této příručce vám na praktických příkladech a podrobných vysvětleních nejběžnějších možností příkazů ukážeme, jak používat dotykový příkaz.
Časová razítka souborů Linux #
Než přejdeme k tomu, jak používat dotykový příkaz, začněme tím, že si prohlédneme časová razítka souborů v Linuxu.
Soubor v Linuxu má tři časová razítka:
- atime (čas přístupu) – Čas posledního přístupu/otevření souboru nějakým příkazem nebo aplikací, jako je cat, vim nebo grep.
- mtime (čas úpravy) – čas poslední úpravy obsahu souboru.
- ctime (čas změny) – čas poslední změny atributu nebo obsahu souboru. Atribut zahrnuje oprávnění k souboru, vlastnictví souboru nebo umístění souboru.
Chcete-li zobrazit stav souboru včetně časových razítek, použijte stat
příkaz.
stat file_name
Vytvoření nového souboru vyžaduje oprávnění k zápisu do nadřazeného adresáře. V opačném případě se zobrazí chyba oprávnění odepřeno.
Jak používat dotykový příkaz #
V nejjednodušší formě při použití bez jakýchkoli možností, pokud název souboru zadaný jako argument neexistuje, klepnutím vytvoříte nový soubor.
Pokud soubor již existuje, dotykem změníte poslední přístup k souboru a časy úprav na aktuální čas.
Pokud je například soubor file1
neexistuje, následující příkaz jej vytvoří, jinak změní jeho časová razítka:
touch file1
Chcete-li vytvořit nebo upravit více souborů najednou, zadejte názvy souborů jako argumenty:
touch file1 file2 file3
Pokud nechcete, aby dotykový příkaz vytvářel nové soubory, použijte -c
(--no-create
).
Pokud je například soubor file1
existovat následující příkaz změní časová razítka souboru, jinak neudělá nic:
touch -c file1
Změna pouze přístupů nebo časů úprav #
Ve výchozím nastavení, pokud není použita žádná možnost, dotyk aktualizuje poslední přístup k souboru a časy úprav na aktuální čas. Pomocí -a
a -m
možnostech, můžete změnit pouze jedno z těchto časových razítek.
Změnit pouze čas přístupu #
Použijte -a
možnost změnit pouze čas přístupu k souboru:
touch -a file1
Změnit pouze čas úpravy #
Použijte -m
možnost změnit čas úpravy souboru:
touch -m file1
Při změně času úpravy se aktualizuje také čas změny.
Nastavení konkrétních časových razítek #
Dotykový příkaz nám také umožňuje aktualizovat nebo vytvořit soubor se specifickým časem jiným, než je aktuální čas.
Použijte -d
(--date=
) možnost zadat řetězec data a použít jej místo aktuálního času.
Chcete-li například změnit jak poslední přístup, tak časy úprav file1
do 1. června 2018 11:02 byste použili následující příkaz:
touch -d '1 June 2018 11:02' file1
Řetězec data musí být uzavřen v jednoduchých uvozovkách.
K dotykovému příkazu můžete také zadat částečný řetězec data a času. Zadáte-li pouze datum, automaticky se změní rok na aktuální:
touch -d '12 June' file1
Použijte -t
možnost zadat časové razítko a použít jej místo aktuálního času. Argument časového razítka musí být v následujícím formátu:
use [[CC]YY]MMDDhhmm[.ss]
Například následující příkaz nastaví čas posledního přístupu a úpravy file1
do 1. června 11:02 běžného roku.
touch -t 06011102 file1
Použití časového razítka jiného souboru #
-r
(--reference=
) nám umožňuje zadat referenční soubor a použít jeho časová razítka místo aktuálního času.
Například následující příkaz řekne dotyku, aby použil časy file1
pro file2
:
touch -r file1 file2
Změna časového razítka symbolického odkazu #
Ve výchozím nastavení, pokud použijete dotykový příkaz na symbolickém odkazu, změní se časová razítka odkazovaného souboru.
Použijte -h
(--no-dereference
), chcete-li upravit časové razítko symbolického odkazu.
Chcete-li například změnit časová razítka symbolického odkazu symlink1
byste použili:
touch -h symlink1
Závěr č.
Nyní byste měli dobře rozumět tomu, jak používat dotykový příkaz Linux.