Bash

我們有更多關於 cd 的歷史嗎?

  • July 7, 2020

cd -可以移動到上次訪問的目錄。我們可以訪問除最後一個以外的更多歷史嗎?

您要查找的命令是pushdand popd

您可以從此處查看實際工作pushd範例。popd

mkdir /tmp/dir1
mkdir /tmp/dir2
mkdir /tmp/dir3
mkdir /tmp/dir4

cd /tmp/dir1
pushd .

cd /tmp/dir2
pushd .

cd /tmp/dir3
pushd .

cd /tmp/dir4
pushd .

dirs
/tmp/dir4 /tmp/dir4 /tmp/dir3 /tmp/dir2 /tmp/dir1

您沒有指定您使用的是哪個 shell,所以以此為藉口宣傳 zsh。

是的,我們確實有更多的歷史cd,即cd -2cd -4。非常方便的是cd -``TAB,尤其是在啟用完成系統和顏色的情況下:

這就是我在 .zshrc 中的內容:

setopt AUTO_PUSHD                  # pushes the old directory onto the stack
setopt PUSHD_MINUS                 # exchange the meanings of '+' and '-'
setopt CDABLE_VARS                 # expand the expression (allows 'cd -2/tmp')
autoload -U compinit && compinit   # load + start completion
zstyle ':completion:*:directory-stack' list-colors '=(#b) #([0-9]#)*( *)==95=38;5;12'

結果:

在此處輸入圖像描述

引用自:https://unix.stackexchange.com/questions/157763