كيفية عرض التاريخ والوقت في محطة طرفية Linux (واستخدامها في نصوص Bash)

ال date يوجد الأمر في غلاف Bash، وهو الغلاف الافتراضي في معظم توزيعات Linux وحتى macOS. يوضح لك هذا البرنامج التعليمي كيفية إتقان date على سطر الأوامر وكيف يمكنك استخدامه في نصوص shell للقيام بأكثر من مجرد طباعة الوقت.




كيفية رؤية التاريخ والوقت والوقت في محطة طرفية Linux

قم بتشغيل date الأمر لعرض هذه المعلومات. يقوم بطباعة التاريخ والوقت الحاليين لمنطقتك الزمنية:

date

إخراج أمر التاريخ

يبدو التنسيق الافتراضي غريبًا بعض الشيء. لماذا لا تتم طباعة السنة بعد الشهر واليوم، بدلاً من وضع علامة عليها في النهاية، خلف المنطقة الزمنية؟ لا تقلق: إذا كنت تريد التحكم في تنسيق الإخراج، date يقدمها بسخاء. هناك أكثر من 40 خيارًا يمكنك تمريرها إلى date لتوجيهه إلى تنسيق مخرجاته بدقة كما تريد.


لاستخدام أي من الخيارات اكتب date، مسافة، علامة زائد +، والخيار الذي يتضمن علامة النسبة المئوية الرائدة. %c يؤدي خيار (البيانات والوقت بتنسيق محلي) إلى طباعة التاريخ والوقت بتنسيق طبيعي مرتبط بموقعك المحلي. يتم تعيين موقعك المحلي من خلال المعلومات الجغرافية والثقافية التي قدمتها عند تثبيت نظام التشغيل. يتحكم الموقع المحلي في أشياء مثل رمز العملة وأحجام الورق والمنطقة الزمنية والمعايير الثقافية الأخرى.

date +%c

إخراج أمر التاريخ مع الخيار c

ويبدو العام الآن في وضع أكثر طبيعية في الإخراج.

يمكنك تمرير عدة خيارات إلى date مرة واحدة. تسمى سلسلة الخيارات سلسلة التنسيق. لرؤية اسم اليوم (%A), يوم الشهر (%d) واسم الشهر (%B), استخدم هذا الأمر:

date +%A%d%B


إخراج أمر التاريخ مع الخيارات A و B

لقد نجح الأمر، لكنه قبيح. لا توجد مشكلة، يمكننا تضمين المسافات طالما أننا نلف سلسلة التنسيق بالكامل بين علامتي اقتباس. لاحظ أن + يخرج خارج علامات الاقتباس.

date +"%A %d %B"

إخراج أمر التاريخ مع خيار A d B مع المسافات

يمكنك إضافة نص إلى سلسلة التنسيق، مثل هذا:

date +"Today is: %A %d %B"

إخراج أمر البيانات مع النص الذي أضافته المستخدم


التمرير لأعلى ولأسفل خلال dateصفحة الرجل سرعان ما يصبح البحث عن الخيار الذي تريده أمرًا مرهقًا. لقد قمنا بتقسيم الخيارات إلى مجموعات لمساعدتك في العثور على طريقك بينها بسهولة أكبر.

خيارات لعرض التاريخ والوقت

  • :يطبع التاريخ والوقت بالتنسيق المناسب لموقعك، بما في ذلك المنطقة الزمنية.

إخراج أمر التاريخ

خيارات لعرض التاريخ

  • :طباعة التاريخ بتنسيق mm/dd/yy.
  • :طباعة التاريخ بتنسيق yyyy-mm-dd.
  • %x:طباعة التاريخ بالتنسيق المناسب لموقعك.

إخراج أمر التاريخ مع خيارات DF x


خيارات لعرض اليوم

  • :يطبع اسم اليوم، مختصرًا إلى الاثنين، الثلاثاء، الأربعاء، وما إلى ذلك.
  • :يطبع الاسم الكامل لليوم، الاثنين، الثلاثاء، الأربعاء، وما إلى ذلك.
  • :يطبع رقم يوم الأسبوع، حيث الاثنين = 1، الثلاثاء = 2، الأربعاء = 3، وهكذا.
  • :يطبع رقم يوم الأسبوع، حيث الأحد=0، الاثنين=1، الثلاثاء=2، وهكذا.
  • :يطبع يوم الشهر، مع وضع صفر أساسي (01، 02 … 09) إذا لزم الأمر.
  • :يطبع يوم الشهر، مع ترك مسافة بادئة (‘1’، ‘2’ … ‘9’) إذا لزم الأمر. لاحظ أن علامات الاقتباس لا تُطبع.
  • :يطبع يوم السنة، مع ما يصل إلى صفرين رئيسيين، إذا لزم الأمر.

