9 ตัวอย่างการปฏิบัติของคำสั่งวันที่ Linux

9 ตัวอย่างการปฏิบัติของคำสั่งวันที่ Linux

พบกับคำสั่งวันที่ของ Linux ไม่ มันไม่สามารถทำให้คุณมีค่ำคืนที่โรแมนติกได้ แต่มันสามารถจัดรูปแบบวันที่ที่ด้านบนของจดหมายรักที่คุณเขียนในเทอร์มินัล ใกล้พอ? มาเริ่มกันเลย.





ขณะที่คุณกำลังเขียนสคริปต์ใน Bash คุณจะต้องพิมพ์วันที่หรือเวลาอย่างหลีกเลี่ยงไม่ได้ และวันที่หรือเวลานั้นมักจะต้องอยู่ในรูปแบบเฉพาะเพื่อตอบสนองความต้องการของฟังก์ชันอื่นๆ นั่นคือเมื่อคำสั่ง date เข้ามาเล่น





อย่างที่คุณเห็น คำสั่ง date ใน Linux นั้นทั้งเรียบง่ายและใช้งานได้หลากหลาย หมายความว่าจะยอมรับอินพุตทุกประเภทและสร้างวันที่ในหลากหลายรูปแบบ นอกจากนี้ยังมีฟังก์ชันพิเศษอื่นๆ สำหรับงานคำนวณที่เกี่ยวข้องกับเวลาต่างๆ ตัวเลือกและไวยากรณ์ของวันที่เรียนรู้จะทำให้คุณมีทักษะในการเขียนสคริปต์มากขึ้น และอาจตรงต่อเวลามากขึ้น





ไวยากรณ์พื้นฐานของคำสั่งวันที่

ไวยากรณ์พื้นฐานสำหรับคำสั่ง date มีดังนี้:

date [OPTION]... [+FORMAT]

หมายความว่าหลังจากเข้ามาแล้ว วันที่ คุณสามารถป้อนตัวเลือกเช่น -NS หรือ -NS เพื่อเรียกใช้ฟังก์ชันเฉพาะ ซึ่งเราจะอธิบายด้านล่าง



คุณยังสามารถติดตามสิ่งเหล่านั้นด้วยการจัดรูปแบบสตริง ซึ่งขึ้นต้นด้วย a . เสมอ + อักขระ. สตริงเหล่านั้นใช้อักขระการจัดรูปแบบเฉพาะ ซึ่งแสดงอยู่ด้านล่าง เพื่อกำหนดผลลัพธ์

Linux date Command ตัวอย่างการปฏิบัติ

คุณสามารถใส่คำสั่ง date ได้หลายวิธี ลองพิจารณากรณีการใช้งานทั่วไปและมีประโยชน์มากที่สุดในกรณีเดียวกัน





1. รับวันที่และเวลาปัจจุบัน

คุณสามารถรับวันที่และเวลาท้องถิ่นปัจจุบันในรูปแบบเริ่มต้นได้โดยส่งคำสั่ง date ด้วยตัวเอง

$ date
Mon 19 Apr 2021 12:41:17 PM CDT

ดังที่คุณเห็น วันที่ให้ข้อมูลวันที่และเวลาที่เกี่ยวข้องในรูปแบบที่เรียบง่ายและคาดเดาได้





2. รับอดีตหรือวันที่ในอนาคต

สมมติว่าในสคริปต์ของคุณ คุณต้องคำนวณเวลาและวันที่ซึ่งก็คือหนึ่งสัปดาห์นับจากนี้ คำสั่ง date ช่วยคุณได้ ออกคำสั่งนี้โดยใช้ -NS ตัวเลือกในการรับข้อมูลโดยละเอียดเกี่ยวกับวันที่ในอนาคต:

$ date -d 'next week'
Tue 27 Apr 2021 05:21:07 PM CDT

NS -NS ตัวเลือกย่อมาจาก date เป็นที่ที่คำสั่ง date ส่องแสงจริงๆ จะยอมรับสตริงวันที่ที่กำหนดเองได้หลากหลาย พวกเขาสามารถเป็นเทคนิคเช่น 20200315 , 03/15/20 , หรืออ่านได้เช่น 15 มี.ค. 2020 . แต่คุณยังสามารถใช้คำที่สัมพันธ์กันได้ เช่น พรุ่งนี้ , เมื่อวาน , วันอาทิตย์หน้า , และอื่น ๆ. ลองเล่นกับมันและดูว่าวันที่ตีความสตริงอินพุตต่างๆ อย่างไร

