1 | pushd
|
2 | ===
|
3 |
|
4 | 将目录添加到目录堆栈顶部。
|
5 |
|
6 | ## 概要
|
7 |
|
8 | ```shell
|
9 | pushd [-n] [+N | -N | dir]
|
10 | ```
|
11 |
|
12 | ## 主要用途
|
13 |
|
14 | - 将目录添加到目录堆栈顶部,切换当前工作目录到该目录。
|
15 |
|
16 | - 旋转目录堆栈,使堆栈的新顶部成为当前工作目录。
|
17 |
|
18 | - 没有参数时,交换目录堆栈的前两个目录。
|
19 |
|
20 | ## 选项
|
21 |
|
22 | ```shell
|
23 | -n 抑制添加目录引起的当前工作目录变化。
|
24 | ```
|
25 |
|
26 | ## 参数
|
27 |
|
28 | +N(可选):不带参数执行`dirs`命令显示的列表中,左起的第N个目录将作为堆栈顶部,在它前面的会移动到底部。(从0开始计数)
|
29 |
|
30 | -N(可选):不带参数执行`dirs`命令显示的列表中,右起的第N个目录将作为堆栈顶部,在它前面的会移动到底部。(从0开始计数)
|
31 |
|
32 | dir(可选):要推送的目录。
|
33 |
|
34 | ## 返回值
|
35 |
|
36 | 返回成功除非提供了非法选项或执行出现错误。
|
37 |
|
38 | ## 例子
|
39 |
|
40 | ```shell
|
41 | # 添加目录到堆栈,改变了当前工作目录。
|
42 | [user2@pc ~]$ dirs
|
43 | ~
|
44 | [user2@pc ~]$ pushd ~/Desktop
|
45 | ~/Desktop ~
|
46 | [user2@pc Desktop]$
|
47 | ```
|
48 |
|
49 | ```shell
|
50 | # 添加目录到堆栈,当前工作目录不变。
|
51 | [user2@pc ~]$ dirs
|
52 | ~
|
53 | [user2@pc ~]$ pushd -n ~/Desktop
|
54 | ~ ~/Desktop
|
55 | [user2@pc ~]$ pushd -n ~/Pictures
|
56 | ~ ~/Pictures ~/Desktop
|
57 |
|
58 | # 调整顺序。
|
59 | [user2@pc ~]$ pushd +1
|
60 | ~/Pictures ~/Desktop ~
|
61 | [user2@pc ~]$ pushd -1
|
62 | ~/Desktop ~ ~/Pictures
|
63 | [user2@pc ~]$ pushd
|
64 | ~ ~/Desktop ~/Pictures
|
65 | ```
|
66 |
|
67 | ### 注意
|
68 |
|
69 | 1. `bash`的目录堆栈命令包括`dirs popd pushd`。
|
70 | 2. 当前目录始终是目录堆栈的顶部。
|
71 | 3. 该命令是bash内建命令,相关的帮助信息请查看`help`命令。
|
72 |
|
73 | ### 参考链接
|
74 |
|
75 | - [popd、pushd命令'-n'选项的行为](https://superuser.com/questions/784450/popd-and-pushd-behavior-with-n-option)
|
76 |
|
77 |
|