在Linux上使用pushd的一些嘗試

2021-08-31 15:37:55 字數 1778 閱讀 4096

linux上使用pushd的時候,遇到了奇怪的問題,當我在/root/test folder下建立了tmp1,tmp2,t*** 三個資料夾

drwx-----t 5 root root 4096 2011-08-11 05:09 ./

drwx------ 8 root root 4096 2011-08-10 05:21 ../

drwxr-xr-x 2 root root 4096 2011-08-11 05:09 tmp1/

drwxr-xr-x 2 root root 4096 2011-08-10 05:09 tmp2/

drwxr-xr-x 2 root root 4096 2011-08-10 05:09 t***/

然後執行在test folder下執行pushd,如下:

root@computer:~/test# pushd ./tmp1

~/test/tmp1 ~/test ~/test

root@computer:~/test/tmp1# dirs -v

0 ~/test/tmp1

1 ~/test

2 ~/test

root@computer:~/test/tmp1# cd ..

root@computer:~/test# dirs -v

0 ~/test

1 ~/test

2 ~/test

root@computer:~/test#

詭異的一幕出現了,棧中原來的目錄沒有了,全部換成了~/test。至今不明白為什麼會這樣。

但是當我使用以下面的方式使用pushd的時候則沒有此問題

root@computer:~/test/tmp1# dirs

~/test/tmp1

root@computer:~/test/tmp1# pushd .

~/test/tmp1 ~/test/tmp1

root@computer:~/test/tmp1# cd ..

root@computer:~/test# cd tmp2

root@computer:~/test/tmp2# pushd .

~/test/tmp2 ~/test/tmp2 ~/test/tmp1

root@computer:~/test/tmp2# cd ..

root@computer:~/test# dirs -v

0 ~/test

1 ~/test/tmp2

2 ~/test/tmp1

或者我們可以使用-n引數,如下:

root@computer:~/test# dirs

~/test

root@computer:~/test# pushd -n ./tmp1

~/test ./tmp1

root@computer:~/test# pushd -n ./tmp2

~/test ./tmp2 ./tmp1

root@computer:~/test# pushd -n ./t***

~/test ./t*** ./tmp2 ./tmp1

root@computer:~/test# dirs -v

0 ~/test

1 ./t***

2 ./tmp2

3 ./tmp1

在這裡,-n引數只將其後的引數即目錄壓入到棧中,但是並不切換目錄,當前目錄始終是test目錄。

github在linux上的使用

1 linux下git和github環境的搭建 第一步 安裝git,使用命令 sudo apt get install git 第二步 建立github帳號 第三步 生成ssh key,使用命令 ssh keygen t rsa c your email youremail.com your ema...

github在Linux上的簡單使用

新建乙個目錄和檔案,編輯檔案後儲存 目錄名和github倉庫名一致 mkdir demo cd demo touh readme.md gedit readme.md 設定使用 git 時的姓名和郵箱位址 git config global user.name your userid git con...

在Linux上使用交換空間

開機自動啟用交換空間 gook luck linux中swap 即 交換分割槽 類似於windows的虛擬記憶體,就是當記憶體不足的時候,把一部分硬碟空間虛擬成記憶體使用,從而解決記憶體容量不足的情況。android是基於linux的作業系統,所以也可以使用swap分割槽來提公升系統執行效率。交換分...