GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser la commande Linux history

Présentation

L'history La commande sous Linux est un outil shell intégré qui affiche une liste des commandes utilisées dans la session du terminal. history permet aux utilisateurs de réutiliser n'importe quelle commande répertoriée sans la retaper.

Dans ce didacticiel, nous allons vous montrer comment l'history commande fonctionne et différentes façons de l'utiliser.

Prérequis

  • Un système exécutant Linux.
  • Un compte avec des privilèges sudo.
  • Accès à la fenêtre du terminal.

Comment utiliser la commande d'historique Linux

Utilisation de l'history commande sans option affiche la liste des commandes utilisées depuis le début de la session terminal :

history

Pour afficher la liste de l'historique des commandes avec un nombre limité d'entrées, ajoutez ce numéro à l'history commande. Par exemple, pour afficher uniquement les cinq dernières entrées, utilisez :

history 5

Une fois que vous fermez le terminal, le shell Bash enregistre les nouvelles entrées de l'historique des commandes dans le .bash_history fichier.

Utiliser la date et l'horodatage

Le .bashrc Le fichier stocke les paramètres du shell Bash. La modification de ce fichier permet de changer le format de sortie de l'history commande.

Ouvrez le .bashrc fichier à l'aide d'un éditeur de texte tel que Nano :

sudo nano .bashrc

Pour modifier le format de sortie afin d'inclure la date et l'horodatage, ajoutez la ligne suivante au .bashrc fichier :

export HISTTIMEFORMAT="%c "

Utiliser différents arguments après HISTTIMEFORMAT permet de personnaliser le niveau de détail de l'horodatage :

  • %d :Jour
  • %m :Mois
  • %y :Année
  • %H :Heure
  • %M :Minutes
  • %S :Secondes
  • %F :Date complète (format A-M-J)
  • %T :Heure (format H:M:S)
  • %c :Date et horodatage complet (format Jour-J-M-A H:M:S)

Enregistrez les modifications dans le .bashrc fichier, relancez le terminal et exécutez l'history commande pour confirmer le nouveau format de sortie :

history

Afficher la taille du tampon d'historique

Le .bashrc Le fichier contient deux entrées qui contrôlent la taille du tampon d'historique :

  • HISTSIZE  :Le nombre maximum d'entrées pour la liste d'historique.
  • HISTFILESIZE :Le nombre maximum d'entrées dans le .bash_history fichier.

Modification de HISTSIZE et HISTFILESIZE valeurs modifie la façon dont le shell Bash affiche et enregistre l'historique des commandes.

Par exemple, changer le HISTSIZE valeur à 10 rend l'history la liste de commandes affiche un maximum de 10 dernières entrées.

Enregistrement des modifications dans le .bashrc fichier, relancer le terminal et exécuter l'history commande confirme le nouveau format de sortie :

history

Répéter une commande

Exécution de l'history La commande vous permet de réutiliser n'importe laquelle des commandes de la liste. Par exemple, pour exécuter la première commande (sudo apt update ) à nouveau, utilisez :

!1

Ajouter un tiret (- ) avant que le numéro de commande ne commence le décompte à partir de la fin de la liste. Par exemple, pour réutiliser la dixième dernière commande (history 5 ), utilisez :

!-10

Utilisez des points d'exclamation doubles pour répéter la dernière commande :

!!

Rechercher une commande par chaîne

L'ajout d'une chaîne après le point d'exclamation exécute la dernière commande commençant par cette chaîne. Par exemple, pour réutiliser la dernière commande commençant par sudo , utilisez :

!sudo

L'utilisation de cette méthode peut causer des problèmes si le shell exécute une commande inattendue, en particulier lors de la recherche d'une commande commençant par sudo . Par précaution, ajouter le :p affiche la commande sans l'exécuter, ce qui vous permet de revoir la commande et de décider si vous voulez l'exécuter.

!sudo:p

Pour rechercher une commande qui contient une chaîne, mais qui ne commence pas par celle-ci, ajoutez un point d'interrogation à côté du point d'exclamation. Par exemple, pour réutiliser la dernière commande qui contient echo :

!?echo

Dans l'exemple ci-dessus, le shell réutilise la dernière commande qui contient le echo chaîne même si la commande commence par sudo .

Liste des commandes correspondantes

Combiner history et grep permet d'afficher une liste de commandes contenant une chaîne. Par exemple, pour lister toutes les commandes qui contiennent ufw , utilisez :

history | grep ufw

Modifier la commande exécutée

Utilisez la syntaxe suivante pour modifier la dernière commande exécutée :

^[old string]^[new string]^

Par exemple, le ufw la commande pour activer le port 20 indique que le port est déjà activé :

sudo ufw allow 20/tcp

Utilisez la syntaxe ci-dessus pour modifier le numéro de port de 20 à 22 :

^20^22^

Empêcher l'enregistrement des commandes dans l'historique

Pour empêcher l'enregistrement de commandes dans la liste d'historique, désactivez temporairement l'enregistrement en utilisant :

set +o history

Pour réactiver l'enregistrement, utilisez :

set -o history

Supprimer l'historique

Utilisez le -d option avec l'history commande pour supprimer une commande de la liste de l'historique. Par exemple, supprimez la commande numéro 87 avec :

history -d 87

Utilisez le -c option pour effacer toute la liste de l'historique :

history -c

Mettre à jour le fichier historique

Le shell Bash enregistre toutes les mises à jour de la liste de l'historique des commandes lorsque vous quittez la session de terminal. L'history La commande vous permet également d'enregistrer les modifications pendant la session du terminal.

Utiliser le -a L'option vous permet d'ajouter les entrées de l'historique des commandes de cette session au .bash_history fichier :

history -a

Une autre méthode consiste à utiliser le -w option pour enregistrer la liste complète de l'historique dans le .bash_history fichier :

history -w

Linux
  1. Comment utiliser la commande Linux grep

  2. Comment utiliser la commande history sous Linux

  3. Comment utiliser la commande Su sous Linux

  4. Comment utiliser la commande id sous Linux

  5. Comment utiliser la commande "screen" sous Linux

Comment utiliser la commande Linux Top

Comment utiliser la commande fd sur le système Linux

Comment utiliser la commande wget sous Linux ?

Comment utiliser la commande xargs sous Linux ?

Comment utiliser la commande RPM sous Linux

Comment utiliser la commande which sous Linux