Het Weergeven van de Datum en de Tijd in de Linux Terminal (en te Gebruiken In Het Bash-Scripts)

0
2100
Fatmawati Achmad Zaenuri/Shutterstock.com

De datum van de opdracht is te vinden in de Bash shell, dat is de standaard shell in de meeste Linux-distributies en zelfs macOS. Deze tutorial toont je hoe je te beheersen datum op de commando-regel en hoe u het kunt gebruiken in shell scripts om meer te doen dan alleen het afdrukken van de tijd.

Voer de datum opdracht voor deze informatie. Het drukt de huidige datum en tijd naar uw tijdzone:

datum

De standaard opmaak ziet er een beetje goofy. Waarom niet het jaar gedrukt na de maand en de dag, in plaats van te worden gelabeld op het einde, achter de tijdzone? Heb geen angst: Als het controle over de indeling van de uitvoer, de datum levert het in schoppen. Er zijn meer dan 40 opties kunt u de pass-to-date te instrueren en het formaat van de output, precies zoals u wilt.

Gebruik een van de opties voor het type datum, een ruimte, een plus-teken +, en de optie met inbegrip van de toonaangevende percentage teken. Het %c (data en tijd in de indeling van landinstelling) optie zorgt ervoor dat de datum en tijd worden afgedrukt in het genormaliseerde formaat die geassocieerd is met uw landinstellingen. Uw taal is ingesteld door de geografische en culturele informatie die u verstrekt wanneer u de installatie van uw besturingssysteem. De landinstelling regelt zaken als het valutasymbool, papierformaten, tijdzone, en andere culturele normen.

date +%c

Het jaar wordt nu in een meer natuurlijke positie in de output.

U kunt langs de verschillende opties-to-date in een keer. Een reeks van opties wordt genoemd een format string. Om de naam van de dag (%), de dag van de maand (%d) en de naam van de maand (%B), gebruik je dit commando:

date +%A%d%B

Dat werkte, maar het is lelijk. Geen probleem, wij kunnen spaties zolang we wikkel de gehele tekenreeks tussen aanhalingstekens. Merk op dat de + en gaat naar buiten de aanhalingstekens.

date +”%A %d %B”

U kunt tekst toevoegen aan de format string, zoals deze:

datum +”Vandaag is: %A %d %B”

Omhoog en omlaag bladeren door de datum waarop man pagina op zoek naar de optie die u wilt dat wordt al snel vermoeiend. We hebben draaide de opties in groepen om u te helpen uw weg te vinden rond hen gemakkelijker.

Opties voor het Weergeven van de Datum en de Tijd

  • %c: Drukt de datum en tijd in het formaat voor uw regio, met inbegrip van de tijdzone.

Opties voor het Weergeven van de Datum

  • %D: print de datum mm/dd/jj.
  • %F: print de datum in de notatie jjjj-mm-dd formaat.
  • %x: print de datum in het formaat voor uw landinstelling.

Opties voor het Weergeven van de Dag

  • %a: hiermee wordt de naam van de dag afgekort Ma, Di, Wo, enz.
  • %A: hiermee wordt de volledige naam van de dag, maandag, dinsdag, woensdag, etc.
  • %u: hiermee wordt het nummer van de dag van de week, waar maandag=1, dinsdag=2, woensdag=3, enz.
  • %w: hiermee wordt het nummer van de dag van de week, waar zondag=0, maandag=1, dinsdag=2, enz.
  • %d: Drukt de dag van de maand, met een nul (01, 02 09…) indien nodig.
  • %e: hiermee wordt de dag van de maand, met een spatie (‘ 1’, ‘2’ … ‘9’) als dat nodig is. Let op de aanhalingstekens niet afdrukken.
  • %j: hiermee Drukt u de dag van het jaar, met maximaal twee voorloopnul, indien nodig.

Opties voor het Weergeven van de Week

  • %U: hiermee wordt het nummer van de week van het jaar, uitgaande van zondag als de eerste dag van de week. Bijvoorbeeld de derde week van het jaar, van de twintigste week van het jaar, enz.
  • %V: hiermee wordt de ISO-weeknummer van het jaar, uitgaande van maandag als de eerste dag van de week.
  • %W: weeknummer van het jaar, uitgaande van maandag als de eerste dag van de week.

Opties voor het Weergeven van de Maand

  • %b , of %h: hiermee wordt de naam van de maand afgekort tot Jan, Feb, Mrt, enz.
  • %B: hiermee wordt de volledige naam van de maand, januari, februari, Maart, enz.
  • %m: hiermee wordt het nummer van de maand, met een voorloopnul, indien nodig 01, 02, 03 … 12.

Opties voor het Weergeven van het Jaar

  • %C: Drukt de eeuw, zonder het jaar. In 2019 zou het afdrukken van 20.
  • %y: Drukt het jaar in twee cijfers. in 2019 zal het afdrukken van 19.
  • %Y: Drukt het jaar in vier cijfers.

Opties voor het Weergeven van de Tijd

  • %T: hiermee wordt de tijd in HH:MM:SS.
  • %R: hiermee wordt het uur en de minuten als UU:MM met geen seconden, via de 24-uurs klok.
  • %r: hiermee wordt de tijd volgens de landinstelling, met behulp van de 12-uurs klok en een am-of pm-indicator.
  • %X: hiermee wordt de tijd volgens de landinstelling, het gebruik van de 24-uurs klok. Naar verluidt. Merk op dat tijdens het testen van deze optie gedroeg zich precies zoals %r doet, zoals hieronder weergegeven. Op een Linux machine is geconfigureerd voor het verenigd koninkrijk landinstelling en ingesteld op GMT, het afdrukken van de tijd, het gebruik van de 24-uurs klok met geen AM-of PM-indicator, zoals verwacht.

Opties voor het Weergeven van het Uur

  • %H: hiermee wordt het uur 00, 01, 02…23.
  • %I: hiermee worden de uren in met de 12-uurs klok, 00, 01, 02 12…, met een voorloopnul, indien nodig.

Opties voor het Weergeven Minuten

  • %M: hiermee wordt de minuut, 01, 02, 03 … 59, met een voorloopnul, indien nodig.

Opties weer te geven Seconden

  • %s: hiermee Drukt u het aantal seconden sinds 1970-01-01 00:00:00 uur, de start van de Unix Epoch.
  • %S: hiermee worden de seconden, 01, 02, 03 … 59, met een voorloopnul, indien nodig.
  • %N: hiermee Drukt u de Nanoseconden.

Opties weer te geven Timezone Informatie

  • %z: hiermee Drukt u het tijdverschil tussen uw tijdzone en UTC.
  • %:z: hiermee Drukt u het tijdverschil tussen uw tijdzone en de UTC, met een : tussen de uren en minuten. Opmerking : tussen het % – teken en z .
  • %::z: hiermee Drukt u het tijdverschil tussen uw tijdzone en de UTC, met een : tussen de uren, minuten en seconden. Opmerking: tussen het % – teken en z .
  • %Z: hiermee Drukt u de alfabetische timezone naam.

Opties in Verband met de Opmaak van

  • %p: hiermee Drukt u de AM-of PM-indicator in hoofdletters.
  • %P: hiermee Drukt u de am-of pm-indicator in kleine letters. Let op de gril met deze twee opties. Een kleine letter p geeft hoofdletters uitgang, een hoofdletter P geeft kleine uitgang.
  • %t: hiermee wordt een tabblad.
  • %n: hiermee wordt een nieuwe regel.

Opties voor het Wijzigen van de Andere Opties

Deze modifiers kunnen worden ingevoegd tussen de % en de optie brief van andere opties voor het wijzigen van de weergave. Bijvoorbeeld, %-S zou verwijderen van de nul voor één cijfer seconden waarden.

  • : Één streepje voorkomt zero padding op de enkele cijfers.
  • _: een enkele underscore voegt voorloopspaties voor enkele cijfers.
  • 0: Biedt voorloopnullen voor enkele cijfers.
  • ^: Gebruik hoofdletters, indien mogelijk (niet alle opties zijn respect voor deze modifier).
  • #: Het gebruik van de tegenoverliggende tot de standaard case voor de optie, indien mogelijk (niet alle opties zijn respect voor deze modifier).

Twee Handige Trucs

Om het tijdstip van de laatste wijziging van een bestand, gebruik je de-r (referentie) optie. Merk op dat deze gebruik maakt van een – (streepje) in plaats van een % – teken, en het is niet nodig een + teken. Probeer dit commando in je home map:

datum -r .bashrc

De TZ-instelling kunt u wijzigen van uw tijdzone voor de duur van een enkele opdracht.

TZ=GMT-date +%c

Het gebruik van Datum in Scripts

Het inschakelen van een Bash shell script voor het afdrukken van de datum en tijd van triviaal. Maak een tekst bestand met de volgende inhoud, en opslaan als gd.sh.

#!/bin/bash

VANDAAG=$(date +”Vandaag is %A %d %B’)
TIMENOW=$(date +”De lokale tijd is %r”)
TIME_UK=$(TZ=BST-date +”De tijd in het verenigd koninkrijk is %r”)

echo $VANDAAG
echo $TIMENOW
echo $TIME_UK

Typ de volgende opdracht om de uitvoering van de machtigingen en maak het script uitvoerbaar.

chmod +x gd.sh

Uitvoeren van het script met dit commando:

./gd.sh

We kunnen gebruik maken van de datum opdracht tot het verlenen van een tijdstempel. Het script weergegeven, maak een map met de timestamp als zijn naam. Het zal dan alle tekst kopiëren van bestanden van de huidige map. Door het uitvoeren van dit script periodiek kunnen we u een snapshot van onze tekst bestanden. De loop van de tijd bouwen we een reeks mappen met de verschillende versies van de tekst bestanden in.

Merk op dat dit niet een betrouwbaar back-up systeem, het is alleen voor illustratieve doeleinden.

Maak een tekst bestand met de volgende inhoud, en opslaan als snapshot.sh.

#!/bin/bash

# het verkrijgen van de datum en tijd
date_stamp=$(date +”%F%H-%M-%S”)

# een map met deze naam
mkdir “$date_stamp”

# kopieer de bestanden van de huidige map in het
cp *.txt “$date_stamp”

# allemaal gedaan, rapport terug en afsluiten
echo “Tekst bestanden gekopieerd naar de map: “$date_stamp

Typ de volgende opdracht om de uitvoering van de machtigingen en maak het script uitvoerbaar.

chmod +x snapshot.sh

Uitvoeren van het script met dit commando:

./snapshot.sh

U zult zien dat een directory is aangemaakt. Zijn naam is de datum en tijd waarop het script wordt uitgevoerd. In deze directory zijn kopieën van de tekst bestanden.

Gegeven een beetje van het denken en de creativiteit, zelfs de nederige datum opdracht kan worden geplaatst en productief gebruik.