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.