Ce este timpul Unix și când a fost epoca Unix?

Ce este timpul Unix și când a fost epoca Unix?

De ce Unix are propriul concept de timp? Care este epoca și care este problema Y2038?

Ora Unix este un mijloc de a reprezenta o anumită dată și oră, utilizat de Linux, macOS și multe alte sisteme interoperabile. Este atât de răspândit, încât probabil îl folosiți fără să știți. Odată ce înțelegeți ora Unix, o veți observa în multe contexte. Mai multe instrumente vă pot ajuta să lucrați cu timpul Unix.

Care este scopul timpului Unix?

Timpul Unix este un număr total de secunde de la o oră și o dată fixă. Este un format de dată/oră (sau marca temporală) care arată diferit de datele și orele care pot fi citite de oameni cu care suntem obișnuiți. Acest lucru este doar din motive de eficiență. Este nevoie de mult mai puțin spațiu pentru a stoca un singur număr reprezentând secunde decât pentru a stoca valori separate pentru an, lună, oră etc.

Desigur, în termeni moderni, diferența de spațiu nu este deloc atât de mare. Dar luați în considerare că Unix a apărut la sfârșitul anilor 1960, când spațiul de stocare disponibil era mult mai mic. Marcajele de timp sunt, de asemenea, folosite foarte mult, astfel încât stocarea lor se adună. De exemplu, fiecare fișier are trei marcaje temporale asociate.

Formatul este aproape imposibil de transpus în capul tău decât dacă ești un geniu matematic. Dar are încă câteva avantaje față de alternative mai lizibile, cum ar fi miercuri, 21 oct 2015 07:28:00 GMT . Puteți comanda două marcaje temporale Unix foarte ușor, dintr-o privire. De asemenea, este de obicei mai rapid să stabiliți diferența dintre două marcaje temporale. Acest lucru este valabil mai ales pentru întâlnirile apropiate, cum ar fi zilele adiacente.

Ce este timpul Unix și când a fost epoca Unix?

Despre Epocă

Deci, timpul Unix este un număr total de secunde de la un anumit moment în timp. Dar care este acel moment în timp? Este ora 00:00:00 UTC pe 1 ianuarie 1970 . Aceasta este adesea denumită Epoca Unix. Programatorii au ales această dată pentru epocă din comoditate, deoarece a fost cea mai apropiată dată rotundă când au inventat ora Unix.

Este posibil să fi văzut această dată când ceva nu a mers prost. Este clar un bug, dar unul care arată foarte ciudat atunci când rezultă o dată dinainte de momentul în care ne-am născut mulți dintre noi! Este complet de înțeles, totuși, când știi despre ora Unix. Dacă orice sistem încearcă să afișeze un marcaj de timp care nu are nicio valoare, acesta se va traduce adesea la 0 și va avea ca rezultat data exactă a epocii.

Formatul de date Unix Time

Strict vorbind, nu există. Tipul de date inițial a fost un număr întreg de 32 de biți, iar acest lucru rămâne adesea așa, chiar și în sisteme mult mai puternice.

Acest tip de date permite valorii să stocheze un total de 2^32 de secunde, ceea ce înseamnă puțin peste 136 de ani. Această valoare este de obicei semnată, ceea ce înseamnă că poate fi negativă sau pozitivă. Deci, de obicei reprezintă 68 de ani de ambele părți ale epocii, adică 1902-2038.

Aceasta este încă o perioadă limitată, desigur. Dar utilizarea principală a formatului de marcaj temporal a fost pentru concepte precum modificarea fișierului. Nevoia era foarte mare de a reprezenta timpul aproape de prezent, mai degrabă decât istoria antică sau departe în viitor. Chiar și pentru aplicații precum calendare, rareori este nevoie să se reprezinte date mai mult de câteva decenii în viitor.

Dar asta nu înseamnă că acest interval de timp limitat este fără probleme...

Problema anului 2038

Bug-ul Y2K ( una dintre cele mai grave greșeli de programare din istorie ) a afectat sistemele informatice care stocau anii ca valori de două cifre. Când a venit anul 2000, astfel de sisteme l-au tratat ca și cum ar fi fost 1900. În realitate, acest lucru nu a fost atât de catastrofal pe cât se temea, în principal pentru că mulți oameni au petrecut mult timp și efort în avans, pregătindu-se pentru asta.

