Is there a shortcut for typing /cygdrive/ for every path? Is it possible to alias /cygdrive/ to /cd/ for example?
6 Answers
$ man alias
NAME
alias, unalias - create or remove a pseudonym or shorthand
for a command or series of commands
They are used for commands only.
if you want to create a shortcut to /cygdrive i recommend using environment variables:
export PROJECT_DIR=/cygdrive/c/path/to/project
export c_dir=/cygdrive/c
export d_dir=/cygdrive/d
Put these into the .profile file under your home directory.
Usage:
cd $c_dir
cd $d_dir
cd $PROJECT_DIR
-
Although you can
alias c:='/cydrive/c'
too, it might have some unwanted side effects.– ocodoOct 13, 2011 at 15:33
You could use : mount --change-cygdrive-prefix
For example : mount --change-cygdrive-prefix /
and cd /c/
will change the working directory to /cygdrive/c/
.
For permanent change (not session's change), you need to change the Windows registry.
-
2There's no need to edit the registry. In Cygwin versions before 1.7, changing the prefix with the mount command automatically became permanent, by updating the relevant registry entry. In Cygwin 1.7, mount points are no longer stored in the registry but read from
/etc/fstab
. See the user manual for the format of this.– ak2Oct 13, 2011 at 15:27 -
This is the correct solution, supported by Cygwin, as the manual for the Cygwin mount command shows. Nov 1, 2011 at 6:53
-
-
If I put this solution in my
.bashrc
or the.bash_profile
either one file$HOME
ends up being incorrect and everything referencing it or~
fail.– user22908Dec 14, 2017 at 18:08
What I do is create symbolic links in the Cygwin home for those directories that I go to regularly, for example:
$ cd ~
$ ln -s /cygdrive/c/code
Then $ cd code
takes me where I want to go.
Could you use tab completion? eg type cd /cy
and then press TAB and it should hopefully complete to /cygdrive/
-
FYI zsh completion will expand
cd /cy/c
tocd /cygdrive/c
, I think bash won't. Of course, zsh completion will do the whole path as abbreviations, e.g.cd /cy/c/prog/mi/
[TAB] reliant on unique abbreviations of course.– ocodoOct 13, 2011 at 15:35
the following is a cygwin mount solution:
mount --change-cygdrive-prefix /
then instead of cd /cygdrive/c
cd /c
the earlier posts aliases are still useful for shortening "cd long-path" commands
I found a more correct answerlink after I used the accepted one here and felt it was way to hacky to be correct given all the stuff it broke.
edit /etc/fstab
the current version as of this time is
none /cygdrive cygdrive binary,posix=0,user 0 0
make it look like
none / cygdrive binary,posix=0,user 0 0
and you are good to go, no hacks to replace stuff in $PATH
or $HOME
or anything else!
ln -s cygdrive /cd
not work?