Kif taħdem bid-Data u l-Ħin f'Bash Bl-użu tal-Kmand tad-data
Il-kmand tad-data huwa programm bash estern li jippermetti li tissettja jew turi d-data u l-ħin tas-sistema. Jipprovdi wkoll diversi għażliet ta 'ifformattjar. Il-kmand tad-data huwa installat fid-distros kollha tal-Linux b'mod awtomatiku.
$ which date $ type -a date
Ittajpja kmand tad-data fit-terminal li juri d-data u l-ħin kurrenti.
$ date
L-użu tal-kmand tad-data, id-data tas-sistema, il-ħin u ż-żona tal-ħin jistgħu jiġu modifikati u l-bidla trid tiġi sinkronizzata mal-arloġġ tal-ħardwer.
$ date --set="Thu Nov 12 13:06:59 IST 2020" $ hwclock --systohc
Post tajjeb biex tikseb il-lista ta 'għażliet ta' formattjar se tkun il-paġna man.
$ man date
Ejja naraw xi wħud mill-aktar għażliet ta 'formattjar komuni li se nużaw.
- Biex tapplika l-ifformattjar uża “+ segwit minn “formatter“.
- Biex tikseb lista ta' għażliet għall-ifformattjar għal GNU\LINUX agħti ħarsa lejn il-paġna man marbuta.
- Biex tikseb lista ta' għażliet ta' formattjar għal BSD agħti ħarsa lejn il-paġna man marbuta.
Iż-żewġ partijiet importanti tal-kmand tad-data qed tuża l-għażla tal-Format +%
u –data.
Issa ejja napplikaw xi ifformattjar fuq il-kmand tad-data. Biex tapplika l-ifformattjar, żid is-sinjal plus (+)
segwit minn %formatter
kif muri fl-eżempji.
Ejja nagħtu ħarsa lejn kif tuża formatters relatati mad-data fi script shell sempliċi imsejjaħ 'date.sh'.
# PRINT YEAR,MONTH,DAY AND DATE... echo "We are in the year = $(date +%Y)" echo "We are in the year = $(date +%y)" # Difference between %Y and %y is %Y will print 4 digits while %y will print the last 2 digits of the year. echo "We are in the month = $(date +%m)" echo "We are in the month = $(date +%b)" echo "We are in the month = $(date +%B)" # Difference between %B and %b is, %B will print full month name while %b will print abbreviated month name. echo "Current Day of the month = $(date +%d)" echo "Current Day of the week = $(date +%A)" echo "Current Day of the week = $(date +%a)" # Difference between %A and %a is, %A will print full Weekday name while %a will print abbreviated weekday name. # Instead of formatting to get the date, we can use %D which will print the date as %m/%d/%y or %F which prints in %Y-%M-%d format. echo "Date using %D = $(date +%D)" echo "Date using %F = $(date +%F)"
Ejja nagħtu ħarsa lejn kif tuża formatters relatati mal-ħin fi script shell sempliċi imsejjaħ 'time.sh'.
# PRINT HOURS, MINS, SECONDS, NANO SECONDS echo Hours = $(date +%H) echo Minutes = $(date +%M) echo Seconds = $(date +%S) echo Nanoseconds = $(date +%N) echo Epoch Time = $(date +%s) echo "current time = $(date +%H:%M:%S:%N)" # can also use %T which displays Time in HH:MM:SS format. echo "current time in 24 hour format = $(date +%T)" # can also use %r to display time in 12 hour format. echo "current time in 12 hour format = $(date +%r)"
B'--date
jew -d
input tal-bandiera jista' jiġi mgħoddi bħala string u kmand tad-data jaf jimmaniġġaha b'mod intelliġenti.
Ejja naraw xi eżempji biex nifhmu kif taħdem.
# Print yesterday's date and time. echo "Yesterday = $(date -d "Yesterday")" # Print Tomorrow date and time. echo "tomorrow = $(date -d "tomorrow")" # Find what is the date and time before 10 days from now. echo "Before 10 days = $(date -d "tomorrow -10 days")" # Find last month and next month echo "Last month = $(date -d "last month" "%B")" echo "Next month = $(date -d "next month" "%B")" # Find last year and next year echo "Last Year = $(date -d "last year" "+%Y")" echo "Next Year = $(date -d "next year" "+%Y")" # Forecast the weekday echo "2 days away from today and it comes on weekdays? = $(date -d "Today +2 days" "+%A")
ikkalkula n-numru ta' jiem bejn 2 dati mogħtija.
$ echo $(( ( $(date -d "2020-11-10" "+%s") - $(date -d "2020-11-01" "+%s") ) / 86400))
Sib is-sena mogħtija hija sena biżestili jew le.
$ for y in {2000..2020}; do date -d $y-02-29 &>/dev/null && echo $y is leap year; done
L-għoti tal-output tal-kmand tad-data lil varjabbli.
$ TODAY=$(date +%Y-%m-%d) OR $ TODAY1=$(date +%F) $ echo $TODAY $ echo $TODAY1
Oħloq fajls log bid-data miżjuda mal-isem tal-fajl.
Iż-żieda tad-data u l-ħin waqt li noħolqu fajls log, backup, jew fajls tat-test hija operazzjoni komuni li se niltaqgħu magħhom l-aktar spiss. Ejja nieħdu eżempju, biex nieħdu backup, ħloqna script shell.
Dan l-iskritt se jieħu backup minn 00:00 sa 23:59 u skedat li jibda kuljum f'00:00 tal-jum ta' wara. Irridu noħolqu log files bil-format tad-data tal-bieraħ.
CUSTOM_FORMAT=$(date --date "Yesterday" "+%d-%y-%H:%M") LOG_FILE=/var/log/custom_application/application_${CUSTOM_FORMAT}.log echo "Script started" >> ${LOG_FILE} ... CODE BLOCKS ... echo "Script completed" >> ${LOG_FILE}
Dak hu għal dan l-artikolu. F'dan l-artikolu, rajna kif tuża d-data u l-ħin tal-bash fil-Linux. Għidilna l-feedback tiegħek.