GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment supprimer Bash_history pour le jour en cours uniquement ?

Je travaille sur un projet client qui est hébergé sur l'océan numérique sur un serveur ubuntu, je travaille dessus avec quelques autres développeurs et je suis un peu nouveau et j'ai fait un tas de commandes et c'est vraiment compliqué. Comment puis-je supprimer l'historique des commandes jusqu'à un certain point ?

Par exemple, j'aimerais supprimer toutes les commandes que j'ai saisies aujourd'hui et laisser toutes les commandes précédentes avant cela, est-ce possible ?

Il est plus facile pour les autres développeurs de trouver les commandes précédentes sans passer par toutes les miennes. Est-il possible d'effacer bash_history jusqu'à un certain point, par exemple uniquement l'historique d'aujourd'hui ? Si oui, comment ?

Merci de nous conseiller !

Merci !

Réponse acceptée :

Les lignes de l'historique de Bash sont enregistrées sous forme de lignes de texte sans aucune méta-information comme un horodatage d'appel. Il n'est donc pas possible d'effacer automatiquement tout l'historique des commandes d'une seule journée, car vous ne pouvez tout simplement plus savoir quelle commande a été exécutée à quel moment.

Si vous souhaitez simplement supprimer l'intégralité de l'historique des commandes de votre session Bash actuelle (c'est-à-dire tout ce qui n'est encore qu'en mémoire et qui n'est pas encore écrit sur le disque), vous pouvez soit effacer le tampon d'historique en mémoire, soit le remplacer par l'ancien historique contenu du fichier à partir du disque.

  • L'effacement du tampon d'historique se traduira par un historique en mémoire vide pour votre session en cours, ce qui signifie qu'aucune commande ne s'affichera si vous appuyez sur , etc. Une fois que vous avez quitté votre session Bash, toutes les nouvelles commandes entrées après l'effacement seront ajoutées au fichier d'historique et lors de votre prochaine session, vous verrez à nouveau l'historique complet, avec uniquement la plage entre le début de votre dernière session et la commande clear manquante.

    history -c
    
  • Le remplacement du tampon d'historique en mémoire actuel par le contenu du fichier d'historique du disque aura le même résultat final que l'effacement du tampon d'historique, sauf que dans votre session en cours, vous aurez accès à l'ancien historique des commandes au lieu d'une liste vide.

    history -r
    

Si cela ne vous aide pas parce que vous souhaitez ranger les entrées des sessions précédentes ou seulement une session partielle, la méthode chirurgicale est ce qu'il vous faut :

Synchronisez votre tampon d'historique en mémoire actuel avec le fichier d'historique sur le disque, puis ouvrez ce fichier dans un éditeur de texte et supprimez manuellement toutes les entrées incriminées.

En relation :Quels dossiers inclure dans la sauvegarde ?

Pour ajouter manuellement l'historique de votre session en cours au fichier d'historique (car cela ne se produit automatiquement que lorsque vous quittez votre session), exécutez d'abord ceci :

history -a

Après cela, ouvrez le fichier d'historique de Bash ~/.bash_history dans votre éditeur de texte préféré (comme vous êtes sur un serveur, je suggérerais par exemple nano ) et modifiez la liste de commandes selon vos goûts. Le fichier répertorie toutes les commandes enregistrées dans l'ordre chronologique, les commandes les plus récentes en dernier. Supprimez simplement les lignes incriminées et enregistrez votre travail.

Après cela, vous devez recharger l'historique modifié dans votre tampon d'historique en mémoire à l'aide de la commande ci-dessous, afin d'empêcher que les anciennes entrées de la mémoire ne soient ajoutées au fichier d'historique rangé lorsque vous quittez votre session :

history -r

Ubuntu
  1. Comment supprimer les doublons dans le .bash_history, en préservant l'ordre ?

  2. Comment exécuter la commande Ping uniquement pour un nombre N de paquets

  3. Comment attribuer un nom à un écran ?

  4. Comment puis-je me déconnecter d'une session SSH ouverte et distante ?

  5. Comment puis-je créer un utilisateur uniquement pour sftp ?

Comment afficher et supprimer l'historique du terminal dans Ubuntu 20.04

Comment supprimer un répertoire dans Ubuntu 20.04

Comment supprimer un fichier dans Ubuntu

Comment spécifier la limite de temps pour une session Sudo

Comment spécifier la limite de temps pour une session Sudo dans Ubuntu 20.04 LTS

Comment ajouter un nouveau domaine pour les e-mails uniquement ?