上篇文章我說道,windows爲了改變用戶對其console界面的詬病,因而就從windows vista開始,計劃要改變這種局面,因而就有linux
了Powershell的出現。shell
一、兼容shell命令windows
爲了兼容Unix/Linux Shell(主要是bash)的命令;Powershell中提供了一套機制來兼容cmd.exe和bash命令。這就是上篇文章中提到bash
的別名機制。下圖是powershell中兼容的cmd命令和unix/linux shell的命令。函數
二、標準命令的別名spa
一樣,powershell還提供一套機制來支持內置cmdlet的命令別名。命令行
咱們知道cmdlets採用一致的用戶接口模式: 動詞-名詞。 正如上面所說,上表例舉的別名是爲了和其餘的console界面命令相兼容,而內置命令的unix
別名是爲了簡便而設置的。powershell提供一組基於經常使用命令的動詞和名詞的速記名稱來爲標準別名進行命名。blog
例如:繼承
動詞 命令的縮寫/別名
get g
set s
item i
location l
command cm
這樣:gi 則至關於 get-item
si 則至關於 set-item
由於這些別名實在powershell啓動期間自動加載的;因此若是在命令行中再次設置命令行別名,則會提示錯誤,以下圖所示:
三、Tab自動補全功能
powershell同時還繼承了Tab鍵的自動補全功能;不過這個與cmd和bash的Tab功能不太同樣,powershell中的tab擴展功能是經過函數來實現的。
其函數是: TabExpansion控制的,因爲在powershell中能夠修改內置的函數,所以須要注意。
在鍵入命令時,若是要用Tab鍵來補充文件名或者路徑;則在鍵入部分文件名或者路徑後,按下Tab鍵,powershell中將自動將命令補充爲第一個匹
配項,若是重複的按下Tab鍵,則將逐一顯示全部可用的選項。
若是鍵入的是cmdlet;則與補充文件名和路徑不一樣;若是要對cmdlet名稱使用tab擴展,須要完整鍵入名稱的第一部分及後面的連字符。能夠填充
名稱的更多部分已進行匹配。例如: 鍵入 get-c 而後鍵入Tab鍵,則自動補充的爲get-childitem命令,若是繼續按下tab鍵則補充出的命令爲get-com
mand命令。
在使用命令行自動補齊的過程有一點須要注意: 即不管什麼時候Tan鍵都被解釋爲自動補充命令功能,所以在將命令複製到shell中時須要注意,複製的內容
後面不能包含Tab鍵。