Sene buýrugyny ulanyp, Başda Sene we Wagt bilen nädip işlemeli


Sene buýrugy ulgamyň senesini we wagtyny kesgitlemäge ýa-da görkezmäge mümkinçilik berýän daşarky baş programma. Şeýle hem, birnäçe formatirleme wariantlaryny üpjün edýär. Sene buýrugy, ähli Linux distro-da gurnalan.

$ which date
$ type -a date

Häzirki senäni we wagty görkezjek terminalda sene buýrugyny ýazyň.

$ date

Sene buýrugyny, ulgam senesini, wagty we wagt guşagyny ulanyp üýtgedip bolýar we üýtgetme enjam sagady bilen sinhronlanmaly.

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

Format görnüşleriniň sanawyny almak üçin gowy ýer adam sahypasy bolar.

$ man date

Geliň, ulanjak iň köp ýaýran formatlamalarymyzy göreliň.

  • Formatirlemek üçin “+, soň bolsa“ formatlaýjy ”ulanyň.
  • GNU\LINUX üçin formatirleme opsiýalarynyň sanawyny almak üçin baglanyşdyrylan adam sahypasyna göz aýlaň.
  • BSD üçin formatirleme wariantlarynyň sanawyny almak üçin baglanyşdyrylan adam sahypasyna göz aýlaň.

Sene buýrugynyň iki möhüm bölegi Format +% we –date opsiýasyny ulanýar.

Indi sene buýrugynda käbir formatlamalary ulanalyň. Formatirlemek üçin, mysallarda görkezilişi ýaly (+) goşmaça belgisini goşuň.

Geliň, “date.sh” atly ýönekeý gabyk skriptinde sene bilen baglanyşykly formatatorlary nädip ulanmalydygyna göz aýlalyň.

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

“Time.sh” atly ýönekeý gabyk skriptinde wagt bilen baglanyşykly formatatorlary nädip ulanmalydygyna göz aýlalyň.

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

- senesi ýa-da -d baýdak girişini setir we sene buýrugy akylly dolandyrmagy bilýänligi sebäpli geçip bolýar.

Onuň nähili işleýändigine düşünmek üçin käbir mysallary göreliň.

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

berlen 2 senäniň arasynda gün sanyny hasaplaň.

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

Berlen ýyly bökmek ýylydygyny ýa-da ýokdugyny tapyň.

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

Sene buýrugynyň çykyşyny üýtgeýjä bellemek.

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

Faýlyň adyna goşulan senesi bilen gündelik faýllary dörediň.

Logurnal faýllaryny, ätiýaçlyk nusgalaryny ýa-da tekst faýllaryny döredeniňizde senäni we wagty goşmak, köplenç duş gelýän umumy amaldyr. Mysal alalyň, ätiýaçlyk nusgasyny almak üçin gabyk skriptini döretdik.

Bu skript 00: 00-dan 23: 59-a çenli ätiýaçlyk nusgasyny alar we ertesi günüň 00: 00-da her gün işlemeli. Düýnki sene formaty bilen gündelik faýllary döretmek isleýäris.

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}

Bu makala üçin. Bu makalada Linux-da baş senesini we wagtyny nädip ulanmalydygyny gördük. Pikirleriňizi bize habar beriň.