How I turned my Linux terminal sessions into everyday speedrun obstacles

Boxing

boxing 4

Released Sep 11, 2026, 8:00 PM EDT

An innovation lover, Bobby studied Computer Science at the University of Southampton before operating in a variety of functions throughout markets, from the economic sector to the charitable one, at multinationals and start-ups. He’s assisted preserve backend Java servers, created databases and front-end user interfaces, and produced a custom material management system.

Bobby likewise delights in video gaming, and has actually composed for a number of outlets, consisting of a stint as Editor-in-Chief at Switch Player Magazineand contributions to online publication, SUPERJUMPBobby utilizes a Mac for daily work and an Android phone for interruptions.

I’ve been utilizing Linux for numerous, several years now, however I still keep finding out brand-new things all the time. It looks like, no matter what job you’re running, there’s a quicker method to do it. I chose to begin focusing on these speed acquires to see simply how quick my terminal life can be.

<p>Now that I'm determining command times and determining efficiency gains, my everyday Linux usage is getting increasingly more effective. Here's how.</p>    Start timing your commands

Recognizing the time sinks is the initial step to repairing them

                                                                                        <picture><source media="(max-width: 1023px)" data-srcset="https://i0.wp.com/media.pmnsports.co.uk/2026/09/localimages/linux-terminal-speedrun-timing.png?q=49&fit=crop&w=825&dpr=2">
    </source></picture>

Obviously, the most convenient method to time a command is with the existing time command. You can utilize it to time a program, so it’s excellent if you’re attempting to enhance a particular command or a script you’ve composed.

<p>Utilizing time as an easy, general-purpose reporting tool is uncomfortable, and I desired a fast method of finding what I really invest time utilizing the terminal for. Utilizing zsh, you can hook into 2 occasions: preexec, which runs right before the shell carries out a command, and precmd, which runs right before it goes back to the timely.</p>    
timer_preexec( )TIMER_START=$EPOCHREALTIME timer_precmd () add-zsh-hook preexec timer_preexec add-zsh-hook precmd timer_precmd

In the complete variation of this script, I set the PROMPT variable inside time_precmd if it surpasses a limit, so I get alerted whenever a command takes more than a particular time. This is simply the start of

this method; you might go much more and keep an appropriate record if you select. Another technique utilizes the REPORTTIME zsh environment variable to immediately run time with every command:

export REPORTTIME=0
        <p>You can set REPORTTIME to a variety of seconds to just report on commands that take longer </p><h3 id="there-rsquo-s-often-a-quicker-way-to-do-something">.


</h3></div>

Accelerating your daily terminal usage

There’s frequently a quicker method to do something

The 2nd part of speed running is utilizing faster ways to work quicker. These might look like little gains in the beginning, however in time they will integrate to form big cost savings and minimize daily disappointment.

Stop utilizing the Up arrow




















                                                                                        <picture>
    </picture>

I lose a great deal of time on the command line rerunning or rewording previous commands. The history functions of your shell make this extremely simple: press Up a variety of times to discover a previous command, then struck Get in to rerun it. Or utilize Left and Backspace to modify it, then run it. Possibly you’ve even advanced to Ctrl + A to leap to the start of the line.

<p>It ends up that the majority of this verbose typing is unneeded. For a start, there's <strong>$</strong> which broadens to the last argument of the previous command, letting you do things like this:</p>    
mkdir -p my/new/directory
cd !$

I discover this can be found in useful when running a command I’ve simply made executable(although make sure to provide the./ prefix if it’s not currently in your PATH):

chmod +x foo.sh
./!$

There’s a huge variety of history growth faster ways, like !! which broadens to the previous command:

apt install something

# oops, need to be root...
sudo !!

These methods are far from the only method you can reword previous commands. Another method– and most likely my leading suggestion– is caret alternative:

$ cd my/new/directry
cd: no such file or directory

$ ^tr^tor
cd my/new/directory

Utilizing this syntax, your shell will take the previous command, change the very first circumstances of the first team with the 2nd, and rerun the outcome. I’m now requiring myself to embrace this method rather of the manual up-arrow technique, and I’m happily shocked by simply just how much quicker it is, now that I’m utilized to considering the repair and how to make it.

