History improvements


Despite sounding like it's been named after a drunken lecturer saying "history," hiSHtory is worthy of your attention. It updates the functionality of one of the most important aspects of our shell or terminal interactions, their history backlogs. This is something most of us access with up and down cursor keys, while a few of the elite press Ctrl+R to search through their previous commands. The problem with this default terminal history though, is that while the commands you typed are of course still remembered, their context is utterly lost. A command might have been typed into a remote session, even as a different user, in a different environment or location on your filesystem, and it will still be available through your history. The best this history can do is prod your memory to go through the same setup and configuration before running the command you wish to remember. And what happens when you move to a different machine entirely?

hiSHtory improves on this by remembering the context of commands. It can remember the directory you ran a command in, for example, or even whether the command was successful or not. This might not seem like a big deal, but if you've ever searched through your history only to find typos and badly formatted arguments, you'll know they all have equal precedence alongside the singular instance of the one successful command you're looking for. This is precisely where hiSHtory can help. It supplants the two previously mentioned history access commands and replaces them with additional functionality. In particular, you can search for commands containing a specific string, commands referencing a specific hostname, commands that return a certain exit code, or even services run after a certain date. The history is stored locally and can even be synced across devices with end-to-end encryption, so you always have access to your latest typos. It's brilliant and really should become the default history behavior.

Project Website

hiSHtory replaces your terminal's history functionality with a history that can be shared across multiple machines.

2D/3D modeling

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • PipeWire

    In the coming year, PipeWire will replace PulseAudio, resulting in better audio on Linux. If you can't wait, here's what you need to know to get started with PipeWire.

  • PipeWire 1.0 Officially Released

    PipeWire was created to take the place of the oft-troubled PulseAudio and has finally reached the 1.0 status as a major update with plenty of improvements and the usual bug fixes.

  • Command Line – Melt

    Whether you are an expert or a beginner, you can learn to edit audio and video clips at the command line with Melt.

  • Google Brings Audio/Video Chat Support to Ubuntu and Debian

    Full chat support across Google services

  • FOSSPicks

    After building a 3D printer last month, Graham's home is now filled with cup holders, phone holders, cable holders, and tiny PLA boats. This month, Graham explores Zrythm, Mumble 1.3, NoteKit, Kirogi, monolith, pastel, Nu Shell, PacVim, Stunt Car Racer Remake, and more!

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More