Linux – add a shortcut to replace a path in Linux

command linelinuxpath

For example, I always go to this path:

/user/something/somefolders/somewhere

but I don't want to type

cd
/user/something/somefolders/somewhere

in the terminal all the time, can I have some short hand to do so? for example, can I do something like

cd commandPlace

to replace the path?

Best Answer

You can use the environment variable CDPATH for this. From the Bash man page:

CDPATH

The search path for the cd command. This is a colon-separated list of directories in which the shell looks for destination directories specified by the cd command. A sample value is ".:~:/usr".

In your case, you can set

export CDPATH=.:/user/something/somefolders

in ~/.bashrc, and then typing cd somewhere would take you to /user/something/somefolders/somewhere (assuming there's no directory named somewhere within the current directory).

Alternatively, if you don't want to refer to the folder somewhere by its real name, you could create a hidden directory that contains a symbolic link to /user/something/somefolders/somewhere with the name you want to use. It could also contain links to any other directories you frequently visit. Then set CDPATH to include the path to that hidden directory. Although note that with this method, if you cd somewhere and then cd .., you'll wind up in the hidden directory. That may or may not be an issue for you.

Related Question