目錄
- 一、說明
- 1.1 背景說明
- 1.2 PowerShell是什么
- 二、PowerShell使用
- 2.1 啟動PowerShell
- 2.2.1 get-help查看幫助
- 2.2.2 get-command查看有哪些命令
- 2.2.3 get-command縮小范圍
- 2.2.4 get-process查找進(jìn)程
- 2.2.5 stop-process殺除進(jìn)程
一、說明
1.1 背景說明
個(gè)人對PowerShell也不是很熟悉,開始的時(shí)候就突然看到開始菜單中多了個(gè)叫PowerShell的文件夾,后來一點(diǎn)就看到某個(gè)教程視頻說PowerShell很厲害但也沒怎么聽,再后來就看到kali也有了一些PowerShell的腳本這才意識到PowerShell應(yīng)該確實(shí)有獨(dú)到之處而且正在逐漸受到認(rèn)可,不過我使用PowerShell是不久前網(wǎng)上看到篇文章說PowerShell可以算數(shù)所以常當(dāng)個(gè)計(jì)算器使用。直到昨天看了《Windows PowerShell實(shí)戰(zhàn)指南》才算有了比較完整的了解。
1.2 PowerShell是什么
很多人上來就什么基于.Net強(qiáng)無敵,首先作為用戶我不關(guān)心你是什么技術(shù),我首先想知道的是你提供的是什么東西、怎么用。
PowerShell,從名字可以知道,他首先是一個(gè)shell,shell的意思就是和Linux的bash等一樣、和原來的cmd一樣就是在里邊敲命令(可執(zhí)行文件)使用;
而Power就意味他是一個(gè)功能強(qiáng)大的shell,從面向用戶而言,個(gè)人覺得其功能強(qiáng)大體現(xiàn)在以下幾方面:
(1) 微軟態(tài)度。微軟是真正的在推行PowerShell,包括Office等更多自家軟件,底層都是調(diào)用PowerShell來實(shí)現(xiàn)。
(2) 兼容性cmd。PowerShell包含原先cmd的所有命令,原先命令使用形式不變,在是在其基礎(chǔ)上添加命令。
(3) 對標(biāo)Linux。PowerShell使用了Linux Shell的思想,也就是所有的系統(tǒng)操作、配置,都可以在shell中敲寫命令實(shí)現(xiàn)。
(4) 統(tǒng)一的命令格式和自包含的文檔?;谇?點(diǎn)我們即可以說PowerShell已可與Linux Bash等一較高下,如果再加上后發(fā)優(yōu)勢那就可以讓人相信PowerShell可以成功。對于bash等shell你覺得最大的缺點(diǎn)是什么?從我角度而言我覺得是成本很高,最開始是我不知道用什么命令不太記得使用什么命令我需要百度一下,二是我經(jīng)常忘記命令參數(shù)格式怎么寫要在良莠不齊的網(wǎng)上百度半天(man手冊?對不起我真的經(jīng)常沒看懂,我博客之前寫了不少關(guān)于shell命令的文章就是備忘用,網(wǎng)上那么多關(guān)于shell命令的文章也說明不是因?yàn)槲姨貏e蠢)。而這就是PowerShell的兩個(gè)優(yōu)點(diǎn):第一點(diǎn)是PowerShell所有命令使用統(tǒng)一的cmdlet命令格式(也就是“動詞-名詞”的格式,比如get-process)會使人很容易記??;第二點(diǎn)這里所謂自包含是指你要干一件事你可以逐步找到要做的事所需的所有命令,即便你記不得命令你也可以很容易找到,你找到命令看文檔就很容易知道怎么使用。
當(dāng)然powershell很好但也有著其劣勢:
(1)Linux和Windows系統(tǒng)本身定位的差異。Linux的免費(fèi)穩(wěn)定使其牢牢占據(jù)了服務(wù)器領(lǐng)域,Linux Shell命令是沒有很多統(tǒng)一格式的因此工程師們要費(fèi)很大的勁去學(xué)習(xí),而當(dāng)Linux占據(jù)工程師的大部分精力并塑造完他們的習(xí)慣后,工程師們也許并沒有那么多精神和動力去學(xué)powershell。
(2)來自Windows GUI的競爭。Windows上命令能干的事GUI也都能干也許效率慢一些但普通用戶可不想去黑漆漆的界面敲感覺不受控制的命令。
Linux占據(jù)了服務(wù)器工程師的日常,而Windows自身強(qiáng)大的GUI對普通用戶有天然的親和力,所以powershell能期望的目標(biāo)用戶是誰呢,Windows服務(wù)器運(yùn)維工程師好像沒見過專門設(shè)有這職位。
二、PowerShell使用
下邊我們將假設(shè)我們對powershell一無所知,通過殺除一個(gè)notepad進(jìn)程的操作過程,來看一下什么叫powershell的“統(tǒng)一的命令格式和自包含的文檔”。
我這里并不介紹一堆命令----命令是介紹不過來的我這里是win7到了win10你會看到多出一倍不止的命令,以后還會更多----而是介紹powershell的使用思路,其他工作都可借助類似的思路來進(jìn)行。
2.1 啟動PowerShell
方法一: 直接在cmd中執(zhí)行powershell,切換為powershell
方法二: 開始菜單中輸入powershell啟動powershell
方法三: 開始菜單----附件----powershell啟動
帶x86的是32位的,不帶的是64位的;帶ies的是簡單的ide
2.2 使用powershell
powershell啟動后界面如下
2.2.1 get-help查看幫助
我們一無所知,所以我們輸入help試一下,很好,powershell確實(shí)支持help
(不過我們前邊說過powershell命令是cmdlet格式,help也使用cmdlet格式,help只是get-help的一個(gè)別名)
2.2.2 get-command查看有哪些命令
在確定powershell支持get-help之后,首先我們需要知道powershell支持哪些命令,在上圖get-help中可以看到可以使用get-command查看powershell支持的命令
CommandType列,表示命令類型,Alias是別名、Cmdlet是powershell格式的命令、Function是函數(shù)
Name列,就是命令
Definition列,命令功能的簡單描述
2.2.3 get-command縮小范圍
上面的命令太多了,我們需要縮小范圍以確定類似ps功能的命令在powershell中是什么(當(dāng)然我們說過powershell兼容cmd所以可以直接用ps,但這不是我們這里想要的)
查看信息都是get-開頭,所以我們猜測查看進(jìn)程的命令也以get-開頭,執(zhí)行g(shù)et-command get-*試一下
結(jié)果如下圖所示,列出了所有g(shù)et開頭的命令,其中我們看到有一個(gè)叫g(shù)et-process的命令,一看就是獲取進(jìn)程信息的
2.2.4 get-process查找進(jìn)程
我們將命令鎖定在了get-process但是我們不知道這個(gè)命令怎么用,2.2.1中說可以通過get-help command的形式查看幫助,我們也試一下
可以看到所有選項(xiàng)都是帶中括號的,所以直接執(zhí)行g(shù)et-process就可以了
但是可以猜測,沒有任何過濾條件返回的肯定是所有進(jìn)程列表這需要過濾,可以看到-name參數(shù)可以過濾進(jìn)程名,為保險(xiǎn)起見我們還加上*號通配符
整個(gè)要執(zhí)行的命令就是:get-process -name *notepad*
2.2.5 stop-process殺除進(jìn)程
第一個(gè)思路是:在get-help get-process中已看到相關(guān)鏈接中有stop-process,這大概率是殺除進(jìn)程的命令
第二個(gè)思路是:獲取進(jìn)程是get-process,那么殺除進(jìn)程也大概率是xxx-process
執(zhí)行:get-command *process
可以看到就5個(gè)命令,而其中只有stop-process比較像,一樣使用get-help來查看幫助順便確認(rèn)是不是
顯而易見確實(shí)是,而且殺除命令就是:stop-process -id pid
以上就是PowerShell的基本使用的詳細(xì)內(nèi)容,更多關(guān)于PowerShell使用的資料請關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:- PowerShell 指令操作集合(小結(jié))
- 如何利用PowerShell監(jiān)控Win-Server性能詳解
- PowerShell中Job相關(guān)命令及并行執(zhí)行任務(wù)詳解
- 基于PowerShell在Ubuntu系統(tǒng)的使用詳解
- PowerShell 遠(yuǎn)程執(zhí)行任務(wù)的方法步驟
- powershell玩轉(zhuǎn)SQL SERVER所有版本的方法
- 如何在power shell添加vim實(shí)現(xiàn)代碼示例