" />

欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

探索PowerShell (三) PowerShell下使用Aliases

 更新時(shí)間:2012年12月05日 14:53:02   投稿:mdxy-dxy  
這一節(jié)就來介紹PowerShell下的Aliases。在PowerShell中,為了習(xí)慣于使用,可以使用別名代替命令

不知道各位有沒有接觸過linux,我才疏學(xué)淺,對(duì)alias的認(rèn)識(shí)是從linux上來的。Linux常用的Bash命令也是有上百個(gè),雖然一般情況下命令都非常簡(jiǎn)短,不過很多時(shí)候需要大量的卻是大量的參數(shù),這樣,對(duì)很多初學(xué)者來說,背命令變成為最頭疼的事情,也使得很多Linux初學(xué)者望而生畏。因此,在linux下,很常用的就是alias,也就是別名。當(dāng)然,PowerShell很好的借鑒了這一點(diǎn)。

這一節(jié)就來介紹PowerShell下的Aliases。

在PowerShell中,為了習(xí)慣于使用,可以使用別名代替命令。例如,Windows老手可以利用像dir、move、type、cls等,當(dāng)然,為了吸納更多使用者,PowerShell還提供了對(duì)Linux的別名設(shè)置,如:ls、pwd、mv、man、cat等。

為PowerShell設(shè)置別名的目的,是為了向新用戶提供一個(gè)能夠快速交互的shell。這里的alias,指的是cmdlet的替代名稱。例如,"dir”替代的是"Get-ChildItem”。

在這一節(jié),將介紹兩種類型的alias:

內(nèi)置的別名

適用于Windows,Unix和預(yù)定義的PowerShell cmdlet的替代名稱。

使用以下命令來瀏覽PowerShell的alias列表:


get-alias <enter> 

細(xì)心的童鞋可以發(fā)現(xiàn),Get-ChileItem這個(gè)cmdlet擁有多個(gè)alias,如:dir、ls、gci。我們可以嘗試這些命令,結(jié)果都是一樣的,如下圖:

從本質(zhì)上講,我們只是運(yùn)行了四次"get-chileitem"。內(nèi)置別名的存在,使得我們?cè)趕hell中工作時(shí)更加順手而高效。不過說實(shí)在的,作為用戶,我們沒有必要多多的關(guān)注一個(gè)cmdlet都有哪些alias,我們只要用好自己習(xí)慣的就行了。

用戶自定義的PowerShell的Alias

設(shè)置alias的命令

例:為名為'get-service”的cmdlet定義一個(gè)alias


Set-Alias gs Get-Service <enter> 

 相當(dāng)簡(jiǎn)單的語法,沒有什么可多說的。

使用以上命令為你的cmdlet定義alias確實(shí)很容易,不過存在一個(gè)問題,就是這個(gè)alias只對(duì)當(dāng)前處于會(huì)話期的PowerShell有效,也就是說,當(dāng)你關(guān)閉并重新打開PowerShell時(shí),輸入這條alias,PowerShell會(huì)很無情的告訴你 “The term ‘gs’ is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.”

那么,當(dāng)我們創(chuàng)建了一個(gè)Alias,并且不想失去它,我們?cè)趺崔k?

  • 有兩種選擇:

        導(dǎo)入和導(dǎo)出PowerShell的Aliases;

        使用PowerShell配置文件來自定義Alias。

方法一:導(dǎo)入和導(dǎo)出PowerShell的Aliases

導(dǎo)出Aliases的一個(gè)好處就是,你可以將它帶到任何一個(gè)你想使用的地方。其命令如下<導(dǎo)出文件名自定義>:


Export-Alias -Path a.txt <enter> 

我們可以用notepad.exe看看這個(gè)里面都是些什嗎東東~~~

好了,有人迫不及待的想試試導(dǎo)入了吧~~~


Import-Alias -Path a.txt <enter> 

額~杯具了?。?!

看起來很慘的樣子……

其實(shí)如果一個(gè)cmdlet存在alias,那么再次導(dǎo)入就會(huì)產(chǎn)生這樣的杯具。

所以,我們的導(dǎo)出文件,只需要很簡(jiǎn)單的定義出自己常用的alias即可(那些系統(tǒng)自帶的都統(tǒng)統(tǒng)刪除就好啦),如:

方法二:使用PowerShell的配置文件

配置文件的位置存儲(chǔ)在$Profile變量中,其默認(rèn)值為:

'My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1″

使用如下命令查看$Profile值:


$Profile 

如前所述,PowerShell配置文件是一個(gè)擴(kuò)展名為“.ps1”的文件。所有PowerShell腳本都使用這個(gè)擴(kuò)展名。在此,我將使用記事本對(duì)其進(jìn)行編輯。不過在此之前,還需要檢查的PowerShell的執(zhí)行策略設(shè)置。

PowerShell在第一次安裝時(shí)默認(rèn)的執(zhí)行策略是"Restricted",也就是“受限制的”,這意味著PowerShell將不能運(yùn)行任何腳本和配置文件。

• PowerShell的執(zhí)行策略分級(jí):

        Restricted - 不能運(yùn)行任何腳本和配置文件

        AllSigned - 所有腳本和配置文件必須擁有受信任的發(fā)布者的簽名

        RemoteSigned - 所有腳本和配置文件從可以是互聯(lián)網(wǎng)上下載,但必須擁有受信任的發(fā)布者的簽名

        Unrestricted - 所有腳本和配置文件都將運(yùn)行,從互聯(lián)網(wǎng)上下載的腳本在運(yùn)行前會(huì)有提示。

使用如下cmdlet查看當(dāng)前所處的策略級(jí)別:


Get-ExecutionPolicy <Enter> 

修改策略級(jí)別為Unrestricted:


Set-ExecutionPolicy Unrestricted <enter>   

好的,我們現(xiàn)在來對(duì)$Profile進(jìn)行配置。

• 第1步 驗(yàn)證$Profile是否存在


test-path $Profile <Enter> 

false ===> 配置文件不存在(繼續(xù)步驟2)。
true ===> 不多說了,直接跳過步驟2和3吧。除非你想創(chuàng)建一個(gè)新的配置文件,不過這將刪除當(dāng)前的配置文件。

• 第2步 創(chuàng)建一個(gè)新的配置文件

New-Item -Path $Profile -ItemType file -Force <enter> 

第3步 再次驗(yàn)證是否成功創(chuàng)建新的配置文件

重復(fù)步驟1吧。結(jié)果應(yīng)該為"true”。

好了,在記事本中打開配置文件:


notepad $Profile <enter> 

OK!我們現(xiàn)在擁有了一個(gè)空白的配置文件,其實(shí)可以稱之為一個(gè)空白腳本。

其文件名為:

“Microsoft.PowerShell_profile.ps1″

現(xiàn)在開始配置吧:

好了,現(xiàn)在可以關(guān)閉notepad和Powershell了。重新打開PowerShell試試看。

完美!

另外需要說明幾點(diǎn),更改PowerShell策略級(jí)別時(shí),需要使用管理員權(quán)限的,否則……

好了,這一節(jié)就到這里。說實(shí)話,那幾個(gè)策略級(jí)別的單詞真不好記,不過幸好不常用~~~

相關(guān)文章

最新評(píng)論