Dacă ați acordat atenție în secțiunea anterioară, este posibil să fi observat o problemă similară care ar putea afecta ora Unix. Ei bine, ora Unix are o problemă proprie de date: problema Y2k38. (Este adesea menționată ca o problemă, nu o eroare; poate că am devenit mai optimiști din anul 2000!) Când timpul Unix se termină literalmente în 2038, sistemele vor trata datele noi fie ca 1902, fie ca 1970. Pur și simplu voi eșua cu totul.

Cel puțin această problemă nu ne va lovi în miezul nopții de Revelion. Ultima secundă a timpului Unix pe 32 de biți va cădea pe 19 martie. În eventualitate, probabil că vom actualiza majoritatea sistemelor până în 2038 sau oricum vor fi învechite până atunci.

Câteva resurse utile de marca temporală

Site-ul Epoch Converter este, probabil, cel mai cuprinzător convertor de marcaje temporale disponibile. Începe prin afișarea orei curente Unix - în timp real - și adaugă aproape toate caracteristicile imaginabile pe deasupra. Utilizarea sa principală este pentru conversia între marcaje temporale și date care pot fi citite de om, în ambele direcții.

Dan's Tools este o colecție imensă de aplicații web utile, dintre care una este un convertor de marcaj de timp . Este mai de bază, dar are o prezentare foarte curată și este ușor de utilizat.

Time.is prezintă un alt aspect, chiar mai minimalist. Afișează ora într-un număr de formate, inclusiv ora Unix. Include ora curentă în titlul paginii, ceea ce este util.

Ce este timpul Unix și când a fost epoca Unix?

Utilizarea Unix Time cu instrumente de linie de comandă

Pe Linux și macOS, programul de dată este utilitarul de bază pentru a trata data/ora, inclusiv marcajele de timp Unix. Apelat fără niciun argument, returnează data/ora curentă într-un format care poate fi citit de om:

$ date Wed Feb 10 12:28:30 GMT 2021

Dacă aveți nevoie de data/ora curentă în ora Unix, utilizați argumentul +%s :

$ date +%s 1612960114

Puteți face conversia dintr-o dată care poate fi citită de om într-o ștampilă de timp utilizând marcajul -d dacă versiunea dvs. de dată o acceptă. Majoritatea versiunilor Linux ar trebui, implicit:

$ date -d "Jan 2 1970" +%s 82800

Pe macOS, data este un program diferit, care necesită un set diferit de steaguri:

$ date -j -f "%b %d %Y %T" "Jan 02 1970 00:00:00" "+%s" 82800

Mergând în cealaltă direcție, puteți face conversia dintr-un marcaj temporal Unix folosind steag-ul -r :

$ date -r 1600000000 Sun 13 Sep 2020 13:26:40 BST

Alte programe folosesc formatul %s pentru a se ocupa de ora Unix. De exemplu, dacă doriți să afișați data modificării unui fișier în ora Unix, cu versiunea Linux a ls , puteți utiliza următoarele:

$ ls -l --time-style=+%s index.tmp.html -rw-r--r-- 1 ubuntu ubuntu 17862 1521649818 index.tmp.html

Cum să utilizați timpul Unix în limbaje de programare

PHP are funcția  time() care returnează marcajul temporal Unix curent. Funcția sa date() ia un marcaj temporal ca al doilea argument:

$ php -r 'echo date("Y-m-d", time());' 2021-02-11

JavaScript abordează lucrurile într-un mod interesant. Are o metodă Date.now() pentru a obține numărul de milisecunde de la epoca Unix. Desigur, puteți împărți acest lucru la 1.000 și rotunjiți rezultatul pentru a da timpul Unix echivalent în secunde:

> Math.floor(Date.now() / 1000) 1613083012

Înțelegerea timpului Unix

Ora Unix este un concept simplu care apare în multe locuri. Odată ce îl înțelegi, s-ar putea să-l găsești destul de util, la calcularea diferențelor de timp, de exemplu. De asemenea, puteți recunoaște când poate fi cauza anumitor erori.

Concepte precum epoca și marcajele de timp sunt o parte importantă a începerii cu Linux. Pentru a afla mai multe despre elementele esențiale, cum ar fi ls , consultați ghidul nostru pentru comenzile Linux de bază.


