linux命令切换目录的方法
时间:2014-11-29 13:35 来源:linux.it.net.cn 作者:IT
Linux目录切换
linux切换目录的四个命令pushd,popd,dirs,cd -的使用方法
1.cd - 作用是快速切换到前一个目录,如下:
代码示例:
root@linux:~$ cd learn/fd/
root@linux:~/learn/fd$ cd -
/home/amosli
2.dirs:显示目录栈,列出当前堆栈中保存的目录列表
代码示例:
root@linux:~/learn/fd$ dirs
~/learn/fd
说明: dirs的 -p参数可以每行一个目录的形式显示堆栈中的目录列表
-v参数可以在目录前加上编号
注意:有 -v时,不添加 -p也可以每行一个目录的形式显示
代码示例:
root@linux:~/learn/fd$ dirs -p -v
0 ~/learn/fd
入堆栈的目录位于最上面
3.pushd,popd命令介绍
pushd:切换到作为参数的目录,并把原目录和当前目录压入到一个虚拟的堆栈中
如果不指定参数,则会回到前一个目录,并把堆栈中最近的两个目录作交换
popd: 移除堆栈中最近的目录
代码示例:
root@linux:/$ pushd bin/
/bin /
root@linux:/bin$ pushd /home/amosli/learn/fd/
~/learn/fd /bin /
root@linux:~/learn/fd$ dirs -p -v
~/learn/fd
/bin
/
root@linux:~/learn/fd$ pushd /home/amosli/develop/
~/develop ~/learn/fd /bin /
root@linux:~/develop$ dirs -p -v
~/develop
~/learn/fd
/bin
/
上面使用pushd命令分别将 /、bin/ 、/home/amosli/learn/fd/ 、/home/amosli/develop/ 4个目录压入栈中,栈是后进先出的(LIFO,last in first out)的数据结构。
那么如何切换目录?
1)如果是直接pushd不加参数的话就直接切换到最近的目录了
代码示例:
root@linux:~/develop$ pushd
~/learn/fd ~/develop /bin /
root@linux:~/learn/fd$
2)pushd +n
也可以后面跟上数字直接切换到相应的目录。如切换到/(根目录),如下:
代码示例:
root@linux:~/learn/fd$ pushd +3
/ ~/learn/fd ~/develop /bin
root@linux:/$ ls
如何移除目录?
1)popd 直接移除最近的一条目录
代码示例:
root@linux:/$ dirs -p -v
0 /
1 ~/learn/fd
2 ~/develop
3 /bin
root@linux:/$ popd
~/learn/fd ~/develop /bin
root@linux:~/learn/fd$ dirs -p -v
0 ~/learn/fd
1 ~/develop
2 /bin
2)popd +n
直接跟上数字移除指定的目录
代码示例:
root@linux:~/learn/fd$ popd +1
~/learn/fd /bin
root@linux:~/learn/fd$ dirs -p -v
0 ~/learn/fd
1 /bin (责任编辑:IT)
Linux目录切换
linux切换目录的四个命令pushd,popd,dirs,cd -的使用方法 root@linux:~$ cd learn/fd/ root@linux:~/learn/fd$ cd - /home/amosli
2.dirs:显示目录栈,列出当前堆栈中保存的目录列表 root@linux:~/learn/fd$ dirs ~/learn/fd
说明: dirs的 -p参数可以每行一个目录的形式显示堆栈中的目录列表 root@linux:~/learn/fd$ dirs -p -v 0 ~/learn/fd
入堆栈的目录位于最上面 root@linux:/$ pushd bin/ /bin / root@linux:/bin$ pushd /home/amosli/learn/fd/ ~/learn/fd /bin / root@linux:~/learn/fd$ dirs -p -v ~/learn/fd /bin / root@linux:~/learn/fd$ pushd /home/amosli/develop/ ~/develop ~/learn/fd /bin / root@linux:~/develop$ dirs -p -v ~/develop ~/learn/fd /bin /
上面使用pushd命令分别将 /、bin/ 、/home/amosli/learn/fd/ 、/home/amosli/develop/ 4个目录压入栈中,栈是后进先出的(LIFO,last in first out)的数据结构。 root@linux:~/develop$ pushd ~/learn/fd ~/develop /bin / root@linux:~/learn/fd$
2)pushd +n root@linux:~/learn/fd$ pushd +3 / ~/learn/fd ~/develop /bin root@linux:/$ ls
如何移除目录? root@linux:/$ dirs -p -v 0 / 1 ~/learn/fd 2 ~/develop 3 /bin root@linux:/$ popd ~/learn/fd ~/develop /bin root@linux:~/learn/fd$ dirs -p -v 0 ~/learn/fd 1 ~/develop 2 /bin
2)popd +n root@linux:~/learn/fd$ popd +1 ~/learn/fd /bin root@linux:~/learn/fd$ dirs -p -v 0 ~/learn/fd 1 /bin (责任编辑:IT) |