如何在Linux下环境下快速切换工作目录

在Linux命令行下,我们经常需要在一个目录下执行某些操作在跳转到另外的目录下,也就是使用我们熟悉的cd命令,基本上接触过命令行的人,第一个认识的命令都是cd,了解cd命令会对我们工作效率有个提高,但是你真的了解它吗?

一、cd命令

格式:

cd [选项] [参数]

我们常用的就是cd后面直接加参数,也就是目录。 单其实参数和选项一样都是可选的。

cd ~ 和 cd (不加任何参数)都能直接切换到用户的主目录下面。

cd常用的选项只有-P

cd -P dir  如果dir是一个链接目录,则会跳转到dir指向的原目录。

常用技巧:

  1. 我们可以配置CDPATH环境变量
export CDPATH=.:~/dvp:~/workspace

这样的话cd不仅在当前目录搜索,也会在~/dvp和~/workspace目录下搜索。如果不配置 .(当前目录),系统会自动添加到CDPAHT 的结尾,也就是说如果当前目录和~/dvp都有这个文件夹,会优先进入~/dvp目录下的文件夹。

    2. cd -

切换到上次所在目录

二、pushd和popd命令

cd 命令的局限在于,如果需要在多个固定的文件夹之间来回跳转,cd命令就显得费事起来。两个文件夹之间可以用cd -,但是超过两个,我们就可以用pushd和popd命令。

pushd就是将一个目录压入一个栈,popd是将一个目录弹出栈。我可以跳转到栈中的任意一个路径,这对那些长路径很有意义。下面介绍它们的用法:

  1. pushd

pushd语法格式:

pushd [-n] [dir]

pushd [-N|+N]

-n是固定选项,N代表数字。如果开启-n选项,则表示将目录压入栈,但不跳转。

如果没有输入dir,则默认将当前目录压入栈顶。

pushd +N 表示跳转栈中第N个路径,且将此路径压入到栈顶(从左往右,从0开始)

pushd -N 表示跳转到第N个路径,且将次路基压入到栈顶 (从右往左,从0开始)

可以看到pushd 和pushd +1 是等价的。

其实 pushd -n +N|-N 也是可以的,在我的电脑上会将但前目录压入栈,然后将第+N或-N个目录删除。

    2. popd

popd语法格式:

popd [-n] [+N|-N]

值得一提的是,popd 不加任何选项参数会将栈顶元素弹出,然后跳转到新的栈顶元素目录。

-n 选项同pushd,将栈中元素弹出,但不跳转目录。

    3. dirs

dirs是查看目录栈中的元素,此命令主要是结合上面两个命令使用。如果压入栈中元素过多,记不准确时可以使用,格式如下:

 dirs [-clpv] [+N] [-N]

  • -c:删除目录栈中所有的记录
  • -l:以完整格式显示
  • -p:一个目录一行的方式显示
  • -v:每一行目录来显示目录栈的内容,每个目录前加上编号

如果不加上+N或-N则会将栈中所有元素打印出来。

转载于:https://my.oschina.net/abely/blog/685242

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值