在上一節,介紹瞭如何檢索當前shell及Powershell中全部可用的命令,對於指定的命令會查看其語法信息,能夠獲取指定命令的幫助信息,包括獲取在線幫助主題,詳細內容時間戳這裏。shell
在本節中,主要介紹Powershell的別名,主要包含如下內容。
ide
熟悉常見的別名。函數
標準別名的規範和建立新的別名。學習
Powershell中兼容性別名。spa
總結
設計
熟悉常見的別名
blog
別名,通俗點說就是另一個名字,別名將所輸入的命令和另一個命令關聯。舉個例子,"咪咪"是"貓"的別名。經過使用別名,Powershell容許用戶使用替代命令來引用命令。並且,別名使具備其它shell經驗的用戶在Powershell中重用這些命令來執行相似的操做。
ci
例如:Powershell有一個名爲Clear-Host的內部函數,用於清楚輸出窗口。若是在命令提示符下輸入 cls 或是 clear 命令,Powershell就會將此命令解釋爲 Clear-Host 函數的別名並容許 Clear-Host函數。
開發
Powershell的別名功能很是有助於開發者瞭解Powershell,大多數的 cmd.exe 或是 UNIX 用戶都有其按名稱記憶的大量命令清單,他們在形式上的類似性足以使開發者無需先記住Powershell命令名稱便可直接使用這些命令來完成工做。
get
下面是能夠在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中兼容性別名