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

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

1、cd命令spa

格式:命令行

cd [选项] [参数]code

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

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

cd经常使用的选项只有-P变量

cd -P dir  若是dir是一个连接目录,则会跳转到dir指向的原目录。配置

经常使用技巧:搜索

  1. 咱们能够配置CDPATH环境变量
export CDPATH=.:~/dvp:~/workspace

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

    2. cd -

切换到上次所在目录

2、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则会将栈中全部元素打印出来。

相关文章
相关标签/搜索