إخراج أمر التاريخ مع خيارات A uwdej


خيارات لعرض الأسبوع

  • :يطبع رقم الأسبوع في السنة، مع اعتبار يوم الأحد هو اليوم الأول من الأسبوع. على سبيل المثال، الأسبوع الثالث من السنة، الأسبوع العشرين من السنة، وما إلى ذلك.
  • %V:يطبع رقم أسبوع ISO للسنة، مع اعتبار يوم الاثنين هو اليوم الأول من الأسبوع.
  • :رقم أسبوع السنة، باعتبار يوم الإثنين هو اليوم الأول من الأسبوع.

إخراج أمر التاريخ مع خيارات UVW

خيارات لعرض الشهر

  • أو :يطبع اسم الشهر مختصرًا إلى Jan، Feb، Mar، وما إلى ذلك.
  • :يطبع الاسم الكامل للشهر، يناير، فبراير، مارس، وما إلى ذلك.
  • :طباعة رقم الشهر، مع إضافة صفر في البداية إذا لزم الأمر 01، 02، 03 … 12.

مخرجات أمر التاريخ مع خيارات bh B m


خيارات لعرض السنة

  • :تطبع القرن بدون السنة. في عام 2019 ستطبع 20.
  • :تطبع السنة برقمين. في عام 2019 ستطبع 19.
  • :طباعة السنة بأربعة أرقام.

إخراج أمر التاريخ مع خيارات C y Y

خيارات لعرض الوقت

  • :طباعة الوقت بالصيغة HH:MM:SS.
  • :يطبع الساعة والدقائق بالترتيب HH:MM بدون ثوانٍ، باستخدام ساعة 24 ساعة.
  • :طباعة الوقت وفقًا لموقعك، باستخدام ساعة مكونة من 12 ساعة ومؤشر صباحًا أو مساءً.
  • %X:يطبع الوقت وفقًا لموقعك المحلي، باستخدام ساعة 24 ساعة. يُزعم. لاحظ أنه أثناء الاختبار، كان هذا الخيار يتصرف تمامًا كما هو الحال %r يقوم بذلك، كما هو موضح أدناه. على جهاز Linux مهيأ للإعدادات المحلية في المملكة المتحدة ومضبوط على توقيت جرينتش، قام بطباعة الوقت، باستخدام ساعة 24 ساعة بدون مؤشر AM أو PM، كما هو متوقع.


إخراج أمر التاريخ مع خيارات TR r X

خيارات لعرض الساعة

  • :طباعة الساعة 00، 01، 02…23.
  • ٪أنا:طباعة الساعة باستخدام نظام الـ 12 ساعة، 00، 01، 02 … 12، مع وضع صفر في البداية إذا لزم الأمر.

إخراج أمر التاريخ مع خيارات HI

خيارات لعرض الدقائق

  • : تطبع الدقيقة 01، 02، 03 … 59، مع وضع صفر في البداية إذا لزم الأمر.

إخراج أمر التاريخ مع خيارات M


خيارات لعرض الثواني

  • :يطبع عدد الثواني منذ 1970-01-01 00:00:00، بداية عصر يونكس.
  • :طباعة الثواني، 01، 02، 03 … 59، مع وضع صفر في البداية إذا لزم الأمر.
  • :طباعة النانو ثانية.

إخراج أمر التاريخ مع خيارات s SN

خيارات لعرض معلومات المنطقة الزمنية

  • :يطبع فارق التوقيت بين منطقتك الزمنية وتوقيت UTC.
  • %:ز: تطبع فارق التوقيت بين منطقتك الزمنية وتوقيت UTC، مع وجود علامة : بين الساعات والدقائق. لاحظ : بين % علامة و z .
  • %::ز: تطبع فارق الوقت بين منطقتك الزمنية وتوقيت UTC، مع وجود علامة : بين الساعات والدقائق والثواني. لاحظ :: بين % علامة و z .
  • :طباعة اسم المنطقة الزمنية الأبجدي.


