Comment afficher la date et l'heure dans le terminal Linux (et l'utiliser dans les scripts bash)

Contenu

Shell Bash dans le concept de bureau Unity

Les date La commande est dans le shell bash, qui est le shell par défaut sur la plupart des distributions Linux et même macOS. Ce tutoriel vous montre comment maîtriser date sur la ligne de commande et comment vous pouvez l'utiliser dans les scripts shell pour faire plus que simplement imprimer l'heure.

Exécutez le date commande pour afficher ces informations. Imprimer la date et l'heure actuelles de votre fuseau horaire:

Date

Sortie de la commande de date

Le format par défaut semble un peu ridicule. Pourquoi l'année n'est-elle pas imprimée après le mois et le jour, au lieu d'être tagué à la fin, derrière le fuseau horaire? Ne t'inquiète pas: si vous voulez contrôler le format de sortie, date le remet avec. Il y a plus de 40 options auxquelles vous pouvez accéder date pour vous demander de formater votre sortie exactement comme vous le souhaitez.

Pour utiliser l'une des options, scribe date, un espace, un signe plus +, et l'option même le premier signe de pourcentage. Les %c (données et heure au format local) provoque l'impression de la date et de l'heure dans le format standard associé à vos paramètres régionaux. Vos paramètres régionaux sont déterminés par les informations géographiques et culturelles que vous avez fournies lors de l'installation de votre système d'exploitation.. Placez les règles des choses comme le symbole monétaire, le format du papier, fuseau horaire et autres normes culturelles.

date +%c

Sortie de la commande de date avec l'option c

L'année apparaît désormais dans une position plus naturelle dans la production.

Vous pouvez transmettre diverses options à date tout de suite. Une séquence d'options est appelée une chaîne de format. Pour voir le nom du jour (%A), le jour du mois (%d) et le nom du mois (%B), utilise cette commande:

date +%A%d%B

Sortie de la commande de date avec les options A d B

Ça a marché, mais c'est moche. Il n'y a pas de problème, nous pouvons inclure des espaces tant que vous placez toute la chaîne de format entre guillemets. Notez que le + volonté hors de les guillemets.

Date +"%Un %d %B"

Sortie de la commande de date avec l'option A d B avec des espaces

Vous pouvez ajouter du texte à la chaîne de format, Donc:

Date +"Aujourd'hui c'est: %Un %d %B"

Sortie de commande de données avec texte ajouté par l'utilisateur

Faites défiler de haut en bas le date page de manuel chercher l'option que vous voulez devient vite fastidieux. Nous avons divisé les options en groupes pour vous aider à trouver votre chemin plus facilement.

Options pour afficher la date et l'heure

  • %C: Imprimer la date et l'heure au format de vos paramètres régionaux, y compris le fuseau horaire.

Sortie de la commande de date

Options d'affichage de la date

  • %ré: Imprimer la date au format mm / jj / aa.
  • %F: Imprimer la date au format aaaa-mm-jj.
  • %X: Imprimez la date dans votre format local.

Sortie de la commande de date avec les options DF x

Options pour afficher le jour

  • %une: Imprimer le nom du jour, en abrégé lun, Mar, mer, etc.
  • %UNE: Imprimer le nom complet du jour, lundi Mardi, mercredi, etc.
  • % vous: Imprimer le numéro du jour de la semaine, où lundi = 1, Mardi = 2, Mercredi = 3, etc.
  • % w: Imprimer le numéro du jour de la semaine, où dimanche = 0, Lundi = 1, Mardi = 2, etc.
  • %ré: Imprimer le jour du mois, avec un zéro non significatif (01, 02… 09) si c'est nécessaire.
  • %moi: Imprimer le jour du mois, avec un espace de premier plan ('1', « 2 »… « 9 ») si c'est nécessaire. Veuillez noter que les apostrophes ne sont pas imprimées.
  • % j: Imprimer le jour de l'année, avec jusqu'à deux zéros non significatifs, si c'est nécessaire.

Sortie de la commande de date avec les options A uwdej

Options pour afficher la semaine

  • % U: Imprimer le numéro de semaine de l'année, considérer le dimanche comme le premier jour de la semaine. Par exemple, la troisième semaine de l'année, la vingtième semaine de l'année, etc.
  • % V: Imprime le numéro de semaine ISO de l'année, considérer le lundi comme le premier jour de la semaine.
  • % W: Numéro de semaine de l'année, considérer le lundi comme le premier jour de la semaine.

Sortie de la commande de date avec les options UVW

Options pour afficher le mois

  • %B O % h: Imprimer le nom du mois abrégé en janvier, février, Mars, etc.
  • %B: imprimer le nom complet du mois, janvier, février, Mars, etc.
  • %métro: Imprimer le numéro du mois, avec un zéro non significatif si nécessaire 01, 02, 03… 12.

Sortie de la commande de date avec les options bh B m

Options pour afficher l'année

  • %C: Imprimer le siècle sans l'année. Au 2019 imprimerait 20.
  • % Oui: Imprimer l'année sous forme de deux chiffres. au 2019 imprimera 19.
  • % Oui: Imprimer l'année avec quatre chiffres.

Sortie de la commande de date avec les options C et Y

Options pour afficher l'heure

  • % T: Imprimer l'heure en HH: MM: SS.
  • % R: Imprimer l'heure et les minutes en HH: MM sans secondes, en utilisant l'horloge 24 Heures.
  • % r: Imprimer l'heure en fonction de votre emplacement, en utilisant l'horloge 12 heures et un indicateur am ou pm.
  • %X: Imprimer l'heure en fonction de votre emplacement, en utilisant l'horloge 24 Heures. Probablement. Notez que pendant le test, cette option s'est comportée exactement comme %r Est-ce que, comme il est montré dans ce qui suit. Sur une machine Linux configurée pour les paramètres régionaux du Royaume-Uni et définie sur GMT, imprimé l'heure, en utilisant l'horloge 24 heures sans indicateur AM ou PM, comme prévu.

Sortie de la commande de date avec les options TR r X

Options pour afficher l'heure

  • % H: Imprimer l'heure 00, 01, 02… 23.
  • %je: Imprimer l'heure à l'aide de l'horloge 12 Heures, 00, 01, 02… 12, avec un zéro non significatif si nécessaire.

Sortie de la commande de date avec les options HI

Options pour afficher les minutes

  • %MÉTRO: imprimer la minute, 01, 02, 03… 59, avec un zéro non significatif si nécessaire.

Sortie de la commande de date avec les options M

Options pour afficher les secondes

  • %s: Imprime le nombre de secondes depuis 1970-01-01 00:00:00, le début de la L'ère Unix.
  • %S: Imprimer les secondes, 01, 02, 03… 59, avec un zéro non significatif si nécessaire.
  • %NORD: Imprimer les nanosecondes.

Sortie de la commande de date avec les options s SN

Options d'affichage des informations de fuseau horaire

  • % Avec: Imprimez le décalage horaire entre votre fuseau horaire et UTC.
  • %: Avec: Imprimez le décalage horaire entre votre fuseau horaire et UTC, avec un: entre les heures et les minutes. Noter la : Entre le % signer et z .
  • % :: Avec: Imprimez le décalage horaire entre votre fuseau horaire et UTC, avec un: entre les heures, les minutes et les secondes. Noter la :: Entre le % signer et z .
  • % AVEC: Imprimer le nom alphabétique du fuseau horaire.

Sortie de la commande de date avec options de fuseau horaire

Options liées au format

  • %page: Imprimer l'indicateur AM ou PM en majuscule.
  • %PAG: Imprimer l'indicateur am ou pm en minuscules. Notez la particularité de ces deux options. Une minuscule p sorties en majuscules, Une lettre majuscule P sorties en minuscules.
  • % t: Imprimer un onglet.
  • %Nord: Imprimer une nouvelle ligne.

Sortie de la commande de date avec indicateur AM PM et options de formatage

Options pour modifier d'autres options

