ইউনিক্স সময় কি এবং ইউনিক্স যুগ কখন ছিল?

ইউনিক্স সময় কি এবং ইউনিক্স যুগ কখন ছিল?

ইউনিক্সের নিজস্ব সময়ের ধারণা কেন? যুগ কি এবং Y2038 সমস্যা কি?





ইউনিক্স সময় হল একটি নির্দিষ্ট তারিখ এবং সময় উপস্থাপনের একটি মাধ্যম, যা লিনাক্স, ম্যাকওএস এবং অন্যান্য অনেক ইন্টারঅপারেবল সিস্টেম দ্বারা ব্যবহৃত হয়। এটি এত বিস্তৃত, যে আপনি সম্ভবত এটি সম্পর্কে সচেতন না হয়েই এটি ব্যবহার করছেন। একবার আপনি ইউনিক্স সময় বুঝতে পারলেও, আপনি এটি অনেক প্রসঙ্গে দেখতে পাবেন। ইউনিক্স সময় নিয়ে কাজ করতে বেশ কিছু টুল আপনাকে সাহায্য করতে পারে।





ইউনিক্স সময়ের উদ্দেশ্য কি?

একটি নির্দিষ্ট সময় এবং তারিখ থেকে ইউনিক্স সময় হল মোট সেকেন্ডের গণনা। এটি একটি ডেট/টাইম (বা টাইমস্ট্যাম্প) ফর্ম্যাট যা মানুষের পাঠযোগ্য তারিখ এবং সময় যা আমরা ব্যবহার করি তার থেকে আলাদা। এটি সম্পূর্ণরূপে দক্ষতার কারণে। বছর, মাস, ঘন্টা ইত্যাদির জন্য পৃথক মান সংরক্ষণের চেয়ে সেকেন্ডের প্রতিনিধিত্বকারী একটি একক সংখ্যা সংরক্ষণ করতে অনেক কম জায়গা লাগে।





অবশ্যই, আধুনিক ভাষায়, স্থানের পার্থক্য মোটেও তেমন নয়। কিন্তু বিবেচনা করুন যে ইউনিক্সের উৎপত্তি 1960 এর দশকের শেষের দিকে যখন উপলব্ধ স্টোরেজ অনেক ছোট ছিল। টাইমস্ট্যাম্পগুলিও প্রচুর ব্যবহৃত হয়, তাই তাদের স্টোরেজ যোগ হয়। উদাহরণস্বরূপ, প্রতিটি ফাইলের সাথে তিনটি টাইমস্ট্যাম্প যুক্ত থাকে।

আপনি যদি গাণিতিক প্রতিভা না হন তবে ফর্ম্যাটটি আপনার মাথায় অনুবাদ করা বেশ অসম্ভব। তবে এর মতো আরও পঠনযোগ্য বিকল্পগুলির তুলনায় এটির এখনও কিছু সুবিধা রয়েছে বুধ, 21 অক্টোবর 2015 07:28:00 GMT । আপনি এক নজরে খুব সহজেই দুটি ইউনিক্স টাইমস্ট্যাম্প অর্ডার করতে পারেন। দুটি টাইমস্ট্যাম্পের মধ্যে পার্থক্য খুঁজে বের করা সাধারণত দ্রুত হয়। এটি বিশেষভাবে একসঙ্গে বন্ধ তারিখগুলির জন্য সত্য, যেমন সংলগ্ন দিনগুলিতে।



যুগ সম্পর্কে

সুতরাং, ইউনিক্স সময় হল একটি নির্দিষ্ট বিন্দু থেকে সেকেন্ডের মোট গণনা। কিন্তু সময় যে বিন্দু কি? এটা 00:00:00 ইউটিসি চালু ১ লা জানুয়ারি 1970 । এটিকে প্রায়ই ইউনিক্স যুগ বলা হয়। প্রোগ্রামাররা সুবিধার বাইরে যুগে এই তারিখটি বেছে নিয়েছিলেন কারণ এটি ইউনিক্স সময় আবিষ্কার করার সময় নিকটতম রাউন্ড তারিখ ছিল।

আপনি হয়ত এই তারিখটি দেখেছেন যখন কিছু ভুল হয়েছে। এটি স্পষ্টতই একটি বাগ, কিন্তু যেটি খুব অদ্ভুত লাগে যখন এটি আমাদের অনেকের জন্মের আগে থেকে একটি তারিখের ফলাফল দেয়! এটি সম্পূর্ণরূপে বোধগম্য, যদিও, যখন আপনি ইউনিক্স সময় সম্পর্কে জানেন। যদি কোন সিস্টেম একটি টাইমস্ট্যাম্প প্রদর্শন করার চেষ্টা করে যার কোন মূল্য নেই, এটি প্রায়শই 0 তে অনুবাদ করবে এবং এর ফলে সঠিক যুগের তারিখ হবে।





