یونکس کا وقت کیا ہے اور یونکس کا زمانہ کب تھا؟

یونکس کا وقت کیا ہے اور یونکس کا زمانہ کب تھا؟

یونکس کے پاس وقت کا اپنا تصور کیوں ہے؟ زمانہ کیا ہے اور Y2038 مسئلہ کیا ہے؟





یونکس ٹائم ایک مخصوص تاریخ اور وقت کی نمائندگی کرنے کا ایک ذریعہ ہے ، جو لینکس ، میک او ایس ، اور بہت سے دوسرے انٹرآپریبل سسٹمز استعمال کرتے ہیں۔ یہ اتنا وسیع ہے ، کہ آپ شاید اس کے بارے میں آگاہ کیے بغیر اسے استعمال کر رہے ہیں۔ ایک بار جب آپ یونکس ٹائم کو سمجھ لیں گے ، تاہم ، آپ اسے بہت سے سیاق و سباق میں دیکھیں گے۔ کئی ٹولز آپ کو یونکس ٹائم کے ساتھ کام کرنے میں مدد دے سکتے ہیں۔





یونکس ٹائم کا مقصد کیا ہے؟

یونکس ٹائم ایک مقررہ وقت اور تاریخ کے بعد سے کل سیکنڈ کی گنتی ہے۔ یہ ایک تاریخ/وقت (یا ٹائم اسٹیمپ) کی شکل ہے جو انسانی پڑھنے کے قابل تاریخوں اور اوقات سے مختلف نظر آتی ہے جس کے ہم عادی ہیں۔ یہ خالصتا efficiency کارکردگی کی وجوہات کی بنا پر ہے۔ سال ، مہینے ، گھنٹے ، وغیرہ کے لیے الگ الگ اقدار کو ذخیرہ کرنے کے مقابلے میں سیکنڈ کی نمائندگی کرنے والے کسی ایک نمبر کو ذخیرہ کرنے میں بہت کم جگہ درکار ہوتی ہے۔





یقینا ، جدید شرائط میں ، جگہ کا فرق اتنا زیادہ نہیں ہے۔ لیکن غور کریں کہ یونکس کی ابتدا 1960 کی دہائی کے آخر میں ہوئی جب دستیاب اسٹوریج بہت چھوٹا تھا۔ ٹائم اسٹیمپ بھی بہت زیادہ استعمال ہوتے ہیں ، لہذا ان کا اسٹوریج بڑھ جاتا ہے۔ مثال کے طور پر ، ہر فائل کے ساتھ تین ٹائم سٹیمپ منسلک ہوتے ہیں۔

فارمیٹ آپ کے سر میں ترجمہ کرنا بہت زیادہ ناممکن ہے جب تک کہ آپ ریاضی کے ذہین نہ ہوں۔ لیکن اس کے اب بھی زیادہ پڑھنے کے قابل متبادل کے مقابلے میں کچھ فوائد ہیں۔ بدھ ، 21 اکتوبر 2015 07:28:00 GMT۔ . آپ ایک نظر میں دو یونکس ٹائم اسٹیمپ کو بہت آسانی سے آرڈر کرسکتے ہیں۔ دو ٹائم اسٹیمپ کے درمیان فرق کو حل کرنا عام طور پر تیز تر ہوتا ہے۔ یہ خاص طور پر ایک ساتھ بند ہونے والی تاریخوں کے لیے درست ہے ، جیسے ملحقہ دنوں میں۔



عہد کے بارے میں۔

لہذا ، یونکس ٹائم ایک مخصوص وقت کے بعد سے سیکنڈ کی کل گنتی ہے۔ لیکن وقت کا وہ نقطہ کیا ہے؟ یہ ہے 00:00:00 UTC پر یکم جنوری 1970۔ . اسے اکثر یونکس ایپوچ کہا جاتا ہے۔ پروگرامرز نے اس تاریخ کو دور دور تک سہولت کے لیے منتخب کیا کیونکہ یہ قریب ترین دور کی تاریخ تھی جب انہوں نے یونکس ٹائم ایجاد کیا۔

آپ نے یہ تاریخ اچھی طرح دیکھی ہوگی جب کچھ غلط ہو گیا ہو۔ یہ واضح طور پر ایک بگ ہے ، لیکن ایک جو بہت ہی عجیب لگتا ہے جب اس کے نتیجے میں ہم میں سے بہت سے لوگوں کی پیدائش سے پہلے کی تاریخ ہوتی ہے! یہ مکمل طور پر قابل فہم ہے ، حالانکہ جب آپ یونکس ٹائم کے بارے میں جانتے ہیں۔ اگر کوئی بھی نظام ایسا ٹائم اسٹیمپ دکھانے کی کوشش کر رہا ہے جس کی کوئی قیمت نہیں ہے ، تو یہ اکثر 0 میں ترجمہ کر دیتا ہے اور اس کے نتیجے میں عین زمانہ کی تاریخ ہوتی ہے۔