<p>The fc command is most likely the most helpful one you're not currently utilizing. By default, it opens the last command </p><h3 id="use-aliases-and-functions"> in your terminal editor, then runs it when you leave. If you wish to make more considerable modifications to a command, <div data-img-url="https://i0.wp.com/media.pmnsports.co.uk/2026/09/localimages/linux-terminal-speedrun-aliases.png" data-modal-id="single-image-modal" data-modal-container-id="single-image-modal-container" data-img-caption=""> it's normally faster than caret replacement, history faster ways, or by hand moving the cursor. <source media="(max-width: 480px)" data-srcset="https://i0.wp.com/media.pmnsports.co.uk/2026/09/localimages/linux-terminal-speedrun-aliases.png?q=49&fit=crop&w=500&dpr=2"> <source media="(max-width: 767px)" data-srcset="https://i0.wp.com/media.pmnsports.co.uk/2026/09/localimages/linux-terminal-speedrun-aliases.png?q=49&fit=crop&w=800&dpr=2"> <source media="(max-width: 1023px)" data-srcset="https://i0.wp.com/media.pmnsports.co.uk/2026/09/localimages/linux-terminal-speedrun-aliases.png?q=49&fit=crop&w=825&dpr=2"> <img width="1650" height="1032" loading="lazy" decoding="async" alt="boxing A terminal showing the output from the alias command which is several aliases, including jq aliased to jq --indent 4." src="https://i0.wp.com/media.pmnsports.co.uk/2026/09/localimages/linux-terminal-speedrun-aliases.png?q=49&fit=crop&w=825&dpr=2" previous-src="https://i0.wp.com/media.pmnsports.co.uk/2026/09/localimages/linux-terminal-speedrun-aliases.png?q=49&fit=crop&w=825&dpr=2">    Usage aliases and functions




















                                                                                        <picture><source media="(max-width: 767px)" data-srcset="https://i0.wp.com/media.pmnsports.co.uk/2026/09/localimages/linux-terminal-speedrun-aliases.png?q=49&fit=crop&w=800&dpr=2"><img width="1650" height="1032" loading="lazy" decoding="async" alt="A terminal showing the output from the alias command which is several aliases, including jq aliased to jq --indent 4." src="https://i0.wp.com/media.pmnsports.co.uk/2026/09/localimages/linux-terminal-speedrun-aliases.png?q=49&fit=crop&w=825&dpr=2" previous-src="https://i0.wp.com/media.pmnsports.co.uk/2026/09/localimages/linux-terminal-speedrun-aliases.png?q=49&fit=crop&w=825&dpr=2">
    </source></picture>

    </source></source></source></div>

There are most likely commands– and sets of commands– you run all the time without even considering it. You’re on auto-pilot, so the procedure fasts and simple, however it might be a lot quicker. If you’re running a command in the exact same method, once again and once again, think about an alias.

<p>Aliases offer standard text replacement, so rather of typing <strong>ls-lh</strong> whenever you desire a long file listing, you can do this rather:</p>    
ll

To set that up, you’ll require to specify an alias, most likely in a file like.bashrc. Merely utilize the alias command, choose a brief series of letters that aren’t currently in usage, and specify the broadened command completely:

alias ll='ls -lh'

The gains may appear unimportant, however they’ll grow the longer your commands get. I like to utilize eza rather of ls, so my alias looks like this:

alias ll='eza --long --sort=size --reverse'

That’s a great deal of typing conserved, particularly because I utilize this alias often times over, each and every single day.[&19659027]If your aliases begin getting more complex, think about specifying a basic function rather. Functions let you utilize specifications and control circulation, and you can likewise call them from your own shell scripts.

<p>Among the most beneficial functions I constantly ensure to specify is this one:</p>    
mkd () exit

For a start, see how the name of this function is much shorter than the basic mkdir; that’s currently a conserving whenever you develop a directory site! More significantly, it does the thing I typically do as soon as I’ve developed a directory site anyhow: going into that directory site with cd.

I likewise send out the-p choice to mkdir by default, given that this develops any intermediate directory sites, like the docs in “mkd docs/finance.”

<p>It's crucial to keep in mind that there are some small disadvantages to utilizing -p all the time: there are some types of mistakes that may pass you by. A real speed runner does not issue themselves with these kinds of dangers; they get whatever right, as rapidly as possible.</p>    Usage quicker tools




















                                                                                        <picture>
    </picture>

The core Linux toolset is steady, fully grown, and trustworthy, options are readily available. A number of these are composed in more contemporary languages, like Rust, which is quick and safe.

<p>Much better command-line tools consist of tmux, for session management, fzf and fd, quick options to find/grep, and zoxide, that makes navigation a lot more effective than cd.</p>    Know your restrictions-- and eliminate them!

Your shell has numerous effective functions that not just let you determine your performance, however likewise permit you to enhance it. Tab conclusion, background procedures, and command chaining are simply a few of those I have not discussed here.


Discover more from PMN S.P.O.R.T.S - A PRIME MEDIA NETWORK BRAND

Subscribe to get the latest posts sent to your email.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here