কিভাবে আপনার ওয়ালপেপার উইন্ডোজ 10 হিসাবে একটি জিআইএফ সেট করবেন

ইউনিক্স টাইম ডেটা ফরম্যাট

কঠোরভাবে বলতে গেলে, একটি নেই। আসল ডেটা টাইপ ছিল একটি 32-বিট পূর্ণসংখ্যা, এবং এটি প্রায়শই কেস থেকে যায়, এমনকি অনেক বেশি শক্তিশালী সিস্টেমেও।

এই ডেটা টাইপটি মানকে মোট 2^32 সেকেন্ড সঞ্চয় করতে দেয়, যা মাত্র 136 বছরের বেশি। এই মানটি সাধারণত স্বাক্ষরিত হয়, যার অর্থ এটি নেতিবাচক বা ইতিবাচক হতে পারে। সুতরাং, এটি সাধারণত যুগে অর্থাৎ 1902-2038 এর উভয় পাশে 68 বছরের প্রতিনিধিত্ব করে।





এটি এখনও একটি সীমিত সময়কাল, অবশ্যই। কিন্তু টাইমস্ট্যাম্প ফরম্যাটের প্রাথমিক ব্যবহার ছিল ফাইল পরিবর্তনের মত ধারণার জন্য। প্রাচীন ইতিহাস বা ভবিষ্যতের চেয়ে বরং বর্তমানের কাছাকাছি সময়ের প্রতিনিধিত্ব করার প্রয়োজন ছিল। এমনকি ক্যালেন্ডারের মতো অ্যাপ্লিকেশনগুলির জন্য, ভবিষ্যতে কয়েক দশকেরও বেশি তারিখের প্রতিনিধিত্ব করার খুব কমই প্রয়োজন রয়েছে।

কিন্তু তার মানে এই নয় যে এই সীমিত সময়কাল সমস্যা ছাড়াই ...

বছর 2038 সমস্যা

Y2K বাগ (ইতিহাসের সবচেয়ে খারাপ প্রোগ্রামিং ভুলগুলির মধ্যে একটি) কম্পিউটার সিস্টেমগুলিকে প্রভাবিত করে যা বছরগুলিকে দুই-অঙ্কের মান হিসাবে সংরক্ষণ করে। যখন ২০০০ সাল এসেছিল, তখন এই ধরনের ব্যবস্থাগুলি এটিকে ১00০০ এর মতো মনে করেছিল। ঘটনাটিতে, এটি আশঙ্কার মতো বিপর্যয়কর ছিল না, প্রধানত কারণ অনেক লোক এর জন্য প্রস্তুতি নিয়ে অনেক সময় এবং প্রচেষ্টা ব্যয় করেছিল।

আপনি যদি আগের বিভাগে মনোযোগ দিয়ে থাকেন, তাহলে আপনি হয়তো একই রকম সমস্যা দেখেছেন যা ইউনিক্সের সময়কে প্রভাবিত করতে পারে। আচ্ছা, ইউনিক্স সময়ের নিজস্ব একটি ডেটা সমস্যা আছে: Y2k38 সমস্যা। (এটি প্রায়শই একটি সমস্যা হিসাবে উল্লেখ করা হয়, বাগ নয়; সম্ভবত আমরা 2000 সাল থেকে আরও আশাবাদী হয়ে উঠেছি!) যখন ইউনিক্স সময় 2038 সালে আক্ষরিকভাবে শেষ হয়ে যায়, সিস্টেমগুলি নতুন তারিখগুলি 1902 বা 1970 হিসাবে বিবেচনা করবে। অথবা সম্ভবত তারা ' পুরোপুরি ব্যর্থ হবে।

কমপক্ষে এই সমস্যাটি আমাদেরকে নববর্ষের প্রাক্কালে মধ্যরাতে আঘাত করবে না। 32-বিট ইউনিক্স সময়ের চূড়ান্ত দ্বিতীয়টি 19 শে মার্চ পড়বে। ঘটনাক্রমে, আমরা সম্ভবত 2038 সালের মধ্যে বেশিরভাগ সিস্টেম আপগ্রেড করব অথবা সেগুলি যাইহোক অচল হয়ে যাবে।

কিছু দরকারী টাইমস্ট্যাম্প সম্পদ

দ্য যুগ যুগান্তরকারী সাইটটি সম্ভবত সর্বাধিক বিস্তৃত টাইমস্ট্যাম্প রূপান্তরকারী। এটি বর্তমান ইউনিক্স সময়-রিয়েল-টাইমে প্রদর্শন করে শুরু হয় এবং এর উপরে প্রায় প্রতিটি কল্পনাযোগ্য বৈশিষ্ট্য যোগ করে। এর প্রধান ব্যবহার হল টাইমস্ট্যাম্প এবং মানুষের পঠনযোগ্য তারিখের মধ্যে রূপান্তর, উভয় দিকে।

