pushd、popd和dirs

文章目录

    • dirs
    • pushd
      • pushd 目录
      • pushd 不带任何参数
      • pushd +n
    • popd
      • popd 不带任何参数
      • popd +n

pushd和popd是对一个目录栈进行操作,而dirs是显示目录栈的内容。
而目录栈就是一个保存目录的栈结构,该栈结构的顶端永远都存放着当前目录

dirs

显示地对目录栈
dirs常用的有两个参数:

  • -p 每行显示一条记录
  • -v 每行显示一条记录,同时展示该记录在栈中的index
  • -c 清空目录栈,clear

pushd

每次pushd命令执行完成之后,默认都会执行一个dirs命令来显示目录栈的内容。pushd的用法主要有如下几种:

pushd 目录

pushd后面如果直接跟目录使用,会切换到该目录并且将该目录置于目录栈的栈顶。
(时时刻刻都要记住,目录栈的栈顶永远存放的是当前目录。如果当前目录发生变化,那么目录栈的栈顶元素肯定也变了;反过来,如果栈顶元素发生变化,那么当前目录肯定也变了)

pushd 不带任何参数

pushd不带任何参数执行的效果就是,将目录栈最顶层的两个目录进行交换.
相当于 cd -

pushd +n

切换到目录栈中的任意一个目录

popd

每次popd命令执行完成之后,默认都会执行一个dirs命令来显示目录栈的内容.
删除栈

popd 不带任何参数

popd不带任何参数执行的效果,就是将目录栈中的栈顶元素出栈。这时,栈顶元素发生变化,自然当前目录也会发生相应的切换(接上文的执行现场)

popd +n

将目录栈中的第n个元素删除

你可能感兴趣的:(Linux)