Ces modificateurs peuvent être insérés entre les % et la lettre d'option des autres options pour modifier leur affichage. Par exemple, %-S supprimerait le zéro non significatif pour les valeurs de secondes à un chiffre.

  • : Un seul tiret empêche le remplissage par zéro dans les valeurs à un chiffre.
  • _: un simple trait de soulignement ajoute des espaces de début pour les valeurs à un chiffre.
  • 0: Fournit des zéros non significatifs pour les valeurs à un chiffre.
  • ^: Utiliser des lettres majuscules, si possible (toutes les options ne respectent pas ce modificateur).
  • #: utiliser la casse opposée à la casse par défaut pour le, si possible (toutes les options ne respectent pas ce modificateur).

Sortie de la commande de date avec les options de mise en forme

Deux autres astuces ingénieuses

Pour obtenir la dernière fois qu’il faut modifier un fichier, Utilisez le -r (référence) option. Notez que cela utilise un - (scénario) au lieu d’un % signe, et ne nécessite pas de + signe. essayez cette commande dans votre dossier de base:

date -r .bashrc

Quittez la commande de date avec l’option d’heure de modification de fichier

Les paramètres TZ vous permettent de modifier votre fuseau horaire pour la durée d’une seule commande.

TZ=DATE GMT +%c

Quitter la commande date pour un autre fuseau horaire

Utilisation de la date dans les scripts

Activer un script shell Bash pour imprimer l’heure et la date est trivial. créer un fichier texte avec le contenu suivant et l’enregistrer sous gd.sh.

#!/bin/bash

TODAY=$(Date +"Aujourd’hui, c’est %A, %d de %B")
TIMENOW=$(Date +"L’heure locale est %r")
TIME_UK=$(TZ=Date BST +"Le temps au Royaume-Uni est %r")

echo $TODAY
echo $TIMENOW
echo $TIME_UK

Escriba el siguiente comando para establecer los permisos de ejecución y hacer que el script sea ejecutable.

chmod +x gd.sh

Exécutez le script avec cette commande:

./gd.sh

Sortie du script Gd.sh

Nous pouvons utiliser la commande date pour fournir un horodatage. Le script affiché créera un répertoire avec l'horodatage comme nom. Ensuite, il copiera tous les fichiers texte du dossier actuel vers celui-ci. En exécutant ce script périodiquement, nous pouvons prendre un instantané de nos fichiers texte. Avec le temps, nous allons créer une série de dossiers avec différentes versions de nos fichiers texte.

Tenga en cuenta que este no es un sistema de copia de seguridad sólido, es solo para fines ilustrativos.

créer un fichier texte avec le contenu suivant et l’enregistrer sous snapshot.sh.

#!/poubelle/bash

# obtain the date and time
date_stamp=$(Date +"%F-%H-%M-%S")

# make a directory with that name
mkdir "$date_stamp"

# copy the files from the current folder into it
cp *.txt "$date_stamp"

# tout est fait, report back and exit
echo "Fichiers texte copiés dans le répertoire: "$date_stamp

Escriba el siguiente comando para establecer los permisos de ejecución y hacer que el script sea ejecutable.

chmod +x snapshot.sh

Exécutez le script avec cette commande:

./snapshot.sh

Efecto de ejecutar el script snapshot.sh

Verá que se ha creado un directorio. Su nombre es la fecha y hora en que se ejecutó el script. Dans ce répertoire, il y a des copies des fichiers texte.

Avec un peu de réflexion et de créativité, même les humbles date La commande peut être utilisée de manière productive.

setTimeout(fonction(){
!fonction(F,b,e,v,m,t,s)
{si(f.fbq)revenir;n=f.fbq=fonction(){n.callMethod?
n.callMethod.apply(m,arguments):n.queue.push(arguments)};
si(!f._fbq)f._fbq=n;n.push=n;n.chargé=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertAvant(t,s) } (window, document,'scénario',
'https://connect.facebook.net/en_US/fbevents.js’);
fbq('init', « 335401813750447 »);
fbq('Piste', « Page View »);
},3000);

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.