Create Shortcuts To The Frequently Used Directories In Your Shell

Create Shortcuts To The Frequently Used Directories In Your Shell

A while ago, I wrote a guide about pushd, popd and dirs commands, which are used for CLI faster navigation. These three commands provides a way faster navigation between directories. Today, I stumbled upon a similar tool called “shortcut” that can also be used for faster and easier navigation between a stack of directories. You can use this tiny tool for making shortcuts to your most commonly and frequently used directories in your SHELL. It is known to work on ZSH and BASH shells.

Create Shortcuts To The Frequently Used Directories In Your Shell Using “Shortcut”

Installation

To install shortcut, git clone its repository:

git clone https://github.com/zakkor/shortcut.git

The above command will clone the contents in a folder called “shortcut” in your current working directory.

Go to the “shortcut” directory:

cd shortcut/

Run the following command to install it:

sh install.sh

The above command will put an executable shortcut in /usr/local/bin, and append a shell function called sc to your .zshrc.

If you use BASH, edit install.sh file:

vi install.sh

Change the following line:

cat alias.sh >> ~/.zshrc

To:

cat alias.sh >> ~/.bashrc

Save and close the file. Then, run the following command to install “shortcut”:

sh install.sh

Finally, run the following command to update the changes.

source ~/.bashrc

Usage

Let us create a sample directory hierarchy.

mkdir -p abcd/efgh/ijkl/mnop/qrst/uvwx/yz/

Here is our directory hierarchy:

$ tree abcd/
abcd/
└── efgh
 └── ijkl
 └── mnop
 └── qrst
 └── uvwx
 └── yz

6 directories, 0 files

Assume we are in abcd/efgh/ijkl/mnop/qrst/uvwx/yz/ directory.

To create a shortcut to this directory, just run:

sc yz .

Don’t forget the dot (.) at the end of the command. Here, yz is the shortcut name to abcd/efgh/ijkl/mnop/qrst/uvwx/yz/ directory. You can use any name to the shortcut. In this case, I have used the actual name of directory (yz) as its shortcut name.

From now on, you can cd to /yz directory from any location by just using the following command:

sc yz

As you see in the above screenshot, it is a long path and will take many keystrokes to navigate to this directory. Usually, we use the following command to go to this directory.

cd abcd/efgh/ijkl/mnop/qrst/uvwx/yz/

But, you don’t have to type the full path. Just create a shortcut to /some/long/path/ directory using “shortcut” utility and cd to that directory in no time.

You can also create a shortcut using the absolute path if you want, like below:

sc go abcd/efgh/ijkl/mnop/qrst/uvwx/

Here, go is the shortcut name to the directory abcd/efgh/ijkl/mnop/qrst/uvwx/.

To go to that directory, just type:

sc go

All shortcuts will be stored one by one in a file called ~/.scrc as shown below.

yz /home/sk/abcd/efgh/ijkl/mnop/qrst/uvwx/yz
go /home/sk/abcd/efgh/ijkl/mnop/qrst/uvwx

All shortcuts are persistent. If you don’t want a shortcut to specific directory, just open this file in any editor and delete the respective shortcut line.

Of course, you can use alias or ln for navigating stack of directories. However, It’s always nice to know of the alternative. For those looking for an alternative approach, give it a try. You won’t be disappointed!

Cheers!

Resource:

Thanks for stopping by!

Help us to help you:

Have a Good day!!

You may also like...