Articles

Linux touch commando tutorial voor beginners (6 voorbeelden)

Posted on

Tijdens het werken op de opdrachtregel in Linux wil je soms een nieuw bestand maken. Of soms moet je de tijdstempels van een bestand wijzigen. Welnu, er bestaat een hulpprogramma dat je in beide scenario’s kunt gebruiken. De tool in kwestie is touch, en in deze tutorial zullen we de basisfunctionaliteit ervan begrijpen aan de hand van eenvoudig te begrijpen voorbeelden.

Let op dat alle voorbeelden die we hier zullen gebruiken zijn getest op een Ubuntu 16.04 machine.

Linux Touch commando

Het touch commando wordt primair gebruikt om de timestamps van bestanden te wijzigen, maar als het bestand (waarvan de naam als argument wordt doorgegeven) niet bestaat, dan maakt de tool het aan.

Hier volgt de algemene syntaxis van het commando:

touch ... FILE...

En hier is hoe de man page dit commando uitlegt:

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.

De volgende voorbeelden van het Q&A-type geven u een beter idee van hoe de tool werkt.

Hoe verander ik de toegangs-/wijzigingstijd met het touch commando

Dit is eenvoudig, en behoorlijk recht-toe-recht-aan. Laten we een bestaand bestand als voorbeeld nemen. De volgende schermafbeelding toont de toegangs- en wijzigingstijden voor een bestand met de naam ‘apl.c.’

Hier ziet u hoe u het touch-commando kunt gebruiken om de toegangs- en wijzigingstijden van het bestand te wijzigen:

touch apl.c

De volgende schermafbeelding bevestigt de wijziging in deze tijdstempels.

Hoe alleen toegangs- of wijzigingstijd te wijzigen

Het aanraak-commando wijzigt standaard zowel de toegangs- als de wijzigingstijden van het invoerbestand. Als u wilt, kunt u dit gedrag echter beperken tot een van deze tijdstippen. Dit betekent dat u ofwel de toegangstijd ofwel de wijzigingstijd kunt laten veranderen.

Wilt u alleen de toegangstijd veranderen, gebruik dan de -a command line optie.

touch -a 

Zo ook, als de eis is om alleen de wijzigingstijd te veranderen, gebruik dan de -m command line optie.

touch -m 

Hoe touch gebruik te laten maken van toegangs-/wijzigingstijden van bestaand bestand

Als u wilt, kunt u het touch commando ook forceren om toegangs- en wijzigingstijdstippen te kopiëren van een referentiebestand. Bijvoorbeeld, stel dat we de timestamps voor het bestand ‘apl.c’ willen wijzigen. Dit zijn de huidige tijdstempels voor dit bestand:

En dit is het bestand dat u met touch als referentie wilt gebruiken:

Nu, om touch de tijdstempels van ‘apl’ te laten gebruiken voor ‘apl.c’ te gebruiken, moet u de opdrachtregeloptie -r op de volgende manier gebruiken:

touch apl.c -r apl

Het bovenstaande screenshot laat zien dat de tijdstempels voor wijziging en toegang voor ‘apl.c’ nu dezelfde zijn als die voor ‘apl.’

Hoe maak je een nieuw bestand met touch

Het maken van een nieuw bestand is ook heel eenvoudig. In feite gebeurt dit automatisch als de bestandsnaam die u als argument aan het touch commando geeft, niet bestaat. Om bijvoorbeeld een bestand met de naam ‘newfile’ te maken, hoeft u alleen maar het volgende touch commando uit te voeren:

touch newfile

Hoe touch te dwingen geen nieuw bestand te maken

In het geval dat er een strikte eis is dat het touch commando geen nieuwe bestanden mag maken, dan kunt u de -c optie gebruiken.

touch -c 

De volgende schermafbeelding laat zien dat aangezien ‘newfile12’ niet bestond, en we de -c commandoregeloptie hebben gebruikt, de touch-opdracht het bestand niet heeft gemaakt.

Hoe werkt touch in het geval van symbolische koppelingen

Als u een bestandsnaam met een symbolische koppeling doorgeeft aan de touch-opdracht, geldt de wijziging van de toegangs- en wijzigingstijdstempels standaard voor het oorspronkelijke bestand (het bestand waarnaar de symbolische koppeling verwijst). Het programma biedt echter ook een optie (-h) waarmee je dit gedrag kunt opheffen.

Hier leest u hoe de man page de -h optie uitlegt:

-h, --no-dereference
affect each symbolic link instead of any referenced file (useful
only on systems that can change the timestamps of a symlink)

Wanneer u dus de modificatie- en toegangstijdstempels voor de symbolische koppeling (en niet voor het oorspronkelijke bestand) wilt veranderen, gebruikt u het commando touch op de volgende manier:

touch -h 

Conclusie

Zoals je zult begrijpen, is touch geen moeilijk commando om te begrijpen en te gebruiken. De voorbeelden/opties die we in deze tutorial hebben besproken zouden genoeg moeten zijn om je op weg te helpen met het gereedschap. Nieuwelingen zullen het vooral gebruiken om nieuwe bestanden te maken, maar meer ervaren gebruikers kunnen het ook voor andere doeleinden gebruiken. Voor meer informatie over het touch commando, ga naar de man pagina.

Linux touch commando tutorial voor beginners (6 voorbeelden)

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *