De opdrachtaanraking is erg handig bij dagelijks gebruik, het is handig om bestandsoverdrachten te testen door lege bestanden te maken om te testen, de mogelijkheid hebben om dummy-bestanden te maken om alles mee te doen wat we willen, kan op elk moment helpen, bijvoorbeeld om een Linux-opdracht te testen die rechtstreeks samenwerkt met een bestand, voor opdrachten zoals afvegen, srm, of versnipperen je wilt geen echte bestanden proberen.
Als we de opdracht 'touch' gebruiken met de naam van een bestaand bestand, wordt er door aanraken geen nieuw bestand gemaakt, maar worden de tijdstempels van het bestand bijgewerkt. Aan de andere kant zou het handig zijn om de tijdstempels te wijzigen als we willen voorkomen dat iemand weet dat we een bestand hebben geopend dat de echte datum en tijd vervalst waarop het echt is geopend.
Tijdstempels
Linux-bestanden hebben 3 tijdstempels: atime, mtime en ctime.
een tijd: atime bevat informatie over wanneer de bestandsinhoud is gelezen met tools of opdrachten om de inhoud van het bestand weer te geven, zoals less, nano, vi, vim, cat, grep, head, enz. De atime-tijdstempel verandert en wordt elke keer dat het bestand wordt bekeken bijgewerkt.
mtime: mtime toont de laatste wijziging van de inhoud van een bestand, inclusief de naam, maar niet het eigendom of de machtigingen, alleen het bestand zelf.
ctime: like mtime ctime laat ook zien wanneer een bestand is gewijzigd, maar het wordt ook bijgewerkt wanneer eigendom, groeps- of machtigingstoegang tot een bestand is gewijzigd. We kunnen de atime en mtime bewerken, maar we kunnen de ctime niet bewerken, de tijd wordt bijgewerkt wanneer de machtigingen van een bestand worden bewerkt of wanneer de bestanden echt worden gelezen of gewijzigd
Het atime-tijdstempel bewerken:
Laten we, voordat we de tijdstempels van een bestand zien, het maken door te typen:
$ raak Linux aan Hint Leeg bestand$ ls
LinuxHintLeegBestand
Waar:
touch = maakt een leeg bestand aan met de naam LinuxHintEmptyFIle
ls = lijst bestanden in de map
Om nu de tijdstempels van het bestand in het terminaltype te zien
$ stat LinuxHintEmptyFileBestand: LinuxHintEmptyFile
Grootte: 0 Blocks: 0 IO Block: 4096 normaal leeg bestand
Apparaat: 802h/2050d Inode: 13766630 Links: 1
Toegang: (0644/-rw-r--r--) Uid: ( 1003/linuxhint) Gid: ( 1003/linuxhint)
Toegang: 2019-05-14 22:57:09.320314528 +0300
Wijzigen: 2019-05-14 22:57:09.320314528 +0300
Wijziging: 2019-05-14 22:57:09.320314528 +0300
Geboorte: -
De opdrachtstatistiek toont de toegangsrechten, laatste toegang (atime), laatste wijziging (mtime) en laatste wijziging (ctime).
Aangezien het bestand onlangs is gemaakt, zijn de datum en tijd hetzelfde, laten we de machtigingen van het bestand wijzigen om het outputverschil van de stat te zien:
$ chmod -777 LinuxHintEmptyFile$ stat LinuxHintEmptyFile
Bestand: LinuxHintEmptyFile
Grootte: 0 Blocks: 0 IO Block: 4096 normaal leeg bestand
Apparaat: 802h/2050d Inode: 13766630 Links: 1
Toegang: (0000/----------) Uid: ( 1003/linuxhint) Gid: ( 1003/linuxhint)
Toegang: 2019-05-14 22:57:09.320314528 +0300
Wijzigen: 2019-05-14 22:57:09.320314528 +0300
Wijziging: 2019-05-14 23:23:55.968391139 +0300
Geboorte: -
Waar:
Chmod -777: verwijdert alle rechten op het bestand LinuxHintEmptyFile.
stat: toont de tijdstempels van het bestand
In de bovenstaande afbeelding kunnen we zien dat de ctime (wijziging) is bijgewerkt.
Laten we het bestand nu bewerken naar 1/2/99, typ:
$ touch -a --date = "1999-02-01" LinuxHintEmptyFile$ stat LinuxHintEmptyFile
Bestand: LinuxHintEmptyFile
Grootte: 0 Blocks: 0 IO Block: 4096 normaal leeg bestand
Apparaat: 802h/2050d Inode: 13766630 Links: 1
Toegang: (0000/----------) Uid: ( 1003/linuxhint) Gid: ( 1003/linuxhint)
Toegang: 1999-02-01 00:00:00.000000000 +0200
Wijzigen: 2019-05-14 22:57:09.320314528 +0300
Wijziging: 2019-05-14 23:34:32.964421513 +0300
Geboorte: -
Als u ook het datumtoegangstype wilt wijzigen:
$ touch -a --date = "1999-02-01 21:35" LinuxHintEmptyFile$ stat LinuxHintEmptyFile
Bestand: LinuxHintEmptyFile
Grootte: 0 Blocks: 0 IO Block: 4096 normaal leeg bestand
Apparaat: 802h/2050d Inode: 13766630 Links: 1
Toegang: (0000/----------) Uid: ( 1003/linuxhint) Gid: ( 1003/linuxhint)
Toegang: 1999-02-01 21:35:00.000000000 +0200
Wijzigen: 2019-05-14 22:57:09.320314528 +0300
Wijziging: 2019-05-14 23:42:49.016445166 +0300
Geboorte: -
Het mtime-tijdstempel bewerken:
De syntaxis om mtime te bewerken is hetzelfde, om de ctime te wijzigen in 1989.02.01 soort:
$ touch -m --date="1989-02-01" LinuxHintLeeg bestandFi$ stat LinuxHintEmptyFile
Bestand: LinuxHintEmptyFile
Grootte: 0 Blokken: 0 IO-blok: 4096 normaal leeg bestand
Apparaat: 802h/2050d Inode: 13766630 Links: 1
Toegang: (0000/----------) Uid: ( 1003/linuxhint) Gid: ( 1003/linuxhint)
Toegang: 1999-02-01 21:35:00.000000000 +0200
Wijzigen: 1989-02-01 00:00:00.000000000 +0200
Wijziging: 2019-05-14 23:49:56.560465553 +0300
Geboorte: -
Nu kunt u zien dat de wijzigingsdatum is bijgewerkt, om ook de tijd bij te werken, op dezelfde manier met atime-type:
$ touch -m --date="1989-02-01 20:22" LinuxHintEmptyFile$ stat LinuxHintEmptyFile
Bestand: LinuxHintEmptyFile
Grootte: 0 Blocks: 0 IO Block: 4096 normaal leeg bestand
Apparaat: 802h/2050d Inode: 13766630 Links: 1
Toegang: (0000/----------) Uid: ( 1003/linuxhint) Gid: ( 1003/linuxhint)
Toegang: 1999-02-01 21:35:00.000000000 +0200
Wijzigen: 1989-02-01 20:22:00.000000000 +0200
Wijziging: 2019-05-14 23:52:10.156471924 +0300
Geboorte: -
Laten we nu een tweede bestand maken en we zullen de opdracht touch gebruiken om de tijdstempels van een bestand op de tweede te kopiëren:
$ raak LHFile2 . aan$ stat LHFile2
Bestand: LHFile2
Grootte: 0 Blocks: 0 IO Block: 4096 normaal leeg bestand
Apparaat: 802h/2050d Inode: 13766635 Links: 1
Toegang: (0644/-rw-r--r--) Uid: ( 1003/linuxhint) Gid: ( 1003/linuxhint)
Toegang: 2019-05-15 00:02:14.020500718 +0300
Wijzigen: 2019-05-15 00:02:14.020500718 +0300
Wijziging: 2019-05-15 00:02:14.020500718 +0300
We hebben een bestand geopend, gewijzigd en gewijzigd in 2019-05-15 00:02:14, om de bestandstijdstempels te kopiëren van het bestand LinuxHintEmptyFile type:
$ touch -r LinuxHintEmptyFile LHFile2$ stat LHFile2
Bestand: LHFile2
Grootte: 0 Blokken: 0 IO-blok: 4096 normaal leeg bestand
Apparaat: 802h/2050d Inode: 13766635 Links: 1
Toegang: (0644/-rw-r--r--) Uid: ( 1003/linuxhint) Gid: ( 1003/linuxhint)
Toegang: 1999-02-01 21:35:00.000000000 +0200
Wijzigen: 1989-02-01 20:22:00.000000000 +0200
Wijziging: 2019-05-15 00:03:11.592503463 +0300
Geboorte: -
Zoals je nu ziet delen beide bestanden dezelfde tijdstempels.
Als we alle tijdstempels naar de huidige tijd willen veranderen, hoeven we alleen "touch" te typen:
$ stat LHFile2Bestand: LHFile2
Grootte: 0 Blocks: 0 IO Block: 4096 normaal leeg bestand
Apparaat: 802h/2050d Inode: 13766635 Links: 1
Toegang: (0644/-rw-r--r--) Uid: ( 1003/linuxhint) Gid: ( 1003/linuxhint)
Toegang: 1999-02-01 21:35:00.000000000 +0200
Wijzigen: 1989-02-01 20:22:00.000000000 +0200
Wijziging: 2019-05-15 00:03:11.592503463 +0300
Geboorte: -
$ raak LHFile2 . aan
$ stat LHFile2
Bestand: LHFile2
Grootte: 0 Blokken: 0 IO-blok: 4096 normaal leeg bestand
Apparaat: 802h/2050d Inode: 13766635 Links: 1
Toegang: (0644/-rw-r--r--) Uid: ( 1003/linuxhint) Gid: ( 1003/linuxhint)
Toegang: 2019-05-15 00:08:51.652519679 +0300
Wijzigen: 2019-05-15 00:08:51.652519679 +0300
Wijziging: 2019-05-15 00:08:51.652519679 +0300
Geboorte: -
Zoals je de tweede ziet stat toont de bijgewerkte een tijd, mtime en ctime na het commando aanraken.
Ik hoop dat deze tutorial nuttig was als inleiding tot de opdrachtaanraking, voor meer informatie over dit opdrachttype "man aanraking”, neem voor vragen contact met ons op door een ticketondersteuning te openen bij LinuxHint Support. Blijf Linux volgen Hint voor meer tips en updates over Linux.