إخراج أمر التاريخ مع خيارات المنطقة الزمنية

  • :طباعة مؤشر AM أو PM بأحرف كبيرة.
  • :يطبع مؤشر am أو pm بأحرف صغيرة. لاحظ الاختلاف بين هذين الخيارين. يمكن طباعة مؤشر am أو pm بأحرف صغيرة p يعطي إخراجًا بأحرف كبيرة، أحرف كبيرة P يعطي إخراجًا بأحرف صغيرة.
  • :طباعة علامة تبويب.
  • :طباعة سطر جديد.

إخراج أمر التاريخ مع مؤشر AM PM وخيارات التنسيق

خيارات لتعديل خيارات أخرى

يمكن إدراج هذه المعدلات بين % وحرف الخيار للخيارات الأخرى لتعديل عرضها. على سبيل المثال، %-S سيؤدي ذلك إلى إزالة الصفر الأولي لقيم الثواني المكونة من رقم واحد.


  • :تمنع الشرطة المفردة ملء الصفر على القيم المكونة من رقم واحد.
  • _:تضيف الشرطة السفلية المفردة مسافات بادئة للقيم المكونة من رقم واحد.
  • 0:يوفر أصفارًا بادئة للقيم المكونة من رقم واحد.
  • ^:استخدم الأحرف الكبيرة، إذا كان ذلك ممكنًا (لا تحترم كل الخيارات هذا التعديل).
  • #:استخدم عكس حالة الأحرف الافتراضية للخيار، إذا كان ذلك ممكنًا (لا تحترم كل الخيارات هذا التعديل).

إخراج أمر التاريخ مع خيارات التنسيق

حيلتان أخريان أنيقتان

للحصول على وقت التعديل الأخير لملف، استخدم -r (خيار المرجع). لاحظ أن هذا يستخدم - (شرطة) بدلا من % علامة، ولا يتطلب الأمر + جرب هذا الأمر في المجلد الرئيسي الخاص بك:

date -r .bashrc


إخراج أمر التاريخ مع خيار وقت تعديل الملف

يتيح لك إعداد TZ تغيير منطقتك الزمنية طوال مدة أمر واحد.

TZ=GMT date +%c

إخراج أمر التاريخ لمنطقة زمنية مختلفة

استخدام التاريخ في البرامج النصية

إن تمكين نص Bash shell من طباعة الوقت والتاريخ أمر سهل للغاية. قم بإنشاء ملف نصي بالمحتوى التالي، واحفظه باسم gd.sh.

#!/bin/bash

TODAY=$(date +"Today is %A, %d of %B")
TIMENOW=$(date +"The local time is %r")
TIME_UK=$(TZ=BST date +"The time in the UK is %r")

echo $TODAY
echo $TIMENOW
echo $TIME_UK

اكتب الأمر التالي لتعيين أذونات التنفيذ وجعل البرنامج النصي قابلاً للتنفيذ.

chmod +x gd.sh

قم بتشغيل البرنامج النصي باستخدام هذا الأمر:

./gd.sh

مخرجات البرنامج النصي gd.sh


يمكننا استخدام أمر التاريخ لتوفير طابع زمني. سيعمل البرنامج النصي الموضح على إنشاء دليل باسم الطابع الزمني. ثم سينسخ جميع ملفات النصوص من المجلد الحالي إليه. من خلال تشغيل هذا البرنامج النصي بشكل دوري، يمكننا التقاط لقطة من ملفات النصوص الخاصة بنا. بمرور الوقت، سننشئ سلسلة من المجلدات تحتوي على إصدارات مختلفة من ملفات النصوص الخاصة بنا.

لاحظ أن هذا ليس نظام نسخ احتياطي قوي، فهو لأغراض توضيحية فقط.

قم بإنشاء ملف نصي بالمحتوى التالي، ثم احفظه باسم snapshot.sh.

#!/bin/bash


date_stamp=$(date +"%F-%H-%M-%S")


mkdir "$date_stamp"


cp *.txt "$date_stamp"


echo "Text files copied to directory: "$date_stamp

اكتب الأمر التالي لتعيين أذونات التنفيذ وجعل البرنامج النصي قابلاً للتنفيذ.

chmod +x snapshot.sh

قم بتشغيل البرنامج النصي باستخدام هذا الأمر:

./snapshot.sh

تأثير تشغيل البرنامج النصي snapshot.sh


ستلاحظ أنه تم إنشاء دليل. ويشير اسمه إلى التاريخ والوقت اللذين تم فيهما تنفيذ البرنامج النصي. ويوجد داخل هذا الدليل نسخ من ملفات النصوص.

مع قليل من التفكير والإبداع، حتى المتواضع date يمكن استخدام الأمر في الاستخدام الإنتاجي.

أضف تعليق