Dans ce didacticiel, nous aborderons les bases de la date
commande.
La date
La commande affiche ou définit la date système. Il est le plus souvent utilisé pour imprimer la date et l'heure dans différents formats et pour calculer les dates futures et passées.
Utilisation de la date
Linux Commande #
La syntaxe de la date
commande est la suivante :
date [OPTION]... [+FORMAT]
Pour afficher l'heure et la date système actuelles en utilisant le formatage par défaut, appelez la commande sans options ni arguments :
date
La sortie inclut le jour de la semaine, le mois, le jour du mois, l'heure, le fuseau horaire et l'année :
Sat Jun 1 14:31:01 CEST 2019
Options de formatage de la date #
La sortie de la date
la commande peut être formatée avec une séquence de caractères de contrôle de format précédée d'un +
signe. Les contrôles de format commencent par le %
symbole et sont remplacés par leurs valeurs.
date +"Year: %Y, Month: %m, Day: %d"
Le %Y
sera remplacé par l'année, %m
avec mois et %d
avec le jour du mois :
Year: 2019, Month: 06, Day: 02
Voici un autre exemple :
date "+DATE: %D%nTIME: %T"
DATE: 06/02/19
TIME: 01:47:04
Vous trouverez ci-dessous une petite liste des caractères de formatage les plus courants :
%a
- Nom abrégé du jour de la semaine des paramètres régionaux (par exemple, lundi)%A
- Nom complet abrégé du jour de la semaine de la région (par exemple, lundi)%b
- L'abréviation du nom de mois abrégé des paramètres régionaux (par exemple, Jan)%B
- L'abréviation du nom long du mois (par exemple, janvier)%d
- Jour du mois (par exemple, 01)%H
- Heure (00..23)%I
- Heure (01..12)%j
- Jour de l'année (001..366)%m
- Mois (01..12)%M
- Minutes (00..59)%S
- Seconde (00..60)%u
- Jour de la semaine (1..7)%Y
- Année complète (par exemple, 2019)
Pour obtenir une liste complète de toutes les options de formatage, exécutez date --help
ou man date
dans votre terminal.
Chaîne de date #
Le -d
L'option vous permet d'opérer à une date précise. Vous pouvez spécifier la date sous forme de chaîne de date lisible par l'homme comme ci-dessous :
date -d "2010-02-07 12:10:53"
Sun Feb 7 12:10:53 CET 2010
Utilisation de la mise en forme personnalisée :
date -d '16 Dec 1974' +'%A, %d %B %Y'
Monday, 16 December 1974
La chaîne de date accepte des valeurs telles que "demain", "vendredi", "vendredi dernier" "vendredi prochain", "mois prochain", "semaine prochaine" ..etc.
date -d "last week"
Sat May 25 14:31:42 CEST 2019
Vous pouvez également utiliser l'option de chaîne de date pour afficher l'heure locale pour différents fuseaux horaires. Par exemple, pour afficher l'heure locale de 6 h 30 lundi prochain sur la côte est de l'Australie, saisissez :
date -d 'TZ="Australia/Sydney" 06:30 next Monday'
Sun Jun 2 22:30:00 CEST 2019
Remplacer le fuseau horaire #
La date
La commande renvoie la date dans le fuseau horaire par défaut du système. Pour utiliser un fuseau horaire différent, définissez la variable d'environnement TZ
au fuseau horaire souhaité.
Par exemple, pour afficher l'heure de Melbourne, Australie, vous devez saisir :
TZ='Australia/Melbourne' date
Sat Jun 1 22:35:10 AEST 2019
Pour lister tous les fuseaux horaires disponibles, vous pouvez soit lister les fichiers dans /usr/share/zoneinfo
répertoire ou utilisez le timedatectl list-timezones
commande.
Convertisseur d'époque #
La date
La commande peut être utilisée comme convertisseur d'époque. Epoch, ou horodatage Unix, est le nombre de secondes qui se sont écoulées depuis le 1er janvier 1970 à 00:00:00 UTC.
Pour imprimer le nombre de secondes de l'époque au jour actuel, appelez date
avec le %s
contrôle de format :
date +%s
1559393792
Pour convertir les secondes depuis l'époque à ce jour, définissez les secondes comme une chaîne de date préfixée par @
:
date -d @1234567890
Sat Feb 14 00:31:30 CET 2009
Utilisation de date
avec d'autres commandes #
La date
La commande est le plus souvent utilisée pour créer des noms de fichiers contenant l'heure et la date actuelles.
La commande ci-dessous créera un fichier de sauvegarde Mysql au format suivant database_name-20190601.sql
mysqldump database_name > database_name-$(date +%Y%m%d).sql
Vous pouvez également utiliser la date
commande dans vos scripts shell. Dans l'exemple ci-dessous, nous attribuons la sortie de date
au date_now
variables :
date_now=$(date "+%F-%H-%M-%S")
echo $date_now
2019-06-01-15-02-27
Afficher l'heure de la dernière modification d'un fichier #
La date
commande avec le -r
L'option affiche l'heure de la dernière modification d'un fichier. Par exemple :
date -r /etc/hosts
Tue Jul 24 11:11:48 CEST 2018
Si vous souhaitez modifier l'horodatage du fichier, utilisez le touch
commande.
Définir l'heure et la date du système #
Réglage manuel de l'heure et de la date du système avec la date
La commande n'est pas recommandée car sur la plupart des distributions Linux, l'horloge système est synchronisée à l'aide de ntp
ou le systemd-timesyncd
services.
Cependant, si vous souhaitez régler l'horloge système manuellement, vous pouvez utiliser le --set=
option. Par exemple, si vous souhaitez définir la date et l'heure sur 17h30, le 1er juin 2019, vous devez saisir :
date --set="20190601 17:30"
Conclusion #
La date
Linux commande affiche ou définit la date et l'heure du système.
Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.