Někdy při práci na příkazovém řádku v Linuxu možná budete chtít vytvořit nový soubor. Nebo mohou nastat situace, kdy je potřeba změnit časová razítka souboru. No, existuje nástroj, který můžete použít v obou těchto scénářích. Dotyčný nástroj je dotykový a v tomto tutoriálu porozumíme jeho základním funkcím prostřednictvím snadno srozumitelných příkladů.
Upozorňujeme, že všechny příklady, které zde budeme používat, byly testovány na počítači Ubuntu 16.04.
Příkaz Linux Touch
Příkaz touch se primárně používá ke změně časových razítek souboru, ale pokud soubor (jehož název je předán jako argument) neexistuje, nástroj jej vytvoří.
Následuje obecná syntaxe příkazu:
touch [OPTION]... FILE...
A zde je návod, jak manuálová stránka vysvětluje tento příkaz:
DESCRIPTION
Update the access and modification times of each FILE to the current
time. A FILE argument that does not exist is created empty, unless -c or -h
is supplied. A FILE argument string of - is handled specially and causes touch to
change the times of the file associated with standard output.
Následující příklady typu Q&A vám poskytnou lepší představu o tom, jak nástroj funguje.
1. Jak změnit čas přístupu/úpravy pomocí dotykového příkazu
To je jednoduché a docela přímočaré. Vezměme si jako příklad existující soubor. Následující snímek obrazovky ukazuje časy přístupu a úprav pro soubor s názvem 'apl.c.'
Zde je návod, jak můžete pomocí dotykového příkazu změnit přístup k souboru a časy úprav:
touch apl.c
Následující snímek obrazovky potvrzuje změnu těchto časových razítek.
2. Jak změnit pouze přístup nebo čas úpravy
Ve výchozím nastavení dotykový příkaz mění časy přístupu i modifikace vstupního souboru. Pokud však chcete, můžete toto chování omezit na kterékoli z těchto časových razítek. To znamená, že můžete buď změnit přístupový čas nebo změnit časové razítko.
V případě, že chcete změnit pouze čas přístupu, použijte volbu -a příkazového řádku.
touch -a [filename]
Podobně, pokud je požadavkem změnit pouze čas úpravy, použijte volbu -m příkazového řádku.
touch -m [filename]
3. Jak dosáhnout toho, aby dotyk používal časy přístupu/úprav existujícího souboru
Pokud chcete, můžete také přinutit dotykový příkaz ke zkopírování časových razítek přístupu a úprav z referenčního souboru. Předpokládejme například, že chceme změnit časová razítka pro soubor 'apl.c'. Zde jsou aktuální časová razítka pro tento soubor:
A toto je soubor, který chcete použít jako referenci:
Nyní, abyste mohli dotykem použít časová razítka 'apl' pro 'apl.c', budete muset použít volbu -r příkazového řádku následujícím způsobem:
touch apl.c -r apl
Výše uvedený snímek obrazovky ukazuje, že časová razítka úprav a přístupu pro 'apl.c' jsou nyní stejná jako pro 'apl.'
4. Jak vytvořit nový soubor pomocí touch
Vytvoření nového souboru je také velmi snadné. Ve skutečnosti se to stane automaticky, pokud název souboru, který předáte jako argument dotykovému příkazu, neexistuje. Chcete-li například vytvořit soubor s názvem 'newfile', vše, co musíte udělat, je spustit následující dotykový příkaz:
touch newfile
5. Jak vynutit dotyk, aby nevytvářel žádný nový soubor
V případě, že existuje přísný požadavek, aby příkaz touch nevytvářel žádné nové soubory, můžete použít volbu -c.
touch -c [filename]
Následující snímek obrazovky ukazuje, že protože 'newfile12' neexistoval a použili jsme volbu -c příkazového řádku, příkaz touch soubor nevytvořil.
6. Jak funguje dotyk v případě symbolických odkazů
Pokud předáte dotykovému příkazu název souboru se symbolickým odkazem, změna časových razítek přístupu a úprav bude ve výchozím nastavení pro původní soubor (ten, na který symbolický odkaz odkazuje). Nástroj však také nabízí možnost (-h), která vám umožní toto chování přepsat.
Zde je návod, jak manuálová stránka vysvětluje volbu -h:
-h, --no-dereference
affect each symbolic link instead of any referenced file (useful
only on systems that can change the timestamps of a symlink)
Pokud tedy chcete změnit časová razítka modifikace a přístupu pro symbolický odkaz (a ne původní soubor), použijte dotykový příkaz následujícím způsobem:
touch -h [sym link file name]
Závěr
Jak jistě souhlasíte, dotyk není složitý příkaz k pochopení a použití. Příklady/možnosti, které jsme probrali v tomto tutoriálu, by vám měly stačit k tomu, abyste s nástrojem začali. Zatímco nováčci většinou zjistí, že tuto utilitu používají k vytváření nových souborů, zkušenější uživatelé si s ní hrají i pro mnoho dalších účelů. Pro více informací o dotykovém příkazu přejděte na jeho manuálovou stránku.