不知道各位有沒有接觸過linux,我才疏學淺,對alias的認識是從linux上來的。Linux常用的Bash命令也是有上百個,雖然一般情況下命令都非常簡短,不過很多時候需要大量的卻是大量的參數,這樣,對很多初學者來說,背命令變成為最頭疼的事情,也使得很多Linux初學者望而生畏。因此,在linux下,很常用的就是alias,也就是別名。當然,PowerShell很好的借鑒了這一點。 這一節就來介紹PowerShell下的Aliases。 在PowerShell中,為了習慣于使用,可以使用別名代替命令。例如,Windows老手可以利用像dir、move、type、cls等,當然,為了吸納更多使用者,PowerShell還提供了對Linux的別名設置,如:ls、pwd、mv、man、cat等。 為PowerShell設置別名的目的,是為了向新用戶提供一個能夠快速交互的shell。這里的alias,指的是cmdlet的替代名稱。例如,"dir”替代的是"Get-ChildItem”。 在這一節,將介紹兩種類型的alias: 內置的別名 適用于Windows,Unix和預定義的PowerShell cmdlet的替代名稱。 使用以下命令來瀏覽PowerShell的alias列表:
細心的童鞋可以發現,Get-ChileItem這個cmdlet擁有多個alias,如:dir、ls、gci。我們可以嘗試這些命令,結果都是一樣的,如下圖: 從本質上講,我們只是運行了四次"get-chileitem"。內置別名的存在,使得我們在shell中工作時更加順手而高效。不過說實在的,作為用戶,我們沒有必要多多的關注一個cmdlet都有哪些alias,我們只要用好自己習慣的就行了。 用戶自定義的PowerShell的Alias 設置alias的命令 例:為名為'get-service”的cmdlet定義一個alias
相當簡單的語法,沒有什么可多說的。 使用以上命令為你的cmdlet定義alias確實很容易,不過存在一個問題,就是這個alias只對當前處于會話期的PowerShell有效,也就是說,當你關閉并重新打開PowerShell時,輸入這條alias,PowerShell會很無情的告訴你 “The term ‘gs' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.” 那么,當我們創建了一個Alias,并且不想失去它,我們怎么辦? 有兩種選擇: 導入和導出PowerShell的Aliases; 使用PowerShell配置文件來自定義Alias。 方法一:導入和導出PowerShell的Aliases 導出Aliases的一個好處就是,你可以將它帶到任何一個你想使用的地方。其命令如下<導出文件名自定義>:
我們可以用notepad.exe看看這個里面都是些什嗎東東~~~ 好了,有人迫不及待的想試試導入了吧~~~
額~杯具了!!! 看起來很慘的樣子…… 其實如果一個cmdlet存在alias,那么再次導入就會產生這樣的杯具。 所以,我們的導出文件,只需要很簡單的定義出自己常用的alias即可(那些系統自帶的都統統刪除就好啦),如: 好了,就是這樣,嘿嘿嘿,是不是很邪惡~~~看看效果吧: 當然,強大的PowerShell不會弱智到讓用戶每次啟動shell時都手動載入aliases一次的。在PowerShell的配置文件中,我們可以進行相關設置。 方法二:使用PowerShell的配置文件 配置文件的位置存儲在$Profile變量中,其默認值為: 'My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1″ 使用如下命令查看$Profile值:
如前所述,PowerShell配置文件是一個擴展名為“.ps1”的文件。所有PowerShell腳本都使用這個擴展名。在此,我將使用記事本對其進行編輯。不過在此之前,還需要檢查的PowerShell的執行策略設置。 PowerShell在第一次安裝時默認的執行策略是"Restricted",也就是“受限制的”,這意味著PowerShell將不能運行任何腳本和配置文件。 PowerShell的執行策略分級: Restricted - 不能運行任何腳本和配置文件 AllSigned - 所有腳本和配置文件必須擁有受信任的發布者的簽名 RemoteSigned - 所有腳本和配置文件從可以是互聯網上下載,但必須擁有受信任的發布者的簽名 Unrestricted - 所有腳本和配置文件都將運行,從互聯網上下載的腳本在運行前會有提示。 使用如下cmdlet查看當前所處的策略級別:
修改策略級別為Unrestricted:
好的,我們現在來對$Profile進行配置。 第1步 驗證$Profile是否存在
false ===> 配置文件不存在(繼續步驟2)。 第2步 創建一個新的配置文件 New-Item -Path $Profile -ItemType file -Force
第3步 再次驗證是否成功創建新的配置文件 重復步驟1吧。結果應該為"true”。 好了,在記事本中打開配置文件:
OK!我們現在擁有了一個空白的配置文件,其實可以稱之為一個空白腳本。 其文件名為: “Microsoft.PowerShell_profile.ps1″ 現在開始配置吧: 好了,現在可以關閉notepad和Powershell了。重新打開PowerShell試試看。 完美! 另外需要說明幾點,更改PowerShell策略級別時,需要使用管理員權限的,否則……
好了,這一節就到這里。說實話,那幾個策略級別的單詞真不好記,不過幸好不常用~~~ |
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!
掃一掃,關注站長網微信