Android

คำสั่งวันที่ Linux พร้อมตัวอย่าง

Faith Evans feat. Stevie J – "A Minute" [Official Music Video]

Faith Evans feat. Stevie J – "A Minute" [Official Music Video]

สารบัญ:

Anonim

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

ในบทช่วยสอนนี้เราจะกล่าวถึงพื้นฐานของคำสั่ง date

การใช้คำสั่งวันที่ Linux

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

date…

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

date

ผลลัพธ์จะรวมวันของสัปดาห์, เดือน, วันที่ของเดือน, เวลา, เขตเวลาและปี:

Sat Jun 1 14:31:01 CEST 2019

ตัวเลือกการจัดรูปแบบวันที่

ผลลัพธ์ของ date สามารถจัดรูปแบบด้วยลำดับของอักขระควบคุมรูปแบบที่นำหน้าด้วยเครื่องหมาย + การควบคุมรูปแบบเริ่มต้นด้วยสัญลักษณ์ % และแทนที่ด้วยค่าของพวกเขา

date +"Year: %Y, Month: %m, Day: %d"

อักขระ %Y จะถูกแทนที่ด้วยปี %m ด้วยเดือนและ %d ด้วยวันที่ของเดือน:

Year: 2019, Month: 06, Day: 02

นี่เป็นอีกตัวอย่าง:

date "+DATE: %D%nTIME: %T"

DATE: 06/02/19 TIME: 01:47:04

ด้านล่างเป็นรายการขนาดเล็กของอักขระการจัดรูปแบบทั่วไปบางส่วน:

  • %a - ชื่อวันทำงานสั้นแบบย่อของสถานที่ (เช่นจันทร์) %A - ชื่อในวันทำงานเต็มแบบย่อ (เช่นวันจันทร์) %b - ชื่อเดือนย่อแบบย่อของสถานที่ (เช่นมกราคม) %B - ชื่อเดือนแบบย่อของสถานที่ยาว ๆ (เช่นมกราคม) %d - วันของเดือน (เช่น 01) %H - ชั่วโมง (00..23) %I - ชั่วโมง (01.. 12) %j - วันแห่งปี (001..366) %m - เดือน (01.. 12) %M - นาที (00..59) %S - วินาที (00..60) %u - วันของสัปดาห์ (1..7) %Y - เต็มปี (เช่น 2019)

ในการรับรายการทั้งหมดของตัวเลือกการจัดรูปแบบทั้งหมดเรียกใช้ date --help หรือ man date ใน terminal ของคุณ

สตริงวันที่

ตัวเลือก -d ช่วยให้คุณสามารถทำงานในวันที่ที่ระบุ คุณสามารถระบุวันที่เป็นสตริงวันที่ที่มนุษย์สามารถอ่านได้ด้านล่าง:

date -d "2010-02-07 12:10:53"

Sun Feb 7 12:10:53 CET 2010

ใช้การจัดรูปแบบที่กำหนดเอง:

date -d '16 Dec 1974' +'%A, %d %B %Y'

Monday, 16 December 1974

สตริงวันที่ยังสามารถรับค่าเช่น "พรุ่งนี้", "วันศุกร์", "วันศุกร์สุดท้าย" "วันศุกร์ถัดไป", "เดือนถัดไป", "สัปดาห์หน้า".. เป็นต้น

date -d "last week"

Sat May 25 14:31:42 CEST 2019

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

date -d 'TZ="Australia/Sydney" 06:30 next Monday'

Sun Jun 2 22:30:00 CEST 2019

แทนที่เขตเวลา

คำสั่ง date ใช้เขตเวลาของระบบเริ่มต้น หากต้องการใช้เขตเวลาที่แตกต่างกันให้ตั้งค่าตัวแปรสภาพแวดล้อม TZ เป็นเขตเวลาที่ต้องการ

ตัวอย่างเช่นหากต้องการแสดงเมลเบิร์นเวลา Aus คุณจะต้องพิมพ์:

TZ='Australia/Melbourne' date

Sat Jun 1 22:35:10 AEST 2019

หากต้องการแสดงรายการเขตเวลาที่มีอยู่ทั้งหมดคุณสามารถแสดงรายการไฟล์ใน /usr/share/zoneinfo หรือใช้คำสั่ง timedatectl list-timezones

Epoch Converter

คำสั่ง date สามารถใช้เป็นตัวแปลง Epoch Epoch หรือ Unix timestamps คือจำนวนวินาทีที่ผ่านไปตั้งแต่ 1 มกราคม 1970 เวลา 00:00:00 UTC

หากต้องการพิมพ์จำนวนวินาทีจากยุคจนถึงวันปัจจุบันให้ใช้การควบคุมรูปแบบ %s :

date +%s

1559393792

ในการแปลงวินาทีตั้งแต่ยุคจนถึงวันที่ให้ตั้งวินาทีเป็นสตริงวันที่นำหน้าด้วย @ :

date -d @1234567890

Sat Feb 14 00:31:30 CET 2009

ใช้วันที่กับคำสั่งอื่น ๆ

คำสั่ง date ใช้บ่อยที่สุดในการสร้างชื่อไฟล์ที่มีเวลาและวันที่ปัจจุบัน

คำสั่งด้านล่างจะสร้างไฟล์สำรอง Mysql ในรูปแบบต่อไปนี้ database_name-20190601.sql

mysqldump database_name > database_name-$(date +%Y%m%d).sql

คุณยังสามารถใช้คำสั่ง date ในเชลล์สคริปต์ของคุณ ในตัวอย่างด้านล่างเรากำลังกำหนดผลลัพธ์ของ date ให้กับตัวแปร date_now :

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

2019-06-01-15-02-27

แสดงเวลาแก้ไขครั้งสุดท้ายของไฟล์

คำสั่ง date พร้อมด้วยตัวเลือก -r จะแสดงเวลาแก้ไขล่าสุดของไฟล์ ตัวอย่างเช่น:

date -r /etc/hosts

Tue Jul 24 11:11:48 CEST 2018

ตั้งเวลาและวันที่ของระบบ

การตั้งค่าเวลาและวันที่ของระบบด้วยตนเองโดยใช้คำสั่ง date ไม่แนะนำให้ใช้เพราะใน Linux ส่วนใหญ่นาฬิการะบบจะซิงโครไนซ์โดยใช้ ntp หรือบริการ systemd-timesyncd

อย่างไรก็ตามหากคุณต้องการตั้งค่านาฬิการะบบด้วยตนเองคุณสามารถใช้ตัวเลือก --set= ตัวอย่างเช่นหากคุณต้องการตั้งวันที่และเวลาเป็น 17:30 น. วันที่ 1 มิถุนายน 2019 คุณจะต้องพิมพ์:

date --set="20190601 17:30"

ข้อสรุป

โดยตอนนี้คุณควรมีความเข้าใจวิธีการใช้คำสั่งวันที่ลินุกซ์

เทอร์มินัลวันที่