在Linux命令行下,咱们常常须要在一个目录下执行某些操做在跳转到另外的目录下,也就是使用咱们熟悉的cd命令,基本上接触过命令行的人,第一个认识的命令都是cd,了解cd命令会对咱们工做效率有个提升,可是你真的了解它吗?bash
1、cd命令spa
格式:命令行
cd [选项] [参数]code
咱们经常使用的就是cd后面直接加参数,也就是目录。 单其实参数和选项同样都是可选的。class
cd ~ 和 cd (不加任何参数)都能直接切换到用户的主目录下面。效率
cd经常使用的选项只有-P变量
cd -P dir 若是dir是一个连接目录,则会跳转到dir指向的原目录。配置
经常使用技巧:搜索
export CDPATH=.:~/dvp:~/workspace
这样的话cd不只在当前目录搜索,也会在~/dvp和~/workspace目录下搜索。若是不配置 .(当前目录),系统会自动添加到CDPAHT 的结尾,也就是说若是当前目录和~/dvp都有这个文件夹,会优先进入~/dvp目录下的文件夹。技巧
2. cd -
切换到上次所在目录
2、pushd和popd命令
cd 命令的局限在于,若是须要在多个固定的文件夹之间来回跳转,cd命令就显得费事起来。两个文件夹之间能够用cd -,可是超过两个,咱们就能够用pushd和popd命令。
pushd就是将一个目录压入一个栈,popd是将一个目录弹出栈。我能够跳转到栈中的任意一个路径,这对那些长路径颇有意义。下面介绍它们的用法:
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]
若是不加上+N或-N则会将栈中全部元素打印出来。