3. จัดรูปแบบวันที่

คุณอาจสังเกตเห็นในสองตัวอย่างก่อนหน้านี้ ค่าเริ่มต้นของวันที่เป็นรูปแบบเวลาที่เฉพาะเจาะจงมาก แล้วถ้าคุณต้องการในรูปแบบอื่นล่ะ?

คุณสามารถจัดรูปแบบผลลัพธ์ของคุณคล้ายกับ คำสั่ง printf . ตัวอย่างเช่น คุณสามารถพิมพ์ปีปัจจุบันด้วยคำสั่งนี้:

ที่บล็อกฉันในเฟสบุ๊ค
date +'Year: %Y'

NS + ส่งสัญญาณว่าคุณต้องการสตริงที่จัดรูปแบบ และอะไรก็ตามที่ปรากฏขึ้นภายในตัว อ้าง เครื่องหมาย วันที่จะประมวลผลและจัดรูปแบบสำหรับผลลัพธ์

ต่อไปนี้คือรายการของอักขระการจัดรูปแบบที่คุณน่าจะใช้มากที่สุด:

การจัดรูปแบบตัวละครเอาท์พุต
%ชมชั่วโมง (00-24)
%ผมชั่วโมง (01-12)
%NSนาที (00-59)
%NSวินาที (00-60)
%NSAM หรือ PM
%ถึงชื่อเต็มวันธรรมดา (เช่น วันอาทิตย์)
%ถึงชื่อย่อวันธรรมดา (เช่น อาทิตย์)
%ในหมายเลขวันธรรมดา (0-6)
%NSวันของเดือน (01-31)
%NSวันของปี (001-366)
% NSชื่อเต็มของเดือน (เช่น มกราคม)
% NSชื่อย่อเดือน (เช่น ม.ค.)
%NSเลขที่เดือน (01-12)

คุณสามารถรับรายการอักขระการจัดรูปแบบทั้งหมดได้โดยใช้ปุ่ม --ช่วย ตัวเลือกในเทอร์มินัล

date --help

4. รับวันในสัปดาห์

การใช้การจัดรูปแบบวันที่ที่ใช้กันทั่วไปและเป็นประโยชน์อย่างหนึ่งคือการหาวันในสัปดาห์สำหรับวันที่ใดๆ ตัวอย่างเช่น หากต้องการตรวจสอบว่าวันที่ 4 พฤศจิกายน 2538 ตรงกับวันใดของสัปดาห์ ให้ป้อนคำสั่งที่คล้ายกันนี้:

$ date -d '1996-04-11' +'%A'
Friday

NS -NS ตัวเลือกระบุว่าคุณต้องการวันที่ที่เฉพาะเจาะจง, the '2539-04-11' สตริงระบุวันที่ที่คุณต้องการและ + '% ก' การจัดรูปแบบระบุว่าคุณต้องการวันในสัปดาห์ในผลลัพธ์ โปรดจำไว้ว่าสตริงวันที่สามารถมีได้หลายรูปแบบ ไม่ใช่แค่รูปแบบที่ระบุที่นี่

5. รับเวลาสากลเชิงพิกัด

โดยการออก -ยู ตั้งค่าสถานะ คุณสามารถรับเวลาปัจจุบันใน Coordinated Universal Time (UTC)

$ date -u
Wed 21 Apr 2021 12:46:59 PM UTC

6. ส่งออกเวลาท้องถิ่นในโซนเวลาอื่น

หากคุณต้องการรับวันที่ในเขตเวลาอื่น คุณสามารถทำได้โดยการตั้งค่า TZ = ตัวแปรสภาพแวดล้อมก่อนคำสั่ง date

ตัวอย่างเช่น คุณสามารถดูวันที่และเวลาปัจจุบันใน Mountain Standard Time (MST) ด้วยคำสั่งต่อไปนี้:

$ TZ=MST date
Tue 20 Apr 2021 03:45:29 PM MST

เพื่อจุดประสงค์ของคุณ เพียงแค่เปลี่ยน MST ด้วยชื่อย่อสำหรับเขตเวลาใดก็ได้ที่คุณต้องการ คุณยังสามารถเลือกใช้สัญกรณ์ UTC ได้อีกด้วย ตัวอย่างเช่น หากต้องการรับเขตเวลาเดียวกัน ให้แทนที่ MST กับ UTC+7 .

