Dotykový příkaz se používá k vytváření prázdných souborů a také mění časová razítka existujících souborů v systému Unix a Linux. Změna časových razítek zde znamená aktualizaci času přístupu a úpravy souborů a adresářů.
Pojďme se podívat na syntaxi a možnosti používané v dotykovém příkazu
Syntaxe :# dotkněte se {options} {soubor}
Možnosti použité v dotykovém příkazu,
V tomto článku si projdeme 9 užitečných příkladů dotykových příkazů v Linuxu
Příklad:1 Vytvořte prázdný soubor pomocí dotyku
Chcete-li vytvořit prázdný soubor pomocí dotykového příkazu v systémech Linux, zadejte touch a za ním název souboru, příklad je uveden níže,
[[email protected] ~]# touch devops.txt [[email protected] ~]# ls -l devops.txt -rw-r--r--. 1 root root 0 Mar 29 22:39 devops.txt [[email protected] ~]#
Příklad:2 Hromadné vytváření prázdných souborů pomocí dotyku
Může nastat scénář, kdy musíme pro nějaké testování vytvořit spoustu prázdných souborů, toho lze snadno dosáhnout pomocí dotykového příkazu,
[[email protected] ~]# touch sysadm-{1..20}.txt
Ve výše uvedeném příkladu jsme vytvořili 20 prázdných souborů s názvem sysadm-1.txt na sysadm-20.txt, název a čísla můžete změnit podle svých požadavků.
Příklad:3 Změna / aktualizace času přístupu k souboru a adresáři
Předpokládejme, že chceme změnit dobu přístupu k souboru s názvem „devops.txt “, k tomu použijte „-a ‘ možnost v dotykovém příkazu následovaná názvem souboru, příklad je uveden níže,
[[email protected] ~]# touch -a devops.txt [[email protected] ~]#
Nyní pomocí příkazu „stat“
ověřte, zda byl aktualizován přístupový čas souboru nebo ne[[email protected] ~]# stat devops.txt File: ‘devops.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324178 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2018-03-29 23:03:10.902000000 -0400 Modify: 2018-03-29 22:39:29.365000000 -0400 Change: 2018-03-29 23:03:10.902000000 -0400 Birth: - [[email protected] ~]#
Změna doby přístupu k adresáři ,
Předpokládejme, že máme složku „nfsshare“ pod /mnt, změňme dobu přístupu této složky pomocí příkazu níže,
[[email protected] ~]# touch -a /mnt/nfsshare/ [[email protected] ~]#
[[email protected] ~]# stat /mnt/nfsshare/ File: ‘/mnt/nfsshare/’ Size: 6 Blocks: 0 IO Block: 4096 directory Device: fd00h/64768d Inode: 2258 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:mnt_t:s0 Access: 2018-03-29 23:34:38.095000000 -0400 Modify: 2018-03-03 10:42:45.194000000 -0500 Change: 2018-03-29 23:34:38.095000000 -0400 Birth: - [[email protected] ~]#
Příklad:4 Změna času přístupu bez vytvoření nového souboru
Mohou nastat situace, kdy chceme změnit přístupový čas souboru, pokud existuje, a vyhnout se vytvoření souboru. Pomocí „-c ‘ možnost v dotykovém příkazu, můžeme změnit čas přístupu k souboru, pokud existuje, a nevytvoříme soubor, pokud neexistuje.
[[email protected] ~]# touch -c sysadm-20.txt [[email protected] ~]# touch -c winadm-20.txt [[email protected] ~]# ls -l winadm-20.txt ls: cannot access winadm-20.txt: No such file or directory [[email protected] ~]#
Příklad:5 Změna Čas úpravy souboru a adresáře
Pomocí „-m ‘ možnost v dotykovém příkazu, můžeme změnit čas úpravy souboru a adresáře,
Pojďme změnit čas úpravy souboru s názvem „devops.txt“,
[[email protected] ~]# touch -m devops.txt [[email protected] ~]#
Nyní ověřte, zda byl čas modifikace změněn nebo ne pomocí příkazu stat,
[[email protected] ~]# stat devops.txt File: ‘devops.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324178 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2018-03-29 23:03:10.902000000 -0400 Modify: 2018-03-29 23:59:49.106000000 -0400 Change: 2018-03-29 23:59:49.106000000 -0400 Birth: - [[email protected] ~]#
Podobně můžeme změnit čas úpravy adresáře,
[[email protected] ~]# touch -m /mnt/nfsshare/ [[email protected] ~]#
Příklad:6 Změna přístupu a času úpravy najednou
Použijte „-am ” možnost v dotykovém příkazu pro změnu přístupu a úpravy společně nebo najednou, příklad je uveden níže,
[[email protected] ~]# touch -am devops.txt [[email protected] ~]#
Křížově ověřte přístup a čas úprav pomocí stat,
[[email protected] ~]# stat devops.txt File: ‘devops.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324178 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2018-03-30 00:06:20.145000000 -0400 Modify: 2018-03-30 00:06:20.145000000 -0400 Change: 2018-03-30 00:06:20.145000000 -0400 Birth: - [[email protected] ~]#
Příklad:7 Nastavení času přístupu a úprav na konkrétní datum a čas
Kdykoli změníme přístup a čas úpravy souboru a adresáře pomocí dotykového příkazu, nastaví aktuální čas jako čas přístupu a úpravy tohoto souboru nebo adresáře,
Předpokládejme, že chceme nastavit konkrétní datum a čas jako čas přístupu a úpravy souboru, toho lze dosáhnout pomocí volby „-c“ &„-t“ v dotykovém příkazu,
Datum a čas lze zadat ve formátu:{CCYY}MMDDhhmm.ss
Kde:
- CC – první dvě číslice roku
- YY – druhé dvě číslice roku
- MM – měsíc v roce (01-12)
- DD – den v měsíci (01-31)
- hh – hodina dne (00-23)
- mm – minuty v hodině (00-59)
Pojďme nastavit čas přístupu a úpravy souboru devops.txt pro budoucí datum a čas (rok 2025, 10. měsíc, 19. den v měsíci, 18. hodin a 20. minuta)
[[email protected] ~]# touch -c -t 202510191820 devops.txt
Pomocí příkazu stat zobrazíte přístup k aktualizaci a čas úprav,
Nastavte čas přístupu a úpravy na základě datového řetězce, použijte volbu „-d“ v dotykovém příkazu a poté zadejte řetězec data následovaný názvem souboru, příklad je uveden níže,
[[email protected] ~]# touch -c -d "2010-02-07 20:15:12.000000000 +0530" sysadm-29.txt [[email protected] ~]#
Ověřte stav pomocí příkazu stat,
[[email protected] ~]# stat sysadm-20.txt File: ‘sysadm-20.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768d Inode: 67324189 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2010-02-07 20:15:12.000000000 +0530 Modify: 2010-02-07 20:15:12.000000000 +0530 Change: 2018-03-30 10:23:31.584000000 +0530 Birth: - [[email protected] ~]#
Poznámka: Pokud ve výše uvedených příkazech nespecifikujeme ‚-c‘, příkaz touch vytvoří nový soubor v případě, že v systému neexistuje, a nastaví časová razítka podle toho, co je uvedeno v příkazu.
Příklad:8 Nastavení časových razítek na soubor pomocí referenčního souboru (-r)
V dotykovém příkazu můžeme použít referenční soubor pro nastavení časových razítek souboru nebo adresáře. Předpokládejme, že chci nastavit stejná časová razítka souboru „sysadm-20.txt“ na soubor „devops.txt“. Toho lze snadno dosáhnout pomocí možnosti „-r“ v kontaktu.
Syntaxe: # touch -r {reference-file} skutečný-soubor
[[email protected] ~]# touch -r sysadm-20.txt devops.txt [[email protected] ~]#
Příklad:9 Změna času přístupu a úprav v souboru symbolického odkazu
Ve výchozím nastavení, kdykoli se pokusíme změnit časová razítka souboru se symbolickým odkazem pomocí dotykového příkazu, změní se pouze časová razítka původního souboru. V případě, že chcete změnit časová razítka souboru se symbolickým odkazem, lze toho dosáhnout pomocí '-h' možnost v dotykovém příkazu,
Syntaxe: # touch -h {symbolický odkazový soubor}
[[email protected] opt]# ls -l /root/linuxgeeks.txt lrwxrwxrwx. 1 root root 15 Mar 30 10:56 /root/linuxgeeks.txt -> linuxadmins.txt [[email protected] ~]# touch -t 203010191820 -h linuxgeeks.txt [[email protected] ~]# ls -l linuxgeeks.txt lrwxrwxrwx. 1 root root 15 Oct 19 2030 linuxgeeks.txt -> linuxadmins.txt [[email protected] ~]#
To je vše z tohoto tutoriálu, doufám, že vám tyto příklady pomohou porozumět dotykovým příkazům. Podělte se prosím o své cenné zpětné vazby a komentáře.
Přečtěte si více na : 17 užitečných příkladů příkazů rsync (vzdálená synchronizace) v systému Linux