shell命令 pushd popd dirs命令

2021-09-03 01:51:50 字數 1083 閱讀 7829

pushd和popd命令是操作目錄棧,dirs命令是檢視目錄棧。

root@vm-0-2-ubuntu:/home# dirs

/home /

root@vm-0-2-ubuntu:/home# dirs -v # 按索引列出

0 /home

1 /

存放乙個或多個目錄,棧中至少要有乙個元素。

棧頂元素永遠是當前目錄:使用cd命令切換目錄會改變目錄棧的棧頂元素,用pushd或popd改變棧頂元素會切換目錄。

root@vm-0-2-ubuntu:~# dirs

~root@vm-0-2-ubuntu:~# cd /

root@vm-0-2-ubuntu:/# dirs

/

同時會改變當前目錄(因為改變了棧頂元素),且會列出改變後的目錄棧內容。

root@vm-0-2-ubuntu:/etc# popd

/home /

root@vm-0-2-ubuntu:/home# popd

/root@vm-0-2-ubuntu:/# popd

-su: popd: directory stack empty

# 注意下面的n是數字,n是字母n引數

popd +n # 刪除棧中(從左邊數)第n個元素,由0開始計。

popd -n # 刪除棧中(從右邊數)第n個元素,由0開始計。

pop -n # 不改變當前目錄(也就是不改變棧頂元素,操作除了棧頂外棧內其他元素)

# usage: pushd [-n] [+n | -n | dir]

pushd

# 不加引數時,交換棧頂前兩個元素

pushd +n # 將棧內元素迴圈左移,直到將(從左邊數)第n個元素移動到棧頂,由0開始計。

pushd -n # 將棧內元素迴圈左移,直到將(從右邊數)第n個元素移動到棧頂,由0開始計。

pushd -n dir

# 將目錄入棧,但不改變當前元素,即將目錄插入棧中作為第二個元素。 注意-n引數要在目錄之前。

shell命令,shell迴圈,shell引數

touch hello.sh 建立乙個檔案 vi hello.sh 編輯文字 bin bash 指定bash解析器,centos預設的是bash解析器 echo helloworld echo helloworld 這兩句話效果相同,不過為了符合規範用第二種 執行指令碼,首先賦予指令碼最大許可權 c...

shell命令 xxd命令

xxd是二進位制檢視命令,預設將2檔案顯示為16進製制字串表示形式。看例子 root ambari dir cat t 31 root ambari dir xxd t 0000000 3331 0a 31.root ambari dir xxd ps t 33310a root ambari di...

shell 科普 Shell命令用法

ver 1.0 2013 08 11 11 59 20 if then fiexample if f file then 如果file是個檔案 echo 是乙個檔案。fi if 結束 if f file then 如果file是個檔案 echo 是乙個檔案。else echo 不是乙個檔案。fi i...