(5)Powershell別名(Alias)

在上一節,介紹瞭如何檢索當前shell及Powershell中所有可用的命令,對於指定的命令會查看其語法信息,可以獲取指定命令的幫助信息,包括獲取在線幫助主題,詳細內容時間戳這裏


在本節中,主要介紹Powershell的別名,主要包含以下內容。

  1. 熟悉常見的別名。

  2. 標準別名的規範和創建新的別名。

  3. Powershell中兼容性別名。

  4. 總結



熟悉常見的別名

    別名,通俗點說就是另外一個名字,別名將所輸入的命令和另外一個命令關聯。舉個例子,"咪咪"是"貓"的別名。通過使用別名,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
killpwd
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)別名
dirlsGet-ChildItem
gci
cls
clear
Clear-Host(函數)
不可用
del,erase,rmdir
rm
Remove-Item
ri
copy
cpCopy-Item
ci
move
mvMove-Item
mi
renamemv
Rename-Item
rni
type
cat
Get-Content
gc
cd
cdSet-Location
sl
md
mkdir
New-Item
ni
不可用pushd
Push-Location
不可用
不可用popd
Pop-Location
不可用



總結

通過學習本節內容,應掌握以下內容

  1. Powershell中常見的別名及通過別名查看實際的Powershell命令。

  2. Powershell的別名命名規範以及會新建自己的別名(Powershell內置的別名不可更改)。

  3. 知道Powershell中兼容性別名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章