在上一節,介紹瞭如何檢索當前shell及Powershell中所有可用的命令,對於指定的命令會查看其語法信息,可以獲取指定命令的幫助信息,包括獲取在線幫助主題,詳細內容時間戳這裏。
在本節中,主要介紹Powershell的別名,主要包含以下內容。
熟悉常見的別名。
標準別名的規範和創建新的別名。
Powershell中兼容性別名。
總結
熟悉常見的別名
別名,通俗點說就是另外一個名字,別名將所輸入的命令和另外一個命令關聯。舉個例子,"咪咪"是"貓"的別名。通過使用別名,Powershell允許用戶使用替代命令來引用命令。而且,別名使具有其它shell經驗的用戶在Powershell中重用這些命令來執行類似的操作。
例如:Powershell有一個名爲Clear-Host的內部函數,用於清楚輸出窗口。如果在命令提示符下輸入 cls 或是 clear 命令,Powershell就會將此命令解釋爲 Clear-Host 函數的別名並允許 Clear-Host函數。
Powershell的別名功能非常有助於開發者瞭解Powershell,大多數的 cmd.exe 或是 UNIX 用戶都有其按名稱記憶的大量命令清單,他們在形式上的相似性足以使開發者無需先記住Powershell命令名稱即可直接使用這些命令來完成工作。
下面是可以在Powershell中使用的通用的 Cmd.exe 和 UNIX 命令的簡短列表。
cat | dir | mount | rm | cd | echo | move | rmdir |
chdir | erase | popd | sleep | clear | h | ps | sort |
cls | history | pushd | tee | copy | kill | pwd | type |
del | lp | r | write | diff | ls | ren |
如果經常使用這些命令之一,又想知道其在Powershell中的真實名稱,可以通過 Get-Alias命令。
PS C:\Documents and Settings\Administrator> Get-Alias cls CommandType Name Definition ----------- ---- ---------- Alias cls Clear-Host
關於別名應該注意,如果是處理其它來源的Powershell腳本或是代碼段,或是希望定義自己的別名,儘早有關的別名信息十分重要。同時也應該在意識到,每個開發者都可以定義自己的別名,所以在團隊協作編寫腳本是,應該儘量避免使用別名。
標準別名的規範
上面提到的別名是爲實現與其他shell命令名稱的兼容性而設計的,但是Powershell內置的別名與其不同,通常是爲了簡短易用而設計的,這些簡短的命令便於輸入,但是如果不瞭解其含義,則無法正確解讀它們。
通過提供一組基於常用動詞和名詞的速記名稱的標準別名,PowerShell在清晰性與簡短性之間取得平衡。在一組常用 cmdlet的核心別名中,只需知道速記名稱即可解讀這些命令。例如,在標準別名中,動詞 Get 縮寫爲 g,動詞 Set 縮寫爲 s,名詞 Item 縮寫爲 i,名詞 Location 縮寫爲 l,而名詞 Command 縮寫爲 cm。 請參考以下表格中的例子。
PS(Powershell)命令 | PS(Powershell)別名 |
Get-Item | gi |
Set-Item | si |
Get-Location | gl |
Set-Location | sl |
Get-Command | gcm |
創建新的別名
Powershell命令 Set-Alias cmdlet 可以創建別名,如可以創建以下別名。
Set-Alias -Name gi -Value Get-Item Set-Alias -Name si -Value Set-Item Set-Alias -Name gl -Value Get-Location Set-Alias -Name sl -Value Set-Location Set-Alias -Name gcm -Value Get-Command
在內部,Powershell啓動時會使用此類命令。需要注意的是Powershell內置別名(上面5個別名就是內置別名)是隻讀的或是常事,意味着Powershell內置的別名使不可修改的。
Powershell中兼容性別名
Powershell有幾個轉換別名,允許 UNIX 和 Cmd 開發者在Powershell 中使用熟悉的命令名稱。下表列出了最常用的別名以及別名背後的Powershell命令和標準的Powershell別名(如果存在的話)。如前文所述,可以使用 Get-Alias cmdlet 查找別名對應的Powershell命令,如 Get-Alias cls 。
CMD命令 | UNIX命令 | PS(Powershell)命令 | PS(Powershell)別名 |
---|---|---|---|
dir | ls | Get-ChildItem | gci |
cls | clear | Clear-Host(函數) | 不可用 |
del,erase,rmdir | rm | Remove-Item | ri |
copy | cp | Copy-Item | ci |
move | mv | Move-Item | mi |
rename | mv | Rename-Item | rni |
type | cat | Get-Content | gc |
cd | cd | Set-Location | sl |
md | mkdir | New-Item | ni |
不可用 | pushd | Push-Location | 不可用 |
不可用 | popd | Pop-Location | 不可用 |
總結
通過學習本節內容,應掌握以下內容
Powershell中常見的別名及通過別名查看實際的Powershell命令。
Powershell的別名命名規範以及會新建自己的別名(Powershell內置的別名不可更改)。
知道Powershell中兼容性別名