Shell
Zsh:以相反順序排列的目錄
我對如何
dirs
工作感到有些困惑。文件說:目錄
不帶參數,列印目錄堆棧的內容。目錄使用命令添加到此堆棧,並使用或命令
pushd
刪除。cd``popd
**Q1。**我從不使用
popd
norpushd
,但我注意到它dirs
會跟踪我去過的目錄(對我來說,這意味著將目錄cd
添加到堆棧中,而不是刪除)Q.2在長時間使用 之後,列印一長串目錄是很
cd
常見的,但是這個列表首先列印最近的目錄,並以最後一個目錄結束,所以如果我有一個長列表,螢幕會滾動,並且dirs
我不能輕易看到最新的目錄集(通常是我最感興趣的目錄)。如何以相反的順序列印目錄列表?
我試過
dirs | sort -r
了,但這不能正確排序條目,例如我得到20 /foo20/bar 2 /foo2/bar 19 ... 18 ... 16 11 10 1 0
未分類的原件看起來像
1 /foo/bar 2 /foo2/bar 3 ... .. 9 10 11 .. 20 21 .. 30
sort
預設情況下會根據 ASCII 值進行排序,這不會正確地對具有不同位數的數字進行排序。您可以使用該-n
選項告訴它根據前導數值進行排序。dirs -v | sort -nr
或者,由於 的輸出
dirs
已經排序,但您只想將其轉換為相反的順序,您可以使用以下tac
命令(cat
相反):dirs -p | tac
我這樣做
cd +
,然後點擊Tab
查看並瀏覽最近訪問過的目錄列表,最新的目錄位於頂部。