foxfirefey: A fox colored like flame over an ornately framed globe (Default)
foxfirefey ([personal profile] foxfirefey) wrote in [community profile] command_liners2009-06-25 11:51 am
Entry tags:

Going to your previous current working directory

I learned this one recently from a coworker:

cd -


This will allow you to switch to your previous current working directory. So:

# Go into first directory
cd ~/path/to/first/dir
# Go into second directory
cd ~/path/to/second/dir
# This takes us back to the first directory
cd -
# This takes us back to the second directory
cd -


This is really useful if you have two main directories you're currently working in.
pne: A picture of a plush toy, halfway between a duck and a platypus, with a green body and a yellow bill and feet. (Default)

[personal profile] pne 2009-06-29 10:22 am (UTC)(link)
The Korn shell also has a useful extension to the cd command: if you give it two arguments, it'll look for the first argument in the current working directory and replace it with the second argument, then try to change directory to the result.

For example, if I'm in /home/pne/src/foo/monitor/impl and want to have a look at my co-worker's sources, I could cd pne rku and end up in /home/rku/src/foo/monitor/impl.

Or if I'm in /home/pne/proj/cool-app/src/com/example/coolapp/core/ui/buttons and want to have a look at the compiled classes, I could type cd src bin and end up at the appropriate position in the compiled-classes hierarchy (assuming a fairly typical(?) setup).

Pity that AFAIK bash hasn't adopted this syntax, especially since (again AFAIK) it doesn't conflict with any existing syntax.
Edited 2009-06-29 10:22 (UTC)
sophie: A cartoon-like representation of a girl standing on a hill, with brown hair, blue eyes, a flowery top, and blue skirt. ☀ (Default)

[personal profile] sophie 2009-07-01 07:14 pm (UTC)(link)
It doesn't, though you can still do it with the command cd ${PWD/pne/rku}, although that's admittedly not easy to remember at all.