GNU/Linux >> Znalost Linux >  >> Linux

9 Užitečné příklady dotykových příkazů v Linuxu

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


Linux
  1. 12 Užitečné příklady příkazů Wget v Linuxu

  2. 7 Příklady příkazů Linux df

  3. 8 Příklady příkazů Linux TR

  1. Příkaz ls v Linuxu:17 vysvětlení užitečných příkladů

  2. 10 praktických příkladů dotykového příkazu na Linuxu

  3. 14 Užitečné příklady příkazů „cat“ v Linuxu

  1. 20 užitečných příkladů příkazů Docker v Linuxu

  2. 14 Užitečné příklady příkazů „ls“ v Linuxu

  3. dotykové příklady příkazů v systému Linux