While navigating the file system via the command line on Linux systems, in order to move back into a parent directory (in a long path), we would normally issue the cd command repeatedly (cd ../../..) until we land into the directory of interest.

This can be so tedious and boring much of the time, especially for experienced Linux users or system administrators who carry out so many various tasks, therefore hope to discover shortcuts to ease their jobs while operating a system.

In this article, we will review a simple but helpful utility for quickly moving back into a parent directory in Linux with the help of bd tool.

bd is a handy utility for navigating the filesystem, it enables you to quickly go back to a parent directory without typing cd ../../.. repeatedly. You can reliably combine it with other Linux commands to perform a few daily operations.

How to Install bd in Linux Systems

Run the following commands to download and install bd under /usr/bin/ using the wget command, make it executable and create the required alias in your ~/.bashrc file:

Actually, bd makes it even more straight forward, all you need to do is just type bd <few starting letters> such as:

$ bd Doc
$ bd Da

Quickly Switch Directories

Important: In case there are more than one directories with the same name up in the hierarchy, bd will move you into the closest without considering the immediate parent as explained in the example below.

For instance, in the path above, there are two directories with the same name Books, if you want to move into:

Additionally, using bd within backticks in the form `bd <letter(s)>` prints out the path minus changing the current directory, so you can use `bd <letter(s)>` with other common Linux commands such as ls, echo etc..

In the example below, am currently in the directory, /var/www/html/internship/assets/filetree and to print the absolute path, long-list the contents and sum up the size of all files in the directory html without moving into it, I can just type:

Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

Please don’t suggest using wget –no-check-certificate, that should only be for internal/local use where you can be confident of no MITM attacks.

Also, when not using your Linux package manager to install a program, you should not be using /usr/bin. For a single user you can install to a folder in your home directory like ~/bin (and add that to your $PATH). Or to make it available to all users of a system you can use /usr/local/bin.

Never download files as root. Instead of using `sudo wget` you should use wget as a normal user, check the contents of the file and then use sudo to install it to the desired location (here /etc/bash_completion.d/bd).

Also, there’s no need to use `sudo source` and I’m not sure it would even work. Instead just use `source` as the current user.

You have responsibilities as a technical writer to give good examples without creating potential security issues for your readers. Please think carefully about commands given in examples.

Yes, ‘sudo source‘ does not work. Also, you show wget being used to writing the file into /usr/bin/. This needs a sudo (but like Bill says, it shouldn’t be in /usr/bin/ and should be d/led and checked first). Also, looking at the github for bd, it seems it can be installed via a package manager now: https://github.com/vigneshwaranr/bd/issues/32

Otherwise, thanks for posting this article. `bd` will prove very valuable to me. Thanks!