This blog post explains how you can use Bash shell command history to combine sequences of cd commands that take you to a deep path.
I often use multiple cd commands to navigate to a directory.
If I want to go back one cd, I can use issue the cd – command. Sometimes I want to go back several directories. For example, after the following commands that take the shell to /tmp/models, I want to get back to /mnt/c/temp/sln/HeadlessArchitect/HeadlessArchitect.Website.
The pushd and popd commands do not seem to work how I would like. To assist with navigating paths, I create the cds alias that greps cd commands (well, anything that contains the text “cd”) from the shell command history.
alias cds='history | grep cd'
This belongs in shell initialization as described in the following blog post.
While looking at shell configuration, you may want to make it easier to navigate to directories that you use frequently by setting the CDPATH environment variable, which contains a list of directories that the cd command checks for relative paths.
I use the exclamation point to re-issue numbered commands from the history. Line numbers will vary.
cds !3 !4 !5
Actually, I use a semicolon to combine these commands into a new command that appears in the history, and then I get a new command that combines them.
!3 ; !4 ; !5 cd /tmp cd models cds !10
I recommend that you clean your history at login as described in the following blog post, which re-orders the history to move least used commands to the past in the history.