ড্যানস টুলস হল দরকারী ওয়েব অ্যাপের একটি বিশাল সংগ্রহ, যার মধ্যে একটি হল ক টাইমস্ট্যাম্প রূপান্তরকারী । এটি আরো মৌলিক, কিন্তু একটি খুব পরিষ্কার উপস্থাপনা এবং ব্যবহার করা সহজ।

সময় আরেকটি, এমনকি আরো minimalistic চেহারা উপস্থাপন করে। এটি ইউনিক্স সময় সহ বিভিন্ন ফরম্যাটে সময় দেখায়। এটি তার পৃষ্ঠার শিরোনামে বর্তমান সময় অন্তর্ভুক্ত করে যা দরকারী।

কমান্ড লাইন টুলস দিয়ে ইউনিক্স টাইম ব্যবহার করা

লিনাক্স এবং ম্যাকোসে, তারিখ প্রোগ্রাম হল ইউনিক্স টাইমস্ট্যাম্প সহ তারিখ/সময় নিয়ে কাজ করার মূল উপযোগিতা। কোন আর্গুমেন্ট ছাড়াই ডাকা হয়, এটি বর্তমান-তারিখ/সময়কে মানুষের পাঠযোগ্য বিন্যাসে ফেরত দেয়:

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

ইউনিক্স টাইমে আপনার বর্তমান তারিখ/সময় প্রয়োজন হলে, ব্যবহার করুন +%s যুক্তি:

$ date +%s
1612960114

আপনি একটি মানব-পাঠযোগ্য তারিখ থেকে টাইমস্ট্যাম্পে রূপান্তর করতে পারেন -ডি পতাকা যদি আপনার সংস্করণ তারিখ এটা সমর্থন করে। বেশিরভাগ লিনাক্স সংস্করণ ডিফল্টরূপে হওয়া উচিত:

$ 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

অন্য কিছু প্রোগ্রাম ব্যবহার করে %s ইউনিক্স সময় মোকাবেলা করার জন্য বিন্যাস। উদাহরণস্বরূপ, যদি আপনি ইউনিক্স সময়ে একটি ফাইলের পরিবর্তন তারিখ দেখাতে চান, তাহলে এর লিনাক্স সংস্করণ ls , আপনি নিম্নলিখিত ব্যবহার করতে পারেন:

$ 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

জাভাস্ক্রিপ্ট একটি আকর্ষণীয় উপায়ে জিনিসগুলির কাছে আসে। এটার আছে একটি তারিখ এখন () ইউনিক্স যুগের পর থেকে মিলিসেকেন্ডের সংখ্যা পাওয়ার পদ্ধতি। অবশ্যই, আপনি এটিকে 1,000 দিয়ে ভাগ করতে পারেন এবং ফলাফলের চারপাশে সমান ইউনিক্স সময় দিতে পারেন সেকেন্ডে:

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

ইউনিক্স সময় বোঝা

ইউনিক্স সময় একটি সহজ ধারণা যা অনেক জায়গায় ফসল হয়। একবার আপনি এটি বুঝতে পারলে, উদাহরণস্বরূপ, সময়ের পার্থক্য গণনা করার সময়, আপনি এটি বেশ উপকারী বলে মনে করতে পারেন। নির্দিষ্ট বাগের কারণ কখন হতে পারে তা আপনি চিনতে পারেন।

যুগ এবং টাইমস্ট্যাম্পের মতো ধারণাগুলি লিনাক্সের সাথে শুরু করার একটি গুরুত্বপূর্ণ অংশ। যেমন অপরিহার্য সম্পর্কে আরও জানতে ls , মৌলিক লিনাক্স কমান্ডের জন্য আমাদের গাইড দেখুন।

শেয়ার করুন শেয়ার করুন টুইট ইমেইল লিনাক্স দিয়ে শুরু করার জন্য 9 টি মৌলিক কমান্ড

লিনাক্সের সাথে পরিচিতি পেতে চান? স্ট্যান্ডার্ড কম্পিউটিং টাস্ক শিখতে এই মৌলিক লিনাক্স কমান্ড দিয়ে শুরু করুন।

পরবর্তী পড়ুন
সম্পর্কিত বিষয় লেখক সম্পর্কে ববি জ্যাক(58 নিবন্ধ প্রকাশিত)

ববি একজন প্রযুক্তি উৎসাহী যিনি দুই দশকের বেশিরভাগ সময় সফটওয়্যার ডেভেলপার হিসেবে কাজ করেছেন। তিনি গেমিং সম্পর্কে উত্সাহী, সুইচ প্লেয়ার ম্যাগাজিনে রিভিউ এডিটর হিসাবে কাজ করছেন এবং অনলাইন প্রকাশনা এবং ওয়েব ডেভেলপমেন্টের সকল ক্ষেত্রে নিমজ্জিত।

ববি জ্যাক থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন