Maison >Tutoriel système >Linux >Analyse détaillée de la façon d'afficher la date et l'heure dans la commande historique

Analyse détaillée de la façon d'afficher la date et l'heure dans la commande historique

王林
王林avant
2024-01-12 16:24:171010parcourir

Nous connaissons tous la commande history. Il stocke toutes les commandes exécutées par bash sur le terminal dans le fichier .bash_history pour nous aider à revoir les commandes précédemment exécutées par l'utilisateur.

Par défaut, la commande history affiche directement les commandes exécutées par l'utilisateur sans afficher la date et l'heure d'exécution de la commande, même si la commande history enregistre cette heure.

Lorsque vous exécutez la commande history, elle vérifiera une variable d'environnement appelée HISTTIMEFORMAT. Cette variable d'environnement spécifie comment formater la sortie de l'heure enregistrée dans la commande history.

Si la valeur est nulle ou n'est pas définie du tout, elle sera affichée par défaut sur la plupart des systèmes, et la date et l'heure ne seront pas affichées.

HISTTIMEFORMAT utilise strftime pour formater les heures d'affichage (strftime - convertit les dates et les heures en chaînes). La commande history affiche la date et l'heure pour vous aider à localiser le problème plus facilement.

·%T : Remplacé par l'heure (%H:%M:%S).
·%F : équivalent à %Y-%m-%d (format de date standard ISO 8601:2000).

Ce qui suit est la sortie par défaut de la commande history.

# history
 1 yum install -y mysql-server mysql-client
 2 service mysqld start
 3 sysdig proc.name=sshd
 4 sysdig -c topprocs_net
 5 sysdig proc.name=sshd
 6 sysdig proc.name=sshd | more
 7 sysdig fd.name=/var/log/auth.log | more
 8 sysdig fd.name=/var/log/mysqld.log
 9 sysdig -cl
 10 sysdig -i httplog
 11 sysdig -i proc_exec_time
 12 sysdig -i topprocs_cpu
 13 sysdig -c topprocs_cpu
 14 sysdig -c tracers_2_statsd
 15 sysdig -c topfiles_bytes
 16 sysdig -c topprocs_cpu
 17 sysdig -c topprocs_cpu "fd.name contains sshd"
 18 sysdig -c topprocs_cpu "proc.name contains sshd"
 19 csysdig
 20 sysdig -c topprocs_cpu
 21 rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public
 22 curl -s -o /etc/yum.repos.d/draios.repo http://download.draios.com/stable/rpm/draios.repo
 23 yum install -y epel-release
 24 yum update
 25 yum makecache
 26 yum -y install kernel-devel-$(uname -r)
 27 yum -y install sysdig
 28 sysdig
 29 yum install httpd mysql
 30 service httpd start

En fonction de vos besoins, il existe trois manières différentes de définir les variables d'environnement.

·Définir temporairement les variables d'environnement de l'utilisateur actuel
· Définir de manière permanente les variables d'environnement pour les utilisateurs actuels/autres utilisateurs
· Définir de manière permanente les variables d'environnement pour tous les utilisateurs

Remarque : n'oubliez pas d'ajouter un espace avant le dernier guillemet simple, sinon le résultat sera déroutant.

Méthode 1 :

Exécutez la commande suivante pour définir temporairement la variable HISTTIMEFORMAT pour l'utilisateur actuel. Cela prendra effet jusqu'au prochain redémarrage.

# export HISTTIMEFORMAT='%F %T '

Méthode 2 :

Ajoutez la variable HISTTIMEFORMAT au fichier .bashrc ou .bash_profile pour la rendre permanente.

# echo 'HISTTIMEFORMAT="%F %T "' >> ~/.bashrc
或
# echo 'HISTTIMEFORMAT="%F %T "' >> ~/.bash_profile

Exécutez la commande suivante pour que les modifications apportées au fichier prennent effet.

# source ~/.bashrc
或
# source ~/.bash_profile

Méthode 3 :

Ajoutez la variable HISTTIMEFORMAT au fichier /etc/profile pour la rendre permanente pour tous les utilisateurs.

# echo 'HISTTIMEFORMAT="%F %T "' >> /etc/profile

Exécutez la commande suivante pour que les modifications apportées au fichier prennent effet.

# source /etc/profile

Le résultat de sortie est :

# history
 1 2017-08-16 15:30:15 yum install -y mysql-server mysql-client
 2 2017-08-16 15:30:15 service mysqld start
 3 2017-08-16 15:30:15 sysdig proc.name=sshd
 4 2017-08-16 15:30:15 sysdig -c topprocs_net
 5 2017-08-16 15:30:15 sysdig proc.name=sshd
 6 2017-08-16 15:30:15 sysdig proc.name=sshd | more
 7 2017-08-16 15:30:15 sysdig fd.name=/var/log/auth.log | more
 8 2017-08-16 15:30:15 sysdig fd.name=/var/log/mysqld.log
 9 2017-08-16 15:30:15 sysdig -cl
 10 2017-08-16 15:30:15 sysdig -i httplog
 11 2017-08-16 15:30:15 sysdig -i proc_exec_time
 12 2017-08-16 15:30:15 sysdig -i topprocs_cpu
 13 2017-08-16 15:30:15 sysdig -c topprocs_cpu
 14 2017-08-16 15:30:15 sysdig -c tracers_2_statsd
 15 2017-08-16 15:30:15 sysdig -c topfiles_bytes
 16 2017-08-16 15:30:15 sysdig -c topprocs_cpu
 17 2017-08-16 15:30:15 sysdig -c topprocs_cpu "fd.name contains sshd"
 18 2017-08-16 15:30:15 sysdig -c topprocs_cpu "proc.name contains sshd"
 19 2017-08-16 15:30:15 csysdig
 20 2017-08-16 15:30:15 sysdig -c topprocs_cpu
 21 2017-08-16 15:30:15 rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public
 22 2017-08-16 15:30:15 curl -s -o /etc/yum.repos.d/draios.repo http://download.draios.com/stable/rpm/draios.repo
 23 2017-08-16 15:30:15 yum install -y epel-release
 24 2017-08-16 15:30:15 yum update
 25 2017-08-16 15:30:15 yum makecache
 26 2017-08-16 15:30:15 yum -y install kernel-devel-$(uname -r)
 27 2017-08-16 15:30:15 yum -y install sysdig
 28 2017-08-16 15:30:15 sysdig
 29 2017-08-16 15:30:15 yum install httpd mysql
 30 2017-08-16 15:30:15 service httpd start

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer