Comment travailler avec la date et l'heure à bash en utilisant la commande de date

Comment travailler avec la date et l'heure à bash en utilisant la commande de date

La commande de date est un programme de bash externe qui permet de définir ou d'afficher la date et l'heure du système. Il offre également plusieurs options de formatage. La commande de date est installée dans toutes les distros Linux par défaut.

$ quelle date $ type -a date 
Trouver l'emplacement de la commande de date

Taper commande de date dans le terminal qui affichera la date et l'heure actuelles.

$ date 
Date de vérification dans Linux

Modifier la date et l'heure du système Linux

En utilisant commande de date, La date du système, l'heure et le fuseau horaire peuvent être modifiés et le changement doit être synchronisé avec l'horloge matérielle.

$ Date --set = "jeu 12 novembre 13:06:59 IST 2020" $ HWCLOCK - Systohc 
Définir la date et l'heure du système Linux

Formatage des options

Un bon endroit pour obtenir la liste des options de formatage sera la page de l'homme.

$ homme date 

Voyons certaines des options de formatage les plus courantes que nous utiliserons.

  • Pour appliquer une utilisation de formatage "+ suivie par "format".
  • Pour obtenir une liste des options de formatage pour GNU \ Linux, jetez un œil à la page Homme liée.
  • Pour obtenir une liste des options de formatage pour BSD, jetez un œil à la page Homme liée.

Les deux parties importantes du commande de date utilise le format +% et -de option.

Maintenant, appliquons un formatage sur le commande de date. Pour appliquer le formatage, ajoutez un signe plus (+) suivie par % de format Comme indiqué dans des exemples.

Date de gestion dans Linux

Jetons un coup d'œil sur la façon d'utiliser des formateurs liés à la date dans un simple script de shell appelé 'date.shot'.

# Année d'impression, mois, jour et date… Echo "Nous sommes dans l'année = $ (date +% y)" écho "Nous sommes dans l'année = $ (date +% y)" # Différence entre% y et% y est% y imprimera 4 chiffres tandis que% y imprimera les 2 derniers chiffres de l'année. echo "Nous sommes dans le mois = $ (date +% m)" écho "Nous sommes dans le mois = $ (date +% b)" écho "Nous sommes dans le mois = $ (date +% b)" # différence entre% b et% b est,% b imprimera le nom du mois complet tandis que% b imprimera le nom du mois abrégé. Echo "jour en cours du mois = $ (date +% d)" Echo "jour actuel de la semaine = $ (date +% a)" Echo "jour en cours de la semaine = $ (date +% a)" # différence entre% a et% a is,% a imprimera le nom complet de la semaine tandis que% a imprimera le nom de la semaine abrégée. # Au lieu de la mise en forme pour obtenir la date, nous pouvons utiliser% D qui imprimera la date en% m /% d /% y ou% f qui imprime en% y-% m-% d format. Echo "Date en utilisant% d = $ (date +% d)" Echo "Date en utilisant% f = $ (date +% f)" 
Trouver la date et l'heure à l'aide du script

Temps de gestion à Linux

Jetons un coup d'œil à l'utilisation temps formateurs associés dans un simple script shell appelé 'temps.shot'.

# Heures d'impression, min, secondes, nano secondes Echo HEURES = $ (Date +% H) Echo Minutes = $ (Date +% M) Echo Seconds = $ (Date +% S) Echo Nanoseconds = $ (Date +% N) Echo Epoch Heure = $ (Date +% S) Echo "Heure actuel = $ (date +% H:% M:% S:% N)" # Peut également utiliser% T qui affiche le temps dans HH: MM: SS Format. Echo "heure actuelle en format 24 heures = $ (date +% t)" # peut également utiliser% R pour afficher l'heure au format 12 heures. Echo "heure actuelle en format de 12 heures = $ (date +% R)" 
Trouver du temps dans Linux à l'aide du script

Avec -date ou -d drapeau

Avec --date ou -d L'entrée du drapeau peut être transmise sous forme de chaîne et commande de date sait le gérer intelligemment.

Voyons quelques exemples pour comprendre comment cela fonctionne.

# Imprimer la date et l'heure d'hier. echo "hier = $ (date -d" hier ")" # Imprimez demain date et heure. echo "demain = $ (date -d" demain ")" # trouver quelle est la date et l'heure avant 10 jours dans. echo "avant 10 jours = $ (date -d" demain -10 jours ")" # trouver le mois dernier et le mois prochain echo "le mois dernier = $ (date -d" le mois dernier ""% b ")" echo "le mois prochain le mois prochain = $ (date -d "mois prochain" "% b") "# trouver l'année dernière et l'année prochaine écho" l'année dernière = $ (date -d "l'année dernière" "+% y") "echo" l'année prochaine = $ (Date -d "l'année prochaine" "+% y") "# Prévision l'écho en semaine" à 2 jours à partir d'aujourd'hui et il arrive en semaine? = $ (date -d "aujourd'hui +2 jours" "+% a") 
Vérifier la date à l'aide de la mise en forme

Opérations communes

Calculez le nombre de jours entre 2 dates données.

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

Trouvez que l'année donnée est un an ou non.

$ pour y dans 2000… 2020; Do Date -d $ y-02-29 &> / dev / null && echo $ y est le leap année; fait 
Trouver l'année de saut à Linux

Attribuer la sortie de la commande de date à une variable.

$ Aujourd'hui = $ (date +% y-% m-% d) ou $ aujourd'hui1 = $ (date +% f) $ echo $ aujourd'hui $ echo $ aujourd'hui1 
Affecter la date à la variable

Créer des fichiers journaux avec la date ajoutée au nom de fichier.

L'ajout de date et d'heure lors de la création de fichiers journaux, de sauvegarde ou de fichiers texte est une opération courante que nous rencontrerons le plus souvent. Prenons un exemple, pour prendre une sauvegarde, nous avons créé un script shell.

Ce script prendra une sauvegarde de 00h00 à 23h59 et devrait fonctionner quotidiennement à 00h00 du lendemain. Nous voulons créer des fichiers journaux avec le format de date d'hier.

Personnalisé_format = $ (date --date "hier" "+% d-% y-% h:% m") log_file = / var / log / personnalisé_application / application _ $ personnalisé_format.Log Echo "Script démarré" >> $ log_file… Blocs de code… Echo "Script terminé" >> $ log_file 

C'est tout pour cet article. Dans cet article, nous avons vu comment utiliser la date et l'heure du bash à Linux. Faites-nous savoir vos commentaires.