यूनिक्स समय क्या है और यूनिक्स युग कब था?

यूनिक्स समय क्या है और यूनिक्स युग कब था?

यूनिक्स की समय की अपनी अवधारणा क्यों है? युग क्या है और Y2038 समस्या क्या है?





यूनिक्स समय एक विशिष्ट तिथि और समय का प्रतिनिधित्व करने का एक साधन है, जिसका उपयोग लिनक्स, मैकओएस और कई अन्य इंटरऑपरेबल सिस्टम द्वारा किया जाता है। यह इतना व्यापक है, कि आप शायद इसके बारे में जाने बिना इसका उपयोग कर रहे हैं। एक बार जब आप यूनिक्स समय को समझ लेते हैं, तो आप इसे कई संदर्भों में देख पाएंगे। कई उपकरण आपको यूनिक्स समय के साथ काम करने में मदद कर सकते हैं।





यूनिक्स समय का उद्देश्य क्या है?

यूनिक्स समय एक निश्चित समय और तारीख के बाद से कुल सेकंड की गिनती है। यह एक तिथि/समय (या टाइमस्टैम्प) प्रारूप है जो मानव-पठनीय तिथियों और हमारे द्वारा उपयोग किए जाने वाले समय से अलग दिखता है। यह विशुद्ध रूप से दक्षता कारणों से है। वर्ष, महीने, घंटे आदि के लिए अलग-अलग मानों को संग्रहीत करने की तुलना में सेकंड का प्रतिनिधित्व करने वाली एकल संख्या को संग्रहीत करने में बहुत कम जगह लगती है।





बेशक, आधुनिक शब्दों में, अंतरिक्ष अंतर इतना अधिक नहीं है। लेकिन विचार करें कि यूनिक्स की उत्पत्ति 1960 के दशक के अंत में हुई थी जब उपलब्ध भंडारण बहुत छोटा था। टाइमस्टैम्प का भी बहुत उपयोग किया जाता है, इसलिए उनका भंडारण बढ़ जाता है। उदाहरण के लिए, प्रत्येक फ़ाइल में तीन टाइमस्टैम्प जुड़े होते हैं।

जब तक आप एक गणितीय प्रतिभा नहीं हैं, तब तक प्रारूप आपके सिर में अनुवाद करना असंभव है। लेकिन इसके अभी भी अधिक पठनीय विकल्पों पर कुछ फायदे हैं जैसे कि बुध, २१ अक्टूबर २०१५ ०७:२८:०० जीएमटी . आप एक नज़र में दो यूनिक्स टाइमस्टैम्प बहुत आसानी से ऑर्डर कर सकते हैं। आमतौर पर दो टाइमस्टैम्प के बीच के अंतर का पता लगाना भी तेज़ होता है। यह विशेष रूप से निकटवर्ती तिथियों के लिए सच है, जैसे निकटवर्ती दिनों में।



युग के बारे में

तो, यूनिक्स समय एक विशिष्ट समय के बाद से सेकंड की कुल संख्या है। लेकिन वह समय क्या है? इसका 00:00:00 यूटीसी पर १ जनवरी १९७० . इसे अक्सर यूनिक्स युग के रूप में जाना जाता है। प्रोग्रामर्स ने इस तिथि को युग के लिए सुविधा से बाहर चुना क्योंकि यह निकटतम दौर की तारीख थी जब उन्होंने यूनिक्स समय का आविष्कार किया था।

आपने इस तारीख को अच्छी तरह से देखा होगा जब कुछ गलत हो गया हो। यह स्पष्ट रूप से एक बग है, लेकिन यह बहुत अजीब लगता है जब इसका परिणाम उस समय से पहले होता है जब हम में से कई लोग पैदा हुए थे! हालाँकि, यह पूरी तरह से समझ में आता है, जब आप यूनिक्स समय के बारे में जानते हैं। यदि कोई सिस्टम एक टाइमस्टैम्प प्रदर्शित करने का प्रयास कर रहा है जिसका कोई मूल्य नहीं है, तो यह अक्सर 0 में अनुवाद करेगा और सटीक युग की तारीख में परिणाम देगा।





यूट्यूब वीडियो से गाना कैसे ढूंढे

यूनिक्स समय डेटा प्रारूप

कड़ाई से बोलते हुए, एक नहीं है। मूल डेटा प्रकार 32-बिट पूर्णांक था, और यह अक्सर अधिक शक्तिशाली प्रणालियों में भी मामला बना रहता है।

यह डेटा प्रकार मान को कुल 2^32 सेकंड संग्रहीत करने की अनुमति देता है, जो कि 136 वर्षों से अधिक है। यह मान आमतौर पर हस्ताक्षरित होता है, जिसका अर्थ है कि यह नकारात्मक या सकारात्मक हो सकता है। तो, यह आमतौर पर युग के दोनों ओर यानी 1902-2038 में 68 साल का प्रतिनिधित्व करता है।





यह अभी भी एक सीमित अवधि है, निश्चित रूप से। लेकिन टाइमस्टैम्प प्रारूप का प्राथमिक उपयोग फ़ाइल संशोधन जैसी अवधारणाओं के लिए था। प्राचीन इतिहास या भविष्य में दूर के समय के बजाय वर्तमान के करीब समय का प्रतिनिधित्व करने की बहुत आवश्यकता थी। यहां तक ​​​​कि कैलेंडर जैसे अनुप्रयोगों के लिए, भविष्य में कुछ दशकों से अधिक की तारीखों का प्रतिनिधित्व करने की शायद ही कभी आवश्यकता होती है।

लेकिन इसका मतलब यह नहीं है कि यह सीमित समय अवधि बिना किसी समस्या के है ...

वर्ष 2038 समस्या

Y2K बग (इतिहास में सबसे खराब प्रोग्रामिंग गलतियों में से एक) ने कंप्यूटर सिस्टम को प्रभावित किया जो वर्षों को दो अंकों के मूल्यों के रूप में संग्रहीत करता है। जब वर्ष 2000 आया, तो इस तरह की प्रणालियों ने इसे 1900 की तरह माना। इस घटना में, यह उतना भयावह नहीं था जितना कि आशंका थी, मुख्यतः क्योंकि बहुत से लोगों ने इसकी तैयारी के लिए पहले से बहुत समय और प्रयास खर्च किया था।

यदि आप पिछले अनुभाग में ध्यान दे रहे थे, तो हो सकता है कि आपने ऐसी ही समस्या देखी हो जो यूनिक्स समय को प्रभावित कर सकती है। ठीक है, यूनिक्स समय की अपनी एक डेटा समस्या है: Y2k38 समस्या। (इसे अक्सर एक समस्या के रूप में संदर्भित किया जाता है, बग नहीं; शायद हम वर्ष 2000 से अधिक आशावादी हो गए हैं!) जब 2038 में यूनिक्स का समय सचमुच समाप्त हो जाता है, तो सिस्टम नई तारीखों को या तो 1902 या 1970 के रूप में मानेंगे। या संभवतः वे ' पूरी तरह विफल हो जाएगा।

कम से कम यह समस्या हमें नव वर्ष की पूर्व संध्या पर आधी रात को नहीं लगेगी। 32-बिट यूनिक्स समय का अंतिम सेकंड 19 मार्च को होगा। ऐसी स्थिति में, हम संभवत: 2038 तक अधिकांश प्रणालियों को अपग्रेड कर देंगे या तब तक वे अप्रचलित हो जाएंगे।

कुछ उपयोगी टाइमस्टैम्प संसाधन

NS युग परिवर्तक साइट संभवतः सबसे व्यापक टाइमस्टैम्प कनवर्टर उपलब्ध है। यह वर्तमान यूनिक्स समय को वास्तविक समय में प्रदर्शित करने से शुरू होता है और इसके ऊपर लगभग हर कल्पनीय विशेषता जोड़ता है। इसका मुख्य उपयोग टाइमस्टैम्प और मानव-पठनीय तिथियों के बीच दोनों दिशाओं में परिवर्तित करने के लिए है।

Dan's Tools उपयोगी वेब ऐप्स का एक विशाल संग्रह है, जिनमें से एक है a टाइमस्टैम्प कनवर्टर . यह अधिक बुनियादी है, लेकिन इसमें बहुत साफ प्रस्तुति है और इसका उपयोग करना आसान है।

समय है एक और, और भी न्यूनतर रूप प्रस्तुत करता है। यह कई प्रारूपों में समय दिखाता है, जिसमें यूनिक्स समय भी शामिल है। इसमें अपने पृष्ठ शीर्षक में वर्तमान समय शामिल है जो उपयोगी है।

कमांड लाइन टूल्स के साथ यूनिक्स टाइम का उपयोग करना

Linux और macOS पर, दिनांक कार्यक्रम यूनिक्स टाइमस्टैम्प सहित दिनांक/समय से निपटने के लिए मुख्य उपयोगिता है। बिना किसी तर्क के कॉल किया गया, यह मानव-पठनीय प्रारूप में वर्तमान दिनांक/समय लौटाता है:

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

यदि आपको यूनिक्स समय में वर्तमान दिनांक/समय की आवश्यकता है, तो इसका उपयोग करें +%s तर्क:

$ date +%s
1612960114

आप मानव-पढ़ने योग्य तिथि से टाइमस्टैम्प का उपयोग करके परिवर्तित कर सकते हैं -डी ध्वज अगर आपका संस्करण दिनांक इसका समर्थन करता है। अधिकांश Linux संस्करण, डिफ़ॉल्ट रूप से:

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

मैकोज़ पर, दिनांक एक अलग कार्यक्रम है, जिसके लिए झंडे के एक अलग सेट की आवश्यकता होती है:

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

दूसरी दिशा में जाने पर, आप यूनिक्स टाइमस्टैम्प का उपयोग करके परिवर्तित कर सकते हैं -आर झंडा:

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

कुछ अन्य प्रोग्राम का उपयोग करते हैं %एस यूनिक्स समय से निपटने के लिए प्रारूप। उदाहरण के लिए, यदि आप यूनिक्स समय में किसी फ़ाइल की संशोधन तिथि दिखाना चाहते हैं, तो का लिनक्स संस्करण रास , आप निम्न का उपयोग कर सकते हैं:

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

प्रोग्रामिंग भाषाओं में यूनिक्स समय का उपयोग कैसे करें

PHP में है समय() फ़ंक्शन जो वर्तमान यूनिक्स टाइमस्टैम्प देता है। इसका दिनांक() फ़ंक्शन अपने दूसरे तर्क के रूप में टाइमस्टैम्प लेता है:

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

जावास्क्रिप्ट चीजों को दिलचस्प तरीके से देखता है। इसमें दिनांक.अब () यूनिक्स युग के बाद से मिलीसेकंड की संख्या प्राप्त करने की विधि। बेशक, आप इसे 1,000 से विभाजित कर सकते हैं और परिणाम को बराबर यूनिक्स समय सेकंड में देने के लिए गोल कर सकते हैं:

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

यूनिक्स समय को समझना

यूनिक्स समय एक सरल अवधारणा है जो कई जगहों पर उभरती है। एक बार जब आप इसे समझ लेते हैं, उदाहरण के लिए, समय के अंतर की गणना करते समय, आप इसे काफी उपयोगी पा सकते हैं। आप यह भी पहचान सकते हैं कि यह कब कुछ बग का कारण हो सकता है।

युग और टाइमस्टैम्प जैसी अवधारणाएँ Linux के साथ आरंभ करने का एक महत्वपूर्ण हिस्सा हैं। आवश्यक चीज़ों के बारे में अधिक जानने के लिए जैसे रास , बुनियादी लिनक्स कमांड के लिए हमारी मार्गदर्शिका देखें।

साझा करना साझा करना कलरव ईमेल आपको Linux के साथ आरंभ करने के लिए 9 मूल आदेश

लिनक्स के साथ परिचित होना चाहते हैं? मानक कंप्यूटिंग कार्यों को सीखने के लिए इन बुनियादी लिनक्स कमांड से शुरू करें।

आगे पढ़िए
संबंधित विषय लेखक के बारे में बॉबी जैक(58 लेख प्रकाशित)

बॉबी एक प्रौद्योगिकी उत्साही हैं जिन्होंने दो दशकों तक एक सॉफ्टवेयर डेवलपर के रूप में काम किया। उन्हें गेमिंग का शौक है, स्विच प्लेयर मैगज़ीन में समीक्षा संपादक के रूप में काम कर रहे हैं, और ऑनलाइन प्रकाशन और वेब विकास के सभी पहलुओं में डूबे हुए हैं।

बॉबी जैक . की अन्य फ़िल्में-टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें