লিনাক্সে সিস্টেমের তারিখটি কীভাবে পরিবর্তন করবেন?
আমি বদলাতে চাই:
- একমাত্র বছর
- শুধু মাস
- শুধু তারিখ
- তিনটির উপরে যে কোনও সমন্বয়
sudo ntpd -gq
এনটিপি পরিষেবাটি স্বয়ংক্রিয়ভাবে সিস্টেম আপডেট করতে পারবেন ।
লিনাক্সে সিস্টেমের তারিখটি কীভাবে পরিবর্তন করবেন?
আমি বদলাতে চাই:
sudo ntpd -gq
এনটিপি পরিষেবাটি স্বয়ংক্রিয়ভাবে সিস্টেম আপডেট করতে পারবেন ।
উত্তর:
ব্যবহার date -s
:
date -s '2014-12-25 12:34:56'
চালান যে রুট হিসাবে অথবা অধীনে sudo
। বছর / মাস / দিন কেবলমাত্র একটি পরিবর্তন করা আরও একটি চ্যালেঞ্জ এবং বর্তমান তারিখের পুনরাবৃত্তি বিটগুলিতে জড়িত। প্রধান ডেস্কটপ পরিবেশে অন্তর্নির্মিত জিইউআই তারিখ সরঞ্জামগুলি রয়েছে, সাধারণত ঘড়ির মাধ্যমে অ্যাক্সেস করা হয়।
সময়ের কেবলমাত্র অংশটি পরিবর্তন করতে, আপনি তারিখের স্ট্রিংয়ে কমান্ড প্রতিস্থাপন ব্যবহার করতে পারেন:
date -s "2014-12-25 $(date +%H:%M:%S)"
তারিখ পরিবর্তন করবে, তবে সময় রাখবে। দেখুন man date
বিস্তারিত ফর্ম্যাটিং অন্যান্য সমন্বয় গঠন করা জন্য: ব্যক্তি উপাদান %Y
, %m
, %d
, %H
, %M
, এবং %S
।
date -s "2014-12-25 $(date +%H:%M:%S)"
যদিও আপনি তারিখটি পরিবর্তন করতে এবং বর্তমান সময়টিকে পুনরায় ব্যবহার করতে পারেন ।
date: cannot set date: Invalid argument
date -s 2018-01-01
। কেউ উত্তর এছাড়া শেয়ার করেছেন: superuser.com/questions/870068/...
সিস্টেম সময়
আপনি date
সিস্টেমের তারিখ সেট করতে ব্যবহার করতে পারেন । GNU বাস্তবায়ন date
(বেশিরভাগ এম্বেড থাকা লিনাক্স ভিত্তিক সিস্টেমে পাওয়া যায়) সময় নির্ধারণের জন্য বিভিন্ন ফর্ম্যাট গ্রহণ করে, এখানে কয়েকটি উদাহরণ রয়েছে:
শুধুমাত্র বছর সেট করুন:
date -s 'next year'
date -s 'last year'
শুধুমাত্র মাস সেট করুন:
date -s 'last month'
date -s 'next month'
শুধুমাত্র দিন নির্ধারণ করুন:
date -s 'next day'
date -s 'tomorrow'
date -s 'last day'
date -s 'yesterday'
date -s 'friday'
সব একসাথে সেট করুন:
date -s '2009-02-13 11:31:30' #that's a magical timestamp
হার্ডওয়্যার সময়
এখন সিস্টেমের সময় সেট করা হয়েছে তবে আপনি এটি হার্ডওয়ার ঘড়ির সাথে সিঙ্ক করতে চাইতে পারেন:
--show
হার্ডওয়্যার সময় মুদ্রণ করতে ব্যবহার করুন :
hwclock --show
আপনি বর্তমান সিস্টেমের সময়টিতে হার্ডওয়্যার ঘড়িটি সেট করতে পারেন:
hwclock --systohc
অথবা সিস্টেমের সময়টি হার্ডওয়ার ঘড়িতে
hwclock --hctosys
আপনি date
কমান্ড দিয়ে তারিখ পরিবর্তন করুন । তবে, কমান্ডটি আর্গুমেন্ট হিসাবে একটি সম্পূর্ণ তারিখ প্রত্যাশা করে:
# date -s "20141022 09:45"
Wed Oct 22 09:45:00 BST 2014
তারিখের অংশটি পরিবর্তন করতে, আপনি একটি স্ট্রিং হিসাবে পরিবর্তন করতে চান এমন তারিখের অংশের সাথে এবং অন্য সকলকে তারিখের বিন্যাসকরণ ভেরিয়েবল হিসাবে বর্তমান তারিখটি আউটপুট করুন। তারপরে date -s
এটি সেট করতে কমান্ডটিতে এটি পাস করুন :
# date -s "$(date +'%Y12%d %H:%M')"
Mon Dec 22 10:55:03 GMT 2014
মাসটি 12 তম মাসে পরিবর্তন হয় - ডিসেম্বর।
তারিখের ফর্ম্যাটগুলি হ'ল:
%Y
- বছর%m
- মাস%d
- দিন%H
- ঘন্টা%M
- মিনিটআমার মত ESXI 5.1 চালানোর জন্য, সিস্টেমটি আমাকে কী উত্তর দিয়েছে তা এখানে
~ # date -s "2016-03-23 09:56:00"
date: invalid date '2016-03-23 09:56:00'
পরিবর্তে আমাকে একটি নির্দিষ্ট ESX কমান্ড ব্যবহার করতে হয়েছিল:
esxcli system time set -y 2016 -M 03 -d 23 -H 10 -m 05 -s 00
সিস্টেমের তারিখ পরিবর্তন করার কমান্ডটি হ'ল date
।
ডেট কমান্ডকে কল করার জন্য দুটি উপায় রয়েছে (লিনাক্সে):
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
সবচেয়ে সহজ উপায়টি হ'ল date -s
এটি সহজ আপেক্ষিক তারিখগুলি ব্যবহারের অনুমতি দেয়
$ date -s yesterday; date
date: cannot set date: Operation not permitted
Sat Jan 5 07:21:07 EST 2019
Sun Jan 6 07:21:07 EST 2019
তারিখটি পরিবর্তন হয়নি কারণ এটি একটি সীমাবদ্ধ ব্যবহারকারীর সাথে কার্যকর করা হয়েছিল $
। আপনি যদি প্রকৃতপক্ষে তারিখটি পরিবর্তন করতে চান তবে মূল ( #
) বা সুডো ব্যবহার করুন:
$ sudo date -s yesterday; date
Sat Jan 5 07:21:07 EST 2019
Sat Jan 5 07:21:07 EST 2019
সুতরাং, আপেক্ষিক তারিখের যে কোনও অংশ পরিবর্তন করা নামকরণ করার মতোই সহজ:
$ date -s "5 years ago"
Mon Jan 6 08:26:26 EST 2014
$ date -s "+6 months"
Sat Jul 6 08:28:39 EDT 2019
$ date -s "+3 hours -13 minutes"
Sun Jan 6 11:16:59 AST 2019
পরম তারিখগুলি আরও জটিল কারণ তাদের আরও বিশদ প্রয়োজন:
$ date -s "2001-07-23 10:11:12"
অথবা, আপনি দু'বার ডেট কমান্ড ব্যবহার করতে পারেন:
$ date -s "$(date +'%Y-%m-%d %H:%M:%S')"
কোনওটি %
একটি বৈধ মান দ্বারা প্রতিস্থাপন করুন এবং তারিখটি সেট করা হবে (কেবলমাত্র রুট হিসাবে)।
$ date -s "$(date +'%Y-11-%d %H:%M:%S')"
Wed Nov 6 08:37:15 EST 2019
দ্বিতীয় তারিখের কল ফর্মটি সরাসরি সিস্টেমের তারিখ পরিবর্তন করতে ব্যবহৃত হয় ।
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
সুতরাং:
date 11230812 # MMDDhhmm
23 নভেম্বর তারিখটি 08 এএম এবং 12 মিনিটে নির্ধারণ করবে।
বিএসডির অনুরূপ কমান্ড রয়েছে তবে একটি আলাদা ফর্ম্যাট ([[[[[সিসি] ইয়ে] মিমি] ডিডি] এইচএইচ] এমএম [এসএসএস]))।
date
এটি কী করবে তা দেখার জন্য একটি সীমাবদ্ধ ব্যবহারকারী হিসাবে চেষ্টা করুন (কোনও কিছু পরিবর্তন না করে):
$ date 11230812
date: cannot set date: Operation not permitted
Sat Nov 23 08:12:00 EST 2019
অথবা, যদি আপনি আসলে তারিখটি মূল হিসাবে পরিবর্তন করতে চান:
# date 11230812
# date
Sat Nov 23 08:12:00 EST 2019
নোট করুন যে এনটিপি বা ক্রোনির মতো পরিষেবাগুলি প্রভাবিত হবে। এবং, যদি পুনঃসূচনা হয় তবে তারিখটি রিয়েলটিকে পুনরায় সেট করে।
বছর নির্ধারণের জন্য YY যুক্ত করুন:
$ date 1123081222
date: cannot set date: Operation not permitted
Wed Nov 23 08:12:00 EST 2022
বা বছর এবং শতাব্দী সেট করতে একটি সিসিওয়াই :
$ date 112308121982
date: cannot set date: Operation not permitted
Tue Nov 23 08:12:00 EST 1982
লিনাক্স কার্নাল ব্যবহার করে অ্যান্ড্রয়েড থিংসে টার্মিনাল শেল কমান্ডটি সফলভাবে তারিখ নির্ধারণ করতে আমি নীচে তালিকাভুক্ত তারিখ কমান্ড এবং সময় বিন্যাসটি ব্যবহার করেছি।
তারিখ 092615002017.00
MMDDHHMMYYYY.SS
এমএম - মাস - 09
ডিডি - দিন - 26
এইচএইচ - ঘন্টা - 15
এমএম - ন্যূনতম - 00
YYYY - বছর - 2017
.এসএস - দ্বিতীয় - 00
date
, আপনি কী দয়া করে এটি কোন সিস্টেমের জন্য প্রাসঙ্গিক এবং এটি কীভাবে এই নির্দিষ্ট প্রশ্নের সাথে প্রাসঙ্গিক সে সম্পর্কে আরও তথ্য যুক্ত করতে পারেন।
date --set='-2 years'
অন্যান্য সমস্ত উপাদানকে অভিন্ন রেখে দু'বছর পিছনে ঘড়ি সেট করতে ব্যবহার করতে পারেন । আপনি একইভাবে মাস এবং মাসের দিন পরিবর্তন করতে পারেন। এই গণনাটি যদি এমন কোনও ডেটটাইমের ফলাফল দেয় যা আসলে হয় না, তবে কী হয় তা আমি পরীক্ষা করে দেখিনি, যেমন একটি ডিএসটি সুইচওভার চলাকালীন, তবে আচরণটি অবশ্যই "কংক্রিটের মানগুলির জন্য তারিখ এবং সময় উভয়ই নির্ধারণ করা" আচরণের মতো হওয়া উচিত।