Pages

Friday, June 2, 2017

Use ‘pushd’ and ‘popd’ for Efficient Filesystem Navigation in Linux

Sometimes it can be painful to navigate the Linux file system with commands, especially for the newbies. Normally, we primarily use the cd (Change Directory) command for moving around the Linux file system.
In a previous article, we reviewed a simple yet helpful CLI utility for Linux called bd – for quickly moving back into a parent directory without typing cd ../../.. repeatedly.
This tutorial will explain a related set of commands: “pushd” and “popd” which are used for efficient navigation of the Linux directory structure. They exist in most shells such as bash, tcsh etc.

How pushd and popd Commands Work in Linux

pushd and popd work according to the “LIFO” (last in, first out) principle. In this principle, only two operations are allowed: push an item into the stack, and pop an item out of the stack.
pushd adds a directory to the top of the stack and popd removes a directory from the top of the stack.
To display directories in the directory stack (or history), we can use the dirs command as shown.
$ dirs
OR
$ dirs -v
Dirs - Display Directories in Directory
Dirs – Display Directories in Directory
pushd command – puts/adds directory paths onto a directory stack (history) and later allowing you to navigate back to any directory in history. While you add directories to the stack, it also echoes what’s existing in history (or “stack”).
The commands show how pushd works:
$ pushd  /var/www/html/
$ pushd ~/Documents/
$ pushd ~/Desktop/
$ pushd /var/log/
pushd - Add Directories to Stack
pushd – Add Directories to Stack
From directory stack in the output above (directory index is in reverse order):
  • /var/log is the fifth [index 0] in the directory stack.
  • ~/Desktop/ is fourth [index 1].
  • ~/Documents/ is third [index 2].
  • /var/www/html/ is second [index 3] and
  • ~ is first [index 4].
      ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
                                                    ► Read more: http://adf.ly/1n5ZQs
      ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

No comments:

Post a Comment