Yadda Ake aiki da Kwanan Wata da Lokaci a Bash Amfani da kwanan wata Umurnin


Umurnin kwanan wata shiri ne na bash na waje wanda yake ba da damar saitawa ko nuna kwanan wata da lokaci. Hakanan yana samar da zaɓuɓɓukan tsara abubuwa da yawa. An shigar da umarnin kwanan wata a cikin duk abubuwan da ke cikin Linux ta hanyar tsoho.

$ which date
$ type -a date

Rubuta umarnin kwanan wata a cikin m wanda zai nuna kwanan wata da lokaci na yanzu.

$ date

Amfani da umarnin kwanan wata, kwanan wata, lokaci da kuma yanki za a iya gyaggyarawa kuma dole ne a daidaita canjin tare da agogon kayan aiki.

$ date --set="Thu Nov 12 13:06:59 IST 2020"
$ hwclock --systohc

Kyakkyawan wuri don samun jerin zaɓuɓɓukan tsarawa zai zama shafin mutum.

$ man date

Bari mu ga wasu zaɓuɓɓukan tsarin tsarawa waɗanda za mu yi amfani da su.

  • Don amfani da tsarin yin amfani da "+ wanda ake bi" mai tsarawa ".
  • Don samun jerin zaɓuɓɓukan tsarawa don GNU\LINUX duba shafin haɗin mutumin.
  • Don samun jerin zaɓuɓɓukan tsara abubuwa don BSD duba shafin mutumin da aka haɗa.

Muhimman sassa biyu na umarnin kwanan wata suna amfani da Tsarin Forcode +% kuma –dataccen zaɓi.

Yanzu bari muyi amfani da wani tsari akan umarnin kwanan wata. Don amfani da tsara, ƙara ƙarin alamar (+) sai kuma % mai tsara kamar yadda aka nuna a misalai.

Bari mu duba yadda ake amfani da masu tsara kwanan wata a cikin rubutun harsashi mai sauƙi '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)"

Bari muyi la'akari da yadda ake amfani da masu tsara lokaci masu alaka a cikin wani sauki harsashi mai suna '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)"

Tare da - kwanan wata ko -d shigar da tuta za a iya wucewa azaman kirtani kuma umarnin kwanan wata ya san rike shi da wayo.

Bari mu ga wasu misalai don fahimtar yadda yake aiki.

# 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")

lissafa adadin ranaku tsakanin ranakun 2.

$ echo $(( ( $(date -d "2020-11-10" "+%s") - $(date -d "2020-11-01" "+%s") ) / 86400))

Nemo shekarar da aka bayar shekarar tsalle ce ko a'a.

$ for y in {2000..2020}; do date -d $y-02-29 &>/dev/null && echo $y is leap year; done

Sanya fitowar umarnin kwanan wata zuwa mai canji.

$ TODAY=$(date +%Y-%m-%d)
OR
$ TODAY1=$(date +%F)
$ echo $TODAY 
$ echo $TODAY1

Irƙiri fayilolin log tare da kwanan wata da aka ƙara cikin sunan sunan.

Dateara kwanan wata da lokaci yayin ƙirƙirar fayilolin log, madadin, ko fayilolin rubutu aiki ne na gama gari wanda za mu ci karo da shi galibi. Bari mu ɗauki misali, don ɗaukar madadin, mun ƙirƙiri rubutun harsashi.

Wannan rubutun zai ɗauki madadin daga 00:00 zuwa 23:59 kuma an tsara zai gudana kowace rana a 00:00 na gobe. Muna son ƙirƙirar fayilolin log tare da tsarin kwanan wata na jiya.

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}

Shi ke nan ga wannan labarin. A cikin wannan labarin, mun ga yadda ake amfani da kwanan wata da lokaci a cikin Linux. Bari muji ra'ayinku.