cd -

cd ~-

cd $OLDPWD

 

这三个命令都可以回到上一级目录

 

 

cd - , - 这个符号会被cd 命令 翻译成$OLDPATH

 

cd ~-   ~- 会被shell中OLDPWD替代

cd ~+   ~+会被shell中PWD替代

 

 

如果加了数字,就会从directory stack中去取

如果没有加+或者- ,会被认为是默认加了+

 

linux 中cd - cd ~- 区别 及多目录切换技巧_unix

 

 

如图,假设我推了好多目录进去

 

echo ~-   // /media 这个相当于$OLDPWD ,注意不在这个索引中任意一个,这个dir stack是我故意推进去的一些目录

echo ~+  // /proc 当前索引0的就是当前目录

 

echo  ~+0   //当前stack中从上边开始数的第一个

echo  ~-0    //当前stack中从下边开始数的第一个

 

根据最后一个数字,会向下或向上平推着找

 

 

 

directory stack:

 

 

ls

// a b c 当前目录下是a,b,c

 

 

pushd a   // ,进入a目录,并a推入dir stack(替换0索引位置)

popd        // 从dir stack pop出一个,同时跳出a目录

 

dirs

 

dirs -v 查看dir stack的索引

 

dirs -c 清除dir stack中的内容

 

 

 

有了dir stack索引后,就可以根据索引直接进入相应目录

 

cd ~[num]

 

cd ~2  进入dir stack中第二个索引的目录

 

 

资料: https://unix.stackexchange.com/questions/330876/difference-between-cd-and-cd