นอกจากนี้ คุณสามารถตั้งชื่อทวีปและเมืองใหญ่เพื่อรับเวลาตามเวลาท้องถิ่นของเมืองนั้นๆ ตัวอย่างเช่น:

$ TZ=America/Phoenix date
Tue 20 Apr 2021 03:45:29 PM MST

7. รับเวลาแก้ไขล่าสุดของไฟล์

ตัวอย่างเช่น หากคุณกำลังสร้างข้อมูลสำรอง คุณมักจะต้องได้รับวันที่แก้ไขล่าสุดของไฟล์ คุณสามารถทำได้โดยผ่าน -NS ตัวเลือกและการตั้งชื่อไฟล์

$ date -r /etc/shadow
Wed 14 Apr 2021 07:53:02 AM CDT

คุณสามารถเปลี่ยนการประทับเวลาของไฟล์โดยใช้ คำสั่งสัมผัสใน Linux เช่นกัน.

8. เอาท์พุตและแปลง Epoch Time

คุณสามารถคำนวณจำนวนวินาทีตั้งแต่ ยุคยูนิกซ์ ด้วยคำสั่งดังนี้

$ date +%s
1618955631

คุณยังสามารถย้อนกลับกระบวนการและแปลงเวลา Unix ให้เป็นรูปแบบที่มนุษย์อ่านได้ผ่านการใช้ -NS ตัวเลือกและ @ อักขระ.

$ date -d @1618955631
Tue 20 Apr 2021 04:53:51 PM CDT

การคำนวณเวลา Unix นั้นมีประโยชน์หากคุณต้องการวินาทีที่แน่นอนซึ่งจะทำให้อุปกรณ์อื่นๆ ซิงโครไนซ์ได้อย่างแน่นอน

9. ตั้งเวลาระบบชั่วคราว

คุณสามารถเปลี่ยนนาฬิการะบบของคุณจากเทอร์มินัลด้วยคำสั่ง date โดยผ่านการ -NS อาร์กิวเมนต์ตามด้วยเวลาที่คุณต้องการ ตัวอย่างเช่น คุณสามารถตั้งค่านาฬิกาของระบบเป็น 24 ชั่วโมงในอนาคตโดยใช้คำสั่งต่อไปนี้:

date -s 'tomorrow'

โปรดทราบว่าคุณจะต้องมีสิทธิ์ sudo เพื่อส่งคำสั่งนี้ นอกจากนี้ การเปลี่ยนแปลงอาจไม่คงอยู่ถาวร (หมายความว่านาฬิกาของคุณจะย้อนกลับไปเป็นครั้งก่อนหน้าหลังจากรีบูต) เนื่องจาก distros ส่วนใหญ่ใช้ยูทิลิตี้อื่น ๆ เพื่อจัดการนาฬิการะบบของคุณซึ่งจะแทนที่การเปลี่ยนแปลงเมื่อบูต

วันที่ Linux คำสั่งอธิบาย

เช่นเดียวกับชีวิต คุณไม่สามารถหลีกหนีจากกาลเวลาใน Linux นั่นเป็นสาเหตุสำคัญที่คุณต้องเข้าใจวิธีจัดรูปแบบและใช้งานผ่านคำสั่ง date สิ่งหนึ่งที่คุณต้องเจอในการจัดการไฟล์ Linux ก็คือการประทับเวลาต่างๆ ที่ไฟล์จะพกติดตัวไปด้วย

แบ่งปัน แบ่งปัน ทวีต อีเมล ทำความเข้าใจการประทับเวลาของไฟล์ Linux: mtime, ctime และ atime

ต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีที่ Linux ติดตามการเปลี่ยนแปลงในไฟล์หรือไม่ นี่คือสิ่งที่คุณต้องรู้เกี่ยวกับ Linux File Timestamps

จะรู้ได้อย่างไรว่าลิงค์นั้นปลอดภัย
อ่านต่อไป หัวข้อที่เกี่ยวข้อง
  • ลินุกซ์
  • คำสั่งลินุกซ์
เกี่ยวกับผู้เขียน Jordan Gloor(เผยแพร่แล้ว 51 บทความ)

Jordan เป็นพนักงานเขียนบทที่ MUO ผู้หลงใหลในการทำให้ Linux สามารถเข้าถึงได้และปราศจากความเครียดสำหรับทุกคน เขายังเขียนคำแนะนำเกี่ยวกับความเป็นส่วนตัวและประสิทธิภาพการทำงาน

เพิ่มเติมจาก Jordan Gloor

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก