Hur du vill Visa Datum och Tid i Linux-Terminal (och Använda Det I Bash-Skript)

0
953
Fatmawati Achmad Zaenuri/Shutterstock.kom

Kommandot date finns i Bash-skalet, vilket är standard skal i de flesta Linux-distributioner och även macOS. Denna handledning visar dig hur du bemästrar datum på kommandoraden och hur du kan använda det i shell-skript för att göra mer än att bara skriva ut den gången.

Kör kommandot date för att se denna information. Det skriver dagens datum och tid för din tidszon:

datum

Standard formatering ser lite fånig. Varför är inte året tryckt efter den månad och dag, i stället för att bli taggade på slutet, bakom tidszon? Ha ingen fruktan: Om det är kontroll över format av den effekt du vill ha, datum levererar det i spader. Det finns mer än 40 alternativ som du kan vidarebefordra till datum för att instruera den att formatera utdata exakt som du vill.

Att använda något av alternativen typ datum, en plats, ett plustecken ( + , och alternativet bland annat den ledande procenttecken. %C (data och tid i språk-format) alternativet gör att datum och tid ska skrivas ut i den normaliserade format i samband med ditt språk. Ditt språk är satt av de kulturella och geografiska information som du angav när du installerat operativsystemet. Lokalen reglerar sådana saker som valuta symbol, papper av olika storlek, tidszon, och andra kulturella normer.

date +%c

I år visas nu i en mer naturlig position i produktionen.

Du kan skicka flera alternativ till datum på en gång. En sekvens av alternativ kallas en formatsträng. För att se namnet på dagen (%), dag och månad (%d) och månadens namn (%B) använd det här kommandot:

date +%A%d%B

Det fungerade, men det är fult. Inga problem, vi kan omfatta utrymmen så länge vi svepa hela format sträng inom citationstecken. Observera att + går utanför citattecknen.

date +”%A %d %B”

Du kan lägga till text i format sträng, så här:

date +”Idag är: %A %d %B”

Bläddra upp och ned genom datum på sidan man söker efter de alternativ som du vill, det blir snabbt tröttsamt. Vi har wrangled alternativ i grupper för att hjälpa dig hitta din väg runt dem lättare.

Alternativ för att Visa Datum och Tid

  • %c: Skriver ut datum och tid i formatet för ditt språk, inklusive tidszon.

Alternativ för att Visa Datum

  • %D: skriv ut datum mm/dd/yy-format.
  • %F: Skriver ut datum åååå-mm-dd format.
  • %x: skriv ut datum formatet för ditt språk.

Alternativ för att Visa Dag

  • %ett: Skriver ut namnet på denna dag, förkortat Mon, Tue, Wed, etc.
  • %Ett: Skriver ut det fullständiga namnet av den dag, måndag, tisdag, onsdag, etc.
  • %u: Skriver ut numret på den dag i veckan, där måndag=1, tisdag=2, onsdag=3, osv.
  • %w: Skriver ut numret på den dag i veckan, där söndag=0, måndag=1, tisdag=2 osv.
  • %d: Skriver ut den dag i månaden, med en inledande nolla (01, 02 … 09) om det behövs.
  • %e: Skriver ut den dag i månaden, med en ledande utrymme (‘ 1’, ‘2’ … ‘9’) om det krävs. Observera apostrofer inte ut.
  • %j: Skriver ut den dagen på året, med upp till två inledande nollor, om det behövs.

Alternativ för att Visa Vecka

  • %U: Skriver veckans nummer av året, med tanke på söndag som första dag i veckan. Till exempel, den tredje veckan av året, tjugonde veckan på året, etc.
  • %V: Utskrift av ISO-veckonummer i år, med tanke på måndag som första dag i veckan.
  • %W: Vecka nummer av året, med tanke på måndag som första dag i veckan.

Alternativ för att Visa Månad

  • %b eller %h: Skriver ut månadens namn förkortat till Jan, Feb, Mar, etc.
  • %B: skriver ut det fullständiga namnet av den månad, januari, februari, Mars osv.
  • %m: Skriver ut numret på den månad, med en inledande nolla om det behövs 01, 02, 03 … 12.

Alternativ för att Visa År

  • %C: Skriver ut talet utan år. 2019 att det skulle skriva ut 20.
  • %y: Skriver ut det år som två siffror. 2019 kommer den att skrivas ut 19.
  • %Y: Skriver ut året med fyra siffror.

Alternativ för att Visa Tiden

  • %T: Skriver ut den tid som HH:MM:SS.
  • %R: Skriver ut den i timmar och minuter som HH:MM med några sekunder, du använder 24-timmarsformat.
  • %r: Skriver ut tiden enligt ditt språk, med hjälp av 12-timmars klocka och en am eller pm indikator.
  • %X: Skriver ut tiden enligt ditt språk, att använda 24-timmarsformat. Påstås. Observera att vid provning detta alternativ betedde sig exakt som %r, som visas nedan. På en Linux-dator som är konfigurerad för STORBRITANNIEN lokalen och satt till GMT, det tryckta tiden, med hjälp av 24-timmars klocka med nr AM eller PM indikator, som väntat.

Alternativ för att Visa Timme

  • %H: Skriver ut den timme 00, 01, 02…23.
  • %Jag: Skriver ut den timme du använder 12-timmars klocka, 00, 01, 02 … 12, med en inledande nolla om det behövs.

Alternativ för att Visa Minuter

  • %M: skriver ut den minut, 01, 02, 03 … 59, med en inledande nolla om det behövs.

Alternativ för att Visa Sekunder

  • %s: Utskrift antal sekunder sedan 1970-01-01 00:00:00, Unix Epok.
  • %S: Skriver sekunder, 01, 02, 03 … 59, med en inledande nolla om det behövs.
  • %Nav: Skriver ut den Nanosekunder.

Alternativ för att Visa Information Tidszon

  • %z: Skriver ut tidsskillnaden mellan din tidszon och UTC.
  • %:z: Skriver ut tidsskillnaden mellan din tidszon och UTC, med en : mellan timmar och minuter. Notera : mellan % – tecknet och z .
  • %::z: Skriver ut tidsskillnaden mellan din tidszon och UTC, med en : mellan timmar, minuter och sekunder. Notera :: mellan % – tecknet och z .
  • %Z: Skriver ut den alfabetiska tidszon namn.

Alternativ för Formatering

  • %p: Skriver ut AM eller PM indikator i versaler.
  • %P: Skriver ut am eller pm indikator i gemener. Obs sarkasm med dessa två alternativ. Ett gement s ger versaler utgång, en versaler S ger gemener utgång.
  • %t: Skriver ut en flik.
  • %nav: Skriver ut en ny linje.

Alternativ för att Ändra Andra Alternativ

Dessa modifierare kan infogas mellan % och möjlighet brev av andra alternativ för att ändra sin visning. Till exempel, %-S skulle ta bort den inledande nolla för ensiffriga sekunder värden.

  • : En enda bindestreck förhindrar noll utfyllnad på ensiffriga värden.
  • _: en enda understreck lägger ledande utrymmen för ensiffriga värden.
  • 0: Ger inledande nolla för ensiffriga värden.
  • ^: Använder versaler, om det är möjligt (inte alla alternativ respektera detta modifierare).
  • #: Använd motsatsen till standard gäller för alternativ, om det är möjligt (inte alla alternativ respektera detta modifierare).

Två Snygga Trick

För att få den senaste ändring tid i en fil, använd-r (referens) alternativ. Observera att denna använder en – (bindestreck) i stället för ett % – tecken, och det kräver inte ett + tecken. Prova detta kommando i din hemkatalog:

datum -r .bashrc

Den TZ-inställningen kan du ändra din tidszon för den tid ett enda kommando.

TZ=GMT date +%c

Med hjälp av Datum i-Skript

Gör ett Bash-skript för att skriva ut tid och datum är trivialt. Skapa en textfil med följande innehåll, och spara den som gd.sh.

#!/bin/bash

IDAG=$(date +”Idag är %A %d %B”)
TIMENOW=$(date +”Den lokala tiden är %r”)
TIME_UK=$(TZ=BST date +”Den tid i STORBRITANNIEN är %r”)

echo $IDAG
echo $TIMENOW
echo $TIME_UK

Skriv följande kommando för att ställa in avrättningen behörigheter och göra skriptet körbart.

chmod +x gd.sh

Kör skriptet med det här kommandot:

./gd.sh

Kan vi använda kommandot date för att ge en tidsstämpel. Skriptet som visas kommer att skapa en katalog med tidsstämpel som sitt namn. Det kommer då att kopiera all text filer från den aktuella mappen till den. Genom att köra detta skript regelbundet kan vi ta ett snapshot av vår text-filer. Under tiden kommer vi att bygga upp en serie av mappar med olika versioner av vår text filer i dem.

Observera att detta inte är en robust backup-system, det är bara för att illustrera.

Skapa en textfil med följande innehåll, och spara den som snapshot.sh.

#!/bin/bash

# få datum och tid
date_stamp=$(date +”%F-%H-%M-%S”)

# göra en katalog med det namnet
mkdir “$date_stamp”

# kopiera filer från den aktuella mappen till den
cp *.txt “$date_stamp”

# alla gjort, rapportera tillbaka och avsluta
echo “Texten filer som kopieras till katalogen: “$date_stamp

Skriv följande kommando för att ställa in avrättningen behörigheter och göra skriptet körbart.

chmod +x snapshot.sh

Kör skriptet med det här kommandot:

./snapshot.sh

Du kommer att se att en katalog har skapats. Dess namn är den datum och tid på som skriptet kördes. I den katalogen är kopior av textfiler.

Få lite eftertanke och kreativitet, även de ödmjuka datum kommandot kan sättas i produktiv användning.