Tuch

Mens du arbejder på kommandolinjen i Linux, ønsker du måske at oprette en ny fil. Eller der kan være tidspunkter, hvor kravet er at ændre tidsstemplerne for en fil. Der findes godt et værktøj, som du kan bruge i begge disse scenarier.

 

Hvad er touch

I Linux bruges touch kommando til at oprette filer, hvor tidsstemplet er et vigtigt punkt. Hvis du har erfaring med at arbejde med CSV filer, så ved du, hvor meget det er vigtigt at vedligeholde tidsstemplet i filer. Her kan tuch kommandoen ændre, og manipulere tidsstempel for filer.

Tuch kan også bruges til at oprette en fil uden noget indhold, når brugeren ikke har data, der skal gemmes på tidspunktet for filoprettelsen.

Du kan oprette alle typer filer fra selve kommandolinjen.

Dette er meget hurtigere end at oprette filen individuelt via forskellige applikationer som f.eks. Writer eller Calc dokument i LibreOffice og derefter "Gem som".

Touch er en lidt uhyggelig klingende kommando, men her er hvad den gør:

  • Beder dit system om at kigge efter en bestemt fil.
  • Hvis filen ikke allerede findes, opretter dit system den fil til dig.

 

Touch Kommandoindstillinger

Flag Betyder
-a Ændre kun på adgangstiden.
-c Hvis filen ikke findes, opret den ikke.
-d Opdater adgangs- og ændringstiderne.
-m Ændre kun ændringstiden.
-r Brug adgangs- og ændringstider for filen.
-t Opretter en fil ved brug af en bestemt tid.

 

Oprettelse af fil (filer) ved hjælp af touch

For at oprette en fil ved hjælp af tuch kommandoen skal du indtaste følgende terminal kommando.

$ touch fil4.txt

For at kontrollere, om filen er oprettet eller ej, skal du blot indtaste “ls -l” fra terminalen for at se listen over filer i biblioteket, og du vil se, at filen er oprettet.

Filen er i øjeblikket tom, den er oprettet 29 april 12:54 og fylder 0 Bytes. Men du kan åbne det når som helst fra terminal for at redigere indholdet, med følgende kommando.

$ xdg-open fil4.txt

Det er en tekstfil, så den bliver åbnet med din standard tekst editor. I det her tilfælde Pluma. Du kan så sætte tekst ind og gemme den som normalt.

Hvis vi igen indtaster “ls -l” i terminalen for at se listen over filer igen, vil du se at filen er ændret.

Vi kan nu se at den er ændret 29 april 14:55 og fylder nu 97 Bytes.

 

Tuch kommandoen kan bruges til at oprette flere filer på samme tid. Disse filer ville være tomme under oprettelsen.

Jeg vil nu oprette 3 filer til Calc regnark i LibreOffice med følgende kommando.

$ touch 1.ods 2.ods 3.ods

For at kontrollere, om filerne er oprettet eller ej, skal du blot indtaste “ls” fra terminalen for at se listen over filer i biblioteket, og du vil se, at filerne er oprettet.

 

Opret en række filer med touch

Touch-kommando tillader at oprette så mange filer, der er nødvendige med en lang række mønstre, f.eks.

 

$ touch {A..F}

$ touch {1..4}

$ touch {1..3}.mp3

Ved at bruge kommandoen ls -l efter oprettelse af filerne, vil du kunne se de oprettede filer.

 

Undgå at oprette nye filer

Dette giver mulighed for at ændre adgangstiden for en eksisterende fil i systemet uden at oprette filen igen. Til dette skal du bruges flaget "-c".

$ touch -c snubbi.jpg

Ændre adgangstidspunkt - tilgangstidspunkt - oprettelsestidspunkt med tuch

Som alle andre kommandoer, har touch kommandoen mange forskellige muligheder. Disse indstillinger er meget nyttige til forskellige formål.

touch -a Denne kommando ændrer kun filens adgangstid.

$ touch -a 1.ods

for at se tilgang til filen, udføres kommandoen.

$ stat 1.ods

 

Ved hjælp af flaget -m kan vi ændre den ændrede tilgang til filen.

$ touch -m 1.ods

for at se ændret tid, udføres kommamndoen

$ stat 1.ods

 

Hvis vi nu redigerer 1.ods med Calc i LibreOffice og udfører følgende kommando igen

$ stat 1.ods

Ja så kan vi se at følgende er ændret:
Adgang:
Redig.:
Ændret:
Opret.:
Og nu optager 41 bytes på hardisken

 

Vi er også herre over at ændre ændringstiden for flere filer samtidig, ved hjælp af wild cards *.

$ $ touch -m *.mp3

Det vil jeg så ikke gøre i det her tilfælde, fordi jeg ikke ønsker at ændre tider på mine .mp3 filer, men som du kan se er det muligt, med en rnkrlt kommando.

 

Både adgangstid og ændringstid kan ændres samtidigt..

$ $ touch -am 2.ods

for at se output, udfør følgende kommando.

$ stat 2.ods

 

touch -r Denne kommando bruges til at bruge tidsstemplet for en anden fil. Her opdateres 1.ods-filen med tidsstemplet for fil 2.ods.

$ touch -r 2.ods 1.ods

for at se output, udfør følgende kommando.

$ ls -l

 

Indstil et specifikt tidspunkt for adgang/ændring i stedet for det aktuelle tidspunkt

touch -t Dette bruges til at oprette en fil ved hjælp af en bestemt tid.

Syntax:

touch -t YYMMDDHHMM filNavn

$ touch -t 202004291627.33 test.txt

for at se output, udfør følgende kommando.

$ ls -l

 

i det følgende eksempel ændres den angivne tid, og den aktuelle dato indstilles.

$ touch -d 18:35 abc.txt

for at se output, udfør følgende kommando.

$ ls -l

 

Man kan også bruge -d parametren som parser en dato/tid streng. Eksempler:

$ touch -d "2020-04-30 20:17:36" test1

$ touch -d "tomorrow" test2

$ touch -d "tomorrow 20:30" test3

$ touch -d "next monday 19:30" test4

$ touch -d "+2 hours 30 minutes" test5

Eller standarden, touch test, som sætter tidsstemplet til lige nu.

Det var så det jeg vil skrive om tuch. Hvis du vil vide mere, så skriv man --help touch i terminalen, eller læs her: https://www.gnu.org/software/coreutils/manual/html_node/touch-invocation.html.

Alle eksempler er uført i, PCLinuxOS.