Cele mai bune 10 aplicații de videoconferință pentru Linux

Cele mai bune 10 aplicații de videoconferință pentru Linux

Pentru independenții și angajații care lucrează în mod regulat de acasă, comunicarea la distanță este unul dintre multele lucruri de care trebuie să se îngrijească. Videoconferința a înlocuit acum întâlnirile de la birou pentru mulți dintre noi. Instrumente precum Zoom și Skype au înregistrat o creștere masivă.

Cum se instalează un server FTP pe Ubuntu în 5 pași

Cum se instalează un server FTP pe Ubuntu în 5 pași

Dacă configurați un server Linux, veți avea nevoie de acces FTP. Aceasta înseamnă mai întâi instalarea unui server FTP pe Linux. Ar trebui să fie unul dintre primele lucruri pe care le faceți după instalarea sistemului de operare pentru server.

Cum să criptați și să decriptați cu ușurință fișierele și directoarele în Linux

Cum să criptați și să decriptați cu ușurință fișierele și directoarele în Linux

Ți-ai dorit vreodată să criptezi rapid și ușor fișierele în Linux fără a fi nevoie să instalezi și să înveți noi pachete software? Iată o modalitate excelentă și ușoară de a cripta cu ușurință fișiere sau directoare prin AES256 securizat cu o parolă, ajutând să vă păstrați fișierele departe de privirile indiscrete.

Cum se remediază eroarea make: command not found în Ubuntu

Cum se remediază eroarea make: command not found în Ubuntu

Comanda make este probabil una dintre cele mai utilizate comenzi în ecosistemul Linux. Această comandă este folosită pentru a construi și a compila programe direct din codul sursă.

Cum să găsiți și să eliminați fișierele duplicate pe Linux folosind fdupes

Cum să găsiți și să eliminați fișierele duplicate pe Linux folosind fdupes

Când lucrați cu cantități mari de suporturi și documente, este destul de comun să acumulați mai multe copii ale aceluiași fișier pe computer. În mod inevitabil, ceea ce urmează este un spațiu de stocare aglomerat plin cu fișiere redundante, provocând verificări periodice pentru fișierele duplicate pe sistemul dumneavoastră.

Distribuții Linux stabile vs. Bleeding-Edge: pe care ar trebui să o alegeți?

Distribuții Linux stabile vs. Bleeding-Edge: pe care ar trebui să o alegeți?

Una dintre alegerile majore cu care se confruntă mulți utilizatori Linux atunci când aleg o distribuție Linux este stabilitatea acesteia sau cât de mult se schimbă software-ul.

Este 2020 Anul pandemiei de malware Linux?

Este 2020 Anul pandemiei de malware Linux?

Reputația sa pentru securitate înseamnă că Linux este adesea considerat a fi mai puțin vulnerabil la tipurile de amenințări care afectează în mod regulat sistemele Microsoft Windows. O mare parte din această securitate percepută provine din numărul relativ scăzut de sisteme Linux, dar infractorii cibernetici încep să vadă valoare în alegerea calității în detrimentul cantității?

Cum să descărcați și să instalați uGet Download Manager pe Linux

Cum să descărcați și să instalați uGet Download Manager pe Linux

Managerii de descărcare sunt un instrument popular pentru a vă gestiona toate descărcările într-o singură aplicație și vă oferă câteva funcții utile. Dacă ați trecut recent de la sistemul de operare Windows la Linux, este posibil să căutați o alternativă la celebrul Internet Download Manager (IDM).

Luarea de note pe Chromebookuri este mai ușoară cu cursive

Luarea de note pe Chromebookuri este mai ușoară cu cursive

Cursive este o aplicație web progresivă (PWA) pe care Google a introdus-o odată cu lansarea HP Chromebook x2 11. Puteți utiliza această aplicație pentru a lua note scrise de mână pe Chromebookul dvs. echipat cu stylus.

Cum să utilizați Vim: un ghid pentru elementele de bază

Cum să utilizați Vim: un ghid pentru elementele de bază

Vim este cel mai puternic și versatil editor de cod disponibil pentru sisteme asemănătoare Unix. Este o extensie a editorului Vi dezvoltat de Bill Joy. Vim este disponibil implicit pe majoritatea sistemelor Linux și BSD.