تصویر کو تصویر میں ویکٹر میں تبدیل کریں

یونکس ٹائم ڈیٹا فارمیٹ

سختی سے بولیں ، ایک نہیں ہے۔ اصل ڈیٹا ٹائپ 32 بٹ کا انٹیجر تھا ، اور یہ اکثر زیادہ طاقتور سسٹمز میں بھی ہوتا ہے۔

یہ ڈیٹا ٹائپ ویلیو کو کل 2^32 سیکنڈ ذخیرہ کرنے کی اجازت دیتا ہے ، جو صرف 136 سال سے زائد ہے۔ یہ قدر عام طور پر دستخط شدہ ہوتی ہے ، مطلب یہ کہ یہ منفی یا مثبت ہو سکتا ہے۔ لہذا ، یہ عام طور پر عہد کے دونوں طرف یعنی 1902-2038 کے 68 سال کی نمائندگی کرتا ہے۔





یقینا This یہ ایک محدود مدت ہے۔ لیکن ٹائم سٹیمپ فارمیٹ کا بنیادی استعمال فائل ترمیم جیسے تصورات کے لیے تھا۔ ضرورت اس بات کی تھی کہ وقت کی نمائندگی قدیم تاریخ کے بجائے موجودہ دور کے قریب ہو یا مستقبل میں۔ یہاں تک کہ کیلنڈر جیسی ایپلی کیشنز کے لیے ، مستقبل میں چند دہائیوں سے زیادہ تاریخوں کی نمائندگی کرنے کی شاذ و نادر ہی ضرورت ہوتی ہے۔

لیکن اس کا مطلب یہ نہیں کہ یہ محدود وقت بغیر مسائل کے ہے…

سال 2038 کا مسئلہ

Y2K بگ (تاریخ کی بدترین پروگرامنگ غلطیوں میں سے ایک) نے کمپیوٹر سسٹم کو متاثر کیا جس نے سالوں کو دو ہندسوں کی اقدار کے طور پر محفوظ کیا۔ جب سال 2000 آیا ، اس طرح کے نظاموں نے اس کے ساتھ ایسا سلوک کیا جیسے یہ 1900 تھا۔ واقعہ میں ، یہ اتنا تباہ کن نہیں تھا جتنا کہ ڈر تھا ، اس کی بنیادی وجہ یہ ہے کہ بہت سے لوگوں نے اس کی تیاری میں بہت وقت اور محنت خرچ کی۔

اگر آپ پچھلے سیکشن میں توجہ دے رہے تھے ، تو آپ نے شاید اسی طرح کا مسئلہ دیکھا ہوگا جو کہ یونکس کے وقت کو متاثر کر سکتا ہے۔ ٹھیک ہے ، یونکس ٹائم کا اپنا ڈیٹا کا مسئلہ ہے: Y2k38 مسئلہ۔ (اسے اکثر ایک مسئلہ کہا جاتا ہے ، بگ نہیں maybe شاید ہم سال 2000 کے بعد سے زیادہ پر امید ہو گئے ہیں!) جب یونیکس کا وقت 2038 میں ختم ہو جائے گا تو سسٹم نئی تاریخوں کو 1902 یا 1970 سمجھیں گے۔ یا ممکنہ طور پر وہ ' مکمل طور پر ناکام ہو جائے گا.

کم از کم یہ مسئلہ ہمیں نئے سال کے موقع پر آدھی رات کو نہیں مارے گا۔ 32 بٹ یونکس ٹائم کا آخری سیکنڈ 19 مارچ کو ہوگا۔ ممکنہ طور پر ، ہم 2038 تک بیشتر سسٹمز کو اپ گریڈ کر دیں گے یا پھر ویسے بھی وہ متروک ہو جائیں گے۔

کچھ مفید ٹائم سٹیمپ وسائل۔

کی زمانہ کنورٹر۔ سائٹ ممکنہ طور پر سب سے زیادہ جامع ٹائم سٹیمپ کنورٹر دستیاب ہے۔ اس کا آغاز موجودہ یونکس ٹائم کی نمائش سے ہوتا ہے-ریئل ٹائم میں اور اس کے اوپر تقریبا every ہر تصوراتی خصوصیت کو شامل کرتا ہے۔ اس کا بنیادی استعمال دونوں سمتوں میں ٹائم سٹیمپ اور انسانی پڑھنے کے قابل تاریخوں کے درمیان تبدیل کرنے کے لیے ہے۔

ڈینز ٹولز مفید ویب ایپس کا ایک بہت بڑا مجموعہ ہے ، جن میں سے ایک ہے۔ ٹائم اسٹیمپ کنورٹر . یہ زیادہ بنیادی ہے ، لیکن اس کی ایک صاف ستھری پریزنٹیشن ہے اور استعمال میں آسان ہے۔

وقت ہے ایک اور ، اور بھی کم سے کم نظر پیش کرتا ہے۔ یہ یونیکس ٹائم سمیت متعدد فارمیٹس میں وقت دکھاتا ہے۔ اس کے صفحے کے عنوان میں موجودہ وقت شامل ہے جو مفید ہے۔

کمانڈ لائن ٹولز کے ساتھ یونکس ٹائم کا استعمال۔

لینکس اور میک او ایس پر ، تاریخ پروگرام تاریخ/وقت سے نمٹنے کے لئے بنیادی افادیت ہے ، بشمول یونکس ٹائم اسٹیمپ۔ بغیر کسی دلیل کے بلایا گیا ، یہ موجودہ تاریخ/وقت کو انسانی پڑھنے کے قابل فارمیٹ میں لوٹاتا ہے:

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

اگر آپ کو یونیکس ٹائم میں موجودہ تاریخ/وقت کی ضرورت ہو تو ، +٪ s دلیل:

$ date +%s
1612960114

آپ انسانی پڑھنے کے قابل تاریخ سے ٹائم سٹیمپ میں تبدیل کر سکتے ہیں -ڈی پرچم اگر آپ کا ورژن ہے۔ تاریخ اس کی حمایت کرتا ہے زیادہ تر لینکس ورژن ، بطور ڈیفالٹ:

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

macOS پر ، تاریخ ایک مختلف پروگرام ہے ، جس کے لیے جھنڈوں کے مختلف سیٹ کی ضرورت ہوتی ہے۔

$ 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

کچھ دوسرے پروگرام استعمال کرتے ہیں۔ ٪ s یونیکس ٹائم سے نمٹنے کے لیے فارمیٹ۔ مثال کے طور پر ، اگر آپ کسی فائل کی ترمیم کی تاریخ کو یونکس ٹائم میں دکھانا چاہتے ہیں۔ لینکس ورژن ایل ایس ، آپ درج ذیل استعمال کر سکتے ہیں:

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

پروگرامنگ زبانوں میں یونکس ٹائم کا استعمال کیسے کریں

پی ایچ پی کے پاس ہے۔ وقت () فنکشن جو موجودہ یونکس ٹائم اسٹیمپ لوٹاتا ہے۔ اس کی تاریخ () فنکشن اپنی دوسری دلیل کے طور پر ٹائم اسٹیمپ لیتا ہے۔

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

جاوا اسکرپٹ چیزوں سے دلچسپ انداز میں رابطہ کرتا ہے۔ اس میں a ہے۔ تاریخ اب () یونیس دور کے بعد سے ملی سیکنڈ کی تعداد حاصل کرنے کا طریقہ یقینا ، آپ اسے 1،000 سے تقسیم کر سکتے ہیں اور نتیجہ کو گول کر سکتے ہیں تاکہ یونیکس کو مساوی وقت سیکنڈ میں دیا جا سکے۔

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

یونیکس ٹائم کو سمجھنا۔

یونکس ٹائم ایک سادہ سا تصور ہے جو کئی جگہوں پر کٹتا ہے۔ ایک بار جب آپ اسے سمجھ لیں ، مثال کے طور پر ، وقت کے فرق کا حساب لگاتے وقت ، آپ کو یہ کافی مفید معلوم ہوگا۔ آپ یہ بھی پہچان سکتے ہیں کہ جب یہ کچھ کیڑے کا سبب بن سکتا ہے۔

دور اور ٹائم اسٹیمپ جیسے تصورات لینکس کے ساتھ شروع کرنے کا ایک اہم حصہ ہیں۔ ضروری چیزوں کے بارے میں مزید جاننے کے لیے جیسے۔ ایل ایس ، بنیادی لینکس کمانڈز کے لیے ہماری گائیڈ دیکھیں۔

بانٹیں بانٹیں ٹویٹ ای میل۔ لینکس کے ساتھ شروع کرنے کے لیے 9 بنیادی احکامات

لینکس سے واقفیت حاصل کرنا چاہتے ہیں؟ معیاری کمپیوٹنگ ٹاسک سیکھنے کے لیے ان بنیادی لینکس کمانڈز سے شروع کریں۔

اگلا پڑھیں۔
متعلقہ موضوعات۔ مصنف کے بارے میں بوبی جیک۔(58 مضامین شائع ہوئے)

بوبی ایک ٹکنالوجی کا شوقین ہے جس نے دو دہائیوں تک سافٹ ویئر ڈویلپر کی حیثیت سے کام کیا۔ وہ گیمنگ کے بارے میں پرجوش ہے ، سوئچ پلیئر میگزین میں بطور ریویو ایڈیٹر کام کرتا ہے ، اور آن لائن پبلشنگ اور ویب ڈویلپمنٹ کے تمام پہلوؤں میں ڈوبا ہوا ہے۔

بوبی جیک سے مزید

ہماری نیوز لیٹر کو سبسکرائب کریں

ٹیک ٹپس ، جائزے ، مفت ای بکس ، اور خصوصی سودوں کے لیے ہمارے نیوز لیٹر میں شامل ہوں!

سبسکرائب کرنے کے لیے یہاں کلک کریں۔