linux目录映射到mac,Linux/Mac的目录切换

无论是Mac还是Linux,其实都一样,在终端下经常都需要进行目录的切换,但每次都用cd命令有点太繁琐了,特别是在目录很长,文件夹名字很长的情况下。本文主要是对终端下的一些目录切换名字的总结。

1. 两个目录之间的切换

-代表的是前一个目录,如果只在两个目录中切换,这个命令就够了,-等价于$OLDPWD,$OLDPWD也是前一个目录。其目录切换的形式如下:

$ cd ~/MyEclipse/

$ cd -

/Users/***/Hexo

$ cd -

/Users/***/MyEclipse

$ cd -

/Users/***/Hexo

$ cd -

/Users/***/MyEclipse

2. 多个目录之间的切换

多个目录的切换要用到pushd,popd,dirs命令,下面是三个命令的解释:

dirs:显示目录栈

pushd:将目录压入目录栈,并切换目录(虚拟堆栈)

popd:将目录弹出目录栈,并切换目录(虚拟堆栈)

多余的话不说,直接上例子更直观:

# pushd会将参数目录和当前目录压入目录栈(虚拟堆栈)中,并跳转到参数目录,压入目录栈是按顺序压入的,~是当前用户的根目录

$ pushd Hexo

~/Hexo ~

$ pwd

/Users/***/Hexo

# pushd不加参数,回到前一个目录,并将当前目录压入目录栈中

$ pushd

~ ~/Hexo

$ pwd

/Users/***

# dirs查看目录栈中的目录

$ dirs

~/Hexo ~

# dirs -v显示目录的编号,并将目录按行排列,0代表新压入目录栈的目录

$ dirs -v

0 ~/Hexo

1 ~

# 压入一个新的目录到目录栈

$ pushd MyEclipse/

~/MyEclipse ~ ~/Hexo

$ pwd

/Users/***/MyEclipse

# dirs -p是按行显示目录栈中的目录

$ dirs -p

~/MyEclipse

~

~/Hexo

# popd是将栈顶的目录弹出,即编号为0的目录,并将目录切换到目录弹出后的栈顶目录

$ popd

~ ~/Hexo

$ pwd

/Users/***

$ popd

~/Hexo

# 如果栈中只有一个目录,即当前目录,是不能使用popd的

$ popd

-bash: popd: directory stack empty

# 如果栈中只有一个目录,是不能使用pushd的

$ pushd

-bash: pushd: no other directory

# dirs -c 清空目录栈,只剩当前目录在目录栈中

dirs -c

$ pushd MyEclipse/

~/MyEclipse ~

$ pushd ~/Hexo/

~/Hexo ~/MyEclipse ~

$ pushd ~/Practice/

~/Practice ~/Hexo ~/MyEclipse ~

$ dirs -v

0 ~/Practice

1 ~/Hexo

2 ~/MyEclipse

3 ~

# popd +n 弹出目录栈中指定位置的目录,并将目录切换到栈顶目录

$ popd +2

~/Practice ~/Hexo ~

$ dirs -v

0 ~/Practice

1 ~/Hexo

2 ~

# push +n 将目录切换到指定位置的目录,并将其压入目录栈栈顶

$ pushd +2

~ ~/Practice ~/Hexo

$ dirs -v

0 ~

1 ~/Practice

2 ~/Hexo

备注:如例子所示,如果只有两个目录的情况下,可以一直用pushd切换目录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值