พบกับคำสั่งวันที่ของ 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) |
%NS | AM หรือ 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 เป็นพนักงานเขียนบทที่ MUO ผู้หลงใหลในการทำให้ Linux สามารถเข้าถึงได้และปราศจากความเครียดสำหรับทุกคน เขายังเขียนคำแนะนำเกี่ยวกับความเป็นส่วนตัวและประสิทธิภาพการทำงาน
เพิ่มเติมจาก Jordan Gloorสมัครรับจดหมายข่าวของเรา
เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!
คลิกที่นี่เพื่อสมัครสมาชิก