Hvordan Endre Linux Dato og tid: Enkelt Commands

Hemmelig tiden på Linux er mer komplisert enn det kan virke ved første øyekast. Til å begynne med ikke tids kommandoen på Linux ikke fortelle tiden:

 $ tid real 0m0.000s bruker 0m0.000s sys 0m0.000s 

Fordi tid er en timer for å måle hvor lenge en prosess runs. For eksempel, hvor lang tid tar det å rekursivt liste alle filene i en katalog?

 $ tids ls -Rl dir /* [...] real 0m22.156s bruker 0m1.652s sys 0m4.772s < h3> Dato for Time 

Det høres kanskje rart ut, men du må bruke date-kommandoen til å se tiden på Linux:

 $ date to 11 oktober 11:47:25 PDT 2012 

Datoen kommandoen er grunnleggende for å forstå tids alternativer på Linux. For eksempel støtter panelet klokke i xfce4 bruke standard dato alternativer for å tilpasse den dato og klokkeslett. Figur 1 viser hvordan min ser ut


Dette kommer fra disse FORMAT alternativer for datoen kommandoen:.% R% n% a% b% d,% Y, som du enkelt kan teste selv:

 $ date + "% r% n% a% b% d,% Y" 12:05:00 PM to Okt 11, 2012 

Mannen oppdatert informasjon alle formateringsalternativene. Legg merke til hvordan du kan bruke vanlig mellomrom og tegnsetting å kontrollere utseendet. Du tilpasse dato og klokkeslett vises som passer dine egne innfall, og i konsistente, manusvennlige måter.

lister opp en god sett med alternativer mann dato, men det betyr ikke fortelle deg alt. For å få den fullstendige historien om datoen du trenger GNU coreutils manualen. Og det er der vi lærer om de magiske strenger som lar oss be for datoer i neste uke, i fjor, dagen i uken, og mange flere. Som dato tre tirsdager fra nå, fem måneder fra nå, åtte år siden:

 $ date -d "tredje tirsdag" ti 30 oktober 00:00:00 PDT 2012 $ date -d "femte måned" Mon 11 mars 14:02:54 PDT 2 013 $ date -d "8 år siden" man 11 oktober 14:03:32 PDT 2004 $ date -d "for 23 år siden 2 måneder 19 dager 17 timer 59 minutter og" Sun 31 desember 06: 48:14 PST 1 989 

Du kan raskt sjekke tiden i en annen tidssone:

 $ date + "% r EST" 13:53:10 EST 

UTC (Coordinated Universal Time) er universell standard for tiden over hele verden. Når du kjenner din UTC offset du alltid vet hva klokka er, fordi datoen vil fortelle deg:

 $ date -R To 11 oktober 2012 13:56:17 -0700 

Hvis du bor i ett av de demente regioner som bruker sommertid, vil dato -R alltid fortelle deg riktig offset uansett hvilken tid på året det er.

Cal For Datoer

Når du bare ønsker å se noen datoer, tenker på vår gode gamle venn cal:

 $ cal oktober 2012 Su Ma Ti On To Fr Lø 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 

cal -3 viser tre måneder: siste måneden, denne måneden, og neste måned. cal ÅÅÅÅ viser et bestemt år, som cal 1962.

ncal er inkludert på de fleste Linux-systemer, og det er en oldtimer designet for å passe pent på et 25x80 terminal:

 $ ncal oktober 2012 Su 7 14 21 28 Mo 1 8 15 22 29 Tu 2 9 16 23 30 Vi 3 10 17 24 31 Th 4 11 18 25 Fr 5 12 19 26 Sa 6 13 20 27 

ncal -b bytter til vår sedvanlige horisontal skjerm. ncal vil vise et vilkårlig antall måneder i fortiden eller fremtiden. For eksempel ncal -bB 6 skjermer inneværende måned pluss seks måneder tidligere, og ncal -Ba 6 skjerm inneværende måned pluss de neste seks månedene.

Du kan se hvilken som helst måned i noen år, for eksempel mars 1950, med ncal -Bm mars 1950. Dette fungerer for fremtidige måneder, også.

De Wacky ls Tidsstempler

Måten ls utganger dato og tid er en kontinuerlig kilde til ergrelse fordi det varierer på de ulike Linux-distribusjoner. Dette er hvordan det ser ut på min Linux Mint system:

 $ ls -l -rw-r ----- en Carla Carla 11537 1 oktober 17:16 hk-check.log -RW-r-- r-- 1 Carla Carla 705 12 august 2011 ledproject.txt 

Filer datert i løpet av de siste seks månedene vise tiden i stedet for år, og eldre filer vise året og ikke tiden. Mint tid stilen kalles iso, og dette er den GNU standard. lang-iso er min preferanse, og det ser ut som dette:

 $ ls -l --time-style = lang iso -RW-r ----- en Carla Carla 11537 2012-10-01 17:16 hk-check.log -rw-r - r-- 1 Carla Carla 705 2011-08-12 12:15 ledproject.txt 

Jeg liker lang iso fordi det er lett å sort-- år, måned , dag, ensifrede måneder og dager er polstret to sifre, og den bruker en 24-timers klokke. Dette er alle definert i ISO 8601. På Linux er det kontrollert av TIME_STYLE miljøvariabelen, slik at du kan overstyre standard hele systemet i /etc /profile, eller i din personlige .profile eller .bashrc ved å legge til en linje som eksport TIME_STYLE = lang-iso, deretter logge ut og inn igjen.

Du ønsker kanskje å lage en egendefinert tidsstempel. Dette bruker de samme alternativene som date-kommandoen, og du kan teste dette på kommandolinjen før du gjør det permanent i en konfigurasjonsfil:

 $ eksport TIME_STYLE = "+% Y-% m-% d% H :% M:% S% z "$ ls -l -rw-r ----- en Carla Carla 11537 2012-10-01 17:16:45 -0700 hk-check.log -rw-r - r - 1 Carla Carla 705 2011-08-12 12:15:02 -0700 ledproject.txt 

GNU manuell staver alt dette ut i vanlig engelsk. Du kan eksperimentere til ditt hjerte innhold, og deretter logge ut og inn igjen for å tilbakestille til ditt system som standard.

Og det er bare begynnelsen for å fortelle gang på Linux. Min drøm er en livsstil som ikke trenger klokker i det hele tatt, men jeg har ikke funnet ut hvordan du gjør det i Linux.