我已经看到如何使用 pushd 和 popd 命令?,并且我知道pushd <dir>
我会推<dir>
送到目录堆栈,popd
我会从目录堆栈中弹出顶层目录 -dirs -v
我应该查看/列出目录堆栈;引用的帖子给出了这个例子:
$ pushd /home; pushd /var; pushd log me@myhost:/home$ dirs -v 0 /home 1 /var 2 /tmp
所以,我在:
$ echo $(cat /etc/issue; lsb_release -idcr); uname -a; bash --version | head -1
Ubuntu 14.04.5 LTS \n \l Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: trusty
Linux MyPC 4.4.0-104-generic #127~14.04.1-Ubuntu SMP Mon Dec 11 12:44:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
我正在bash
终端中进行此测试:
user@PC:~$ cd /tmp/
user@PC:tmp$ dirs -v ## just lists, no directory stack
total 32
drwx------ 2 user user 4096 Jan 5 18:22 MozillaMailnews/
prwxrwxr-x 1 user user 0 Jan 6 11:54 SciTE.22933.in|
-rw------- 1 user user 0 Jan 4 12:07 config-err-pY6fcB
drwx------ 2 user user 4096 Jan 6 00:55 firefox_user/
-rw------- 1 user user 275 Jan 6 12:07 h
drwx------ 2 user user 4096 Jan 5 15:43 mozilla_user0/
drwx------ 2 user user 4096 Jan 6 02:11 mozilla_mozillaUser0/
drwx------ 3 user user 4096 Jan 5 10:28 sni-qt_vlc_19957-mFfsIO/
drwx------ 2 user user 4096 Jan 4 12:07 ssh-Ry3s5LesiOrb/
drwx------ 6 root root 4096 Jan 4 12:07 systemd-generator.yBhsiB/
user@PC:tmp$ pushd /tmp/ssh-Ry3s5LesiOrb/
/tmp/ssh-Ry3s5LesiOrb /tmp
user@PC:ssh-Ry3s5LesiOrb$ dirs -v ## again, just lists, no directory stack
total 0
srw------- 1 user user 0 Jan 4 12:07 agent.1477=
user@PC:ssh-Ry3s5LesiOrb$ pushd /tmp/sni-qt_vlc_19957-mFfsIO/
/tmp/sni-qt_vlc_19957-mFfsIO /tmp/ssh-Ry3s5LesiOrb /tmp
user@PC:sni-qt_vlc_19957-mFfsIO$ dirs -v ## again, just lists, no directory stack
total 4
drwxrwxr-x 2 user user 4096 Jan 5 10:28 icons/
user@PC:sni-qt_vlc_19957-mFfsIO$ popd
/tmp/ssh-Ry3s5LesiOrb /tmp
user@PC:ssh-Ry3s5LesiOrb$ dirs -v ## again, just lists, no directory stack
total 0
srw------- 1 user user 0 Jan 4 12:07 agent.1477=
user@PC:ssh-Ry3s5LesiOrb$ popd
/tmp
正如你从这个片段中看到的,在测试中我从来没有dirs -v
列出/打印目录堆栈——它只是列出了当前目录中的文件,类似于ls
?!
那么,我怎样才能dirs -v
显示/打印/列出目录堆栈?或者,我可以使用另一个命令来显示/打印/列出bash
终端中的目录堆栈吗?
~/.bashrc
用.注释掉您的别名行#
。在您当前的会话中,您可以使用
unalias dirs
删除此别名。再次检查type dirs
。