PowerShell使用教程

一、說明

1.1 背景說明

個人對PowerShell也不是很熟悉,開始的時候就突然看到開始菜單中多了個叫PowerShell的文件夾,后來一點就看到某個教程視頻說PowerShell很厲害但也沒怎么聽,再后來就看到kali也有了一些PowerShell的腳本這才意識到PowerShell應該確實有獨到之處而且正在逐漸受到認可,不過我使用PowerShell是不久前網上看到篇文章說PowerShell可以算數所以常當個計算器使用。直到昨天看了《Windows PowerShell實戰指南》才算有了比較完整的了解。

?

1.2 PowerShell是什么

很多人上來就什么基于.Net強無敵,首先作為用戶我不關心你是什么技術,我首先想知道的是你提供的是什么東西、怎么用。

PowerShell,從名字可以知道,他首先是一個shell,shell的意思就是和Linux的bash等一樣、和原來的cmd一樣就是在里邊敲命令(可執行文件)使用;

而Power就意味他是一個功能強大的shell,從面向用戶而言,個人覺得其功能強大體現在以下幾方面:

(1) 微軟態度。微軟是真正的在推行PowerShell,包括Office等更多自家軟件,底層都是調用PowerShell來實現。

(2) 兼容性cmd。PowerShell包含原先cmd的所有命令,原先命令使用形式不變,在是在其基礎上添加命令。

(3) 對標Linux。PowerShell使用了Linux Shell的思想,也就是所有的系統操作、配置,都可以在shell中敲寫命令實現。

(4) 統一的命令格式和自包含的文檔。基于前3點我們即可以說PowerShell已可與Linux Bash等一較高下,如果再加上后發優勢那就可以讓人相信PowerShell可以成功。對于bash等shell你覺得最大的缺點是什么?從我角度而言我覺得是成本很高,最開始是我不知道用什么命令不太記得使用什么命令我需要百度一下,二是我經常忘記命令參數格式怎么寫要在良莠不齊的網上百度半天(man手冊?對不起我真的經常沒看懂,我博客之前寫了不少關于shell命令的文章就是備忘用,網上那么多關于shell命令的文章也說明不是因為我特別蠢)。而這就是PowerShell的兩個優點:第一點是PowerShell所有命令使用統一的cmdlet命令格式(也就是“動詞-名詞”的格式,比如get-process)會使人很容易記住;第二點這里所謂自包含是指你要干一件事你可以逐步找到要做的事所需的所有命令,即便你記不得命令你也可以很容易找到,你找到命令看文檔就很容易知道怎么使用。

當然powershell很好但也有著其劣勢:

(1)Linux和Windows系統本身定位的差異。Linux的免費穩定使其牢牢占據了服務器領域,Linux Shell命令是沒有很多統一格式的因此工程師們要費很大的勁去學習,而當Linux占據工程師的大部分精力并塑造完他們的習慣后,工程師們也許并沒有那么多精神和動力去學powershell。

(2)來自Windows GUI的競爭。Windows上命令能干的事GUI也都能干也許效率慢一些但普通用戶可不想去黑漆漆的界面敲感覺不受控制的命令。

Linux占據了服務器工程師的日常,而Windows自身強大的GUI對普通用戶有天然的親和力,所以powershell能期望的目標用戶是誰呢,Windows服務器運維工程師好像沒見過專門設有這職位。

?

?

二、PowerShell使用

下邊我們將假設我們對powershell一無所知,通過殺除一個notepad進程的操作過程,來看一下什么叫powershell的“統一的命令格式和自包含的文檔”。

我這里并不介紹一堆命令----命令是介紹不過來的我這里是win7到了win10你會看到多出一倍不止的命令,以后還會更多----而是介紹powershell的使用思路,其他工作都可借助類似的思路來進行。

2.1 啟動PowerShell

方法一: 直接在cmd中執行powershell,切換為powershell

方法二: 開始菜單中輸入powershell啟動powershell

方法三:? 開始菜單----附件----powershell啟動

帶x86的是32位的,不帶的是64位的;帶ies的是簡單的ide

?

2.2 使用powershell

powershell啟動后界面如下

?

2.1.1 get-help查看幫助

我們一無所知,所以我們輸入help試一下,很好,powershell確實支持help

(不過我們前邊說過powershell命令是cmdlet格式,help也使用cmdlet格式,help只是get-help的一個別名)

?

2.2.2 get-command查看有哪些命令

在確定powershell支持get-help之后,首先我們需要知道powershell支持哪些命令,在上圖get-help中可以看到可以使用get-command查看powershell支持的命令

CommandType列,表示命令類型,Alias是別名、Cmdlet是powershell格式的命令、Function是函數

Name列,就是命令

Definition列,命令功能的簡單描述

?

2.2.3 get-command縮小范圍

上面的命令太多了,我們需要縮小范圍以確定類似ps功能的命令在powershell中是什么(當然我們說過powershell兼容cmd所以可以直接用ps,但這不是我們這里想要的)

查看信息都是get-開頭,所以我們猜測查看進程的命令也以get-開頭,執行get-command get-*試一下

結果如下圖所示,列出了所有get開頭的命令,其中我們看到有一個叫get-process的命令,一看就是獲取進程信息的

?

2.2.4 get-process查找進程

我們將命令鎖定在了get-process但是我們不知道這個命令怎么用,2.2.1中說可以通過get-help command的形式查看幫助,我們也試一下

可以看到所有選項都是帶中括號的,所以直接執行get-process就可以了

但是可以猜測,沒有任何過濾條件返回的肯定是所有進程列表這需要過濾,可以看到-name參數可以過濾進程名,為保險起見我們還加上*號通配符

整個要執行的命令就是:get-process -name *notepad*

?

2.2.5 stop-process殺除進程

第一個思路是:在get-help get-process中已看到相關鏈接中有stop-process,這大概率是殺除進程的命令

第二個思路是:獲取進程是get-process,那么殺除進程也大概率是xxx-process

執行:get-command *process

可以看到就5個命令,而其中只有stop-process比較像,一樣使用get-help來查看幫助順便確認是不是

顯而易見確實是,而且殺除命令就是:stop-process -id pid

?

轉載于:https://www.cnblogs.com/lsdb/p/9531338.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/397112.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/397112.shtml
英文地址,請注明出處:http://en.pswp.cn/news/397112.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python Gunicorn

1. 簡介 Gunicorn(Green Unicorn)是給Unix用的WSGI HTTP 服務器,它與不同的web框架是非常兼容的、易安裝、輕、速度快。 2. 示例代碼1 def app(environ, start_response):data b"Hello World\n"start_response("200 OK", [("Content-Type…

如何使處于不同局域網的計算機實現遠程通信_小區自來水二次加壓泵站遠程監控系統方案...

一、小區自來水二次加壓泵站遠程監控系統方案項目概述隨著城市高效快速地發展,市區規模越來越大,小區二次加壓泵房將繼續增加,供水公司二次加壓泵房管理工作將更加繁重。目前小區二次加壓供水方式主要有兩種,一種是不銹鋼水箱不銹…

Java中的Enum的使用與分析

示例: public enum EnumTest {FRANK("The given name of me"),LIU("The family name of me");private String context;private String getContext(){return this.context;}private EnumTest(String context){this.context context;}public sta…

postgresql返回行數_怎么優化你的SQL查詢?以PostgreSQL為例

實際工作中,我們每個人難免都會要寫SQL,執行SQL,但是有時時候執行非常慢,甚至獲得不了結果。這時候你會怎么辦?放棄?去苦口婆心的求隔壁房間胡子擦擦的猥瑣DBA大叔?NO,正確方法是先檢…

首次構建android studio gradle 下載緩慢的問題

1、先使用其他工具下載gradle, https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 2、然后放在C:\Users\Administrator\.gradle\wrapper\dists\gradle-2.14.1-all\8bnwg5hd3w55iofp58khbp6yv 目錄中 隨機碼文件夾可以通過先嘗試構建,讓…

288. Unique Word Abbreviation

題目&#xff1a; An abbreviation of a word follows the form <first letter><number><last letter>. Below are some examples of word abbreviations: a) it --> it (no abbreviation)1 b) d|o|g --> d…

jqgrid mysql 分頁_jQgrid 分頁顯示

當使用jqgrid去顯示數據的時候&#xff0c;如果數據太多&#xff0c;那么jqgrid就會繪制的很慢&#xff0c;這樣很影響用戶的體驗&#xff0c;十分影響用戶的心情&#xff0c;所以我們采用分頁的方式去取數據&#xff0c;這樣就能避免用戶長時間的等待&#xff0c;從而提升用戶…

echarts 詞云_python Flask+爬蟲制作股票查詢、歷史數據、股評詞云網頁

自學python的數據分析&#xff0c;爬蟲后&#xff0c;花了幾天時間看視頻學習Flask做了一個簡單的股票查詢網頁。本來還想著加入一些其他功能&#xff0c;比如財務指標分析&#xff0c;輿情分析&#xff0c;最完美的想法是做成一個股票評分系統&#xff0c;輸入股票代碼可以自動…

JavaSE基礎知識(6)—異常和異常處理

一、異常的理解及體系結構圖 1、理解 異常&#xff1a;程序運行過程中發生的不正常現象。java中的錯誤&#xff1a;   語法錯誤   運行異常   邏輯錯誤 2、體系圖 java程序在執行過程中所發生的異常分為兩類&#xff1a; Error&#xff1a;Java虛擬機無法解決的嚴重問題。…

peripheralStateNotificationCB

1 /*********************************************************************2 * fn peripheralStateNotificationCB 外圍設備 狀態 通知 回調函數3 *4 * brief Notification from the profile of a state change. 通知來自于profile的狀態改變&#xff01;5 *6 * …

mysql dump 1017_MySQL數據庫導出 - Can't Wait Any Longer - OSCHINA - 中文開源技術交流社區...

本文內容主要來自MySQL官方文檔&#xff1a;“MySQL5.1 Reference&#xff0c;2.10.3. 將MySQL數據庫拷貝到另一臺機器”注意&#xff1a;參數名與值間可以不用空格&#xff0c;如-uroot或-u root均可&#xff1b;某些參數會有不同含義1.數據庫導出(-A導出所有數據庫&#xff0…

Jsp2.0自定義標簽(第二天)——自定義循環標簽

今天是學習自定義標簽的第二天&#xff0c;主要是寫一個自定義的循環標簽。 先看效果圖&#xff1a; 前臺頁面Jsp代碼 <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%> <%taglib prefix"myout…

正則表達式以什么開頭以什么結尾_股票hk是什么意思,股票st開頭是什么意思,新通聯股票...

股票hk是什么意思,股票st開頭是什么意思,新通聯股票股票hk是什么意思,股票st開頭是什么意思,新通聯股票我們首先解決時間跨度問題&#xff1a;如果您為諸如退休之類的遙遠目標投資&#xff0c;則應主要投資股票(同樣&#xff0c;我們建議您通過共同基金投資)。心理控制第一&…

讀書筆記--SQL必知必會03--排序檢索數據

3.1 排序數據 子句&#xff08;clause&#xff09; SQL語句由子句構成。一個子句通常由一個關鍵字加上所提供的數據組成。 ORDER BY子句可以取一個或多個列的名字&#xff0c;將SELECT語句檢索出的數據進行排序。 ORDER BY子句可以使用非檢索的列排序數據。 ORDER BY子句必須作…

mysql中編寫匿名塊_Oracle數據庫之Oracle_PL/SQL(1) 匿名塊

本文主要向大家介紹了Oracle數據庫之Oracle_PL/SQL(1) 匿名塊&#xff0c;通過具體的內容向大家展現&#xff0c;希望對大家學習Oracle數據庫有所幫助。1. PL/SQL 簡介PL/SQL是一種比較復雜的程序設計語言, 用于從各種環境中訪問Oracle數據庫。為什么使用PL/SQL&#xff1f;Ora…

安裝了多個Oracle11g的客戶端,哪個客戶端的tnsnames.ora會起作用?

如果我們由于需要安裝了多個Oracle的client&#xff0c;哪個客戶端的tnsnames.ora會起作用呢&#xff1f; 答案是&#xff1a; 在安裝好clinent端后&#xff0c;安裝程序會把client的bin目錄放到path里面&#xff0c;path中在前面的client會被首先搜索&#xff0c;其中的tnsnam…

電腦顯示連接了網絡但是不能上網_為什么電腦插上網線顯示已連接卻上不了網...

嘗試斷一下網&#xff0c;或者重啟一下系統看一下是否解決&#xff1b;也可能是開啟了網絡代理&#xff0c;可以重置一下瀏覽器或者網絡設置&#xff1b;還可以使用安全管家軟件&#xff0c;掃描一下網絡設置。以下是詳細介紹&#xff1a;1、有時候系統顯示已經連接其實并沒有真…

Atcoder ARC101 E 樹dp

https://arc101.contest.atcoder.jp/tasks/arc101_c 題解是也是dp&#xff0c;好像是容斥做的&#xff0c;但是看不懂&#xff0c;而且也好像沒講怎么變n^2&#xff0c;看了寫大佬的代碼&#xff0c;自己理解了一下 #include <bits/stdc.h> #include <ext/pb_ds/assoc…

compress命令--Linux命令應用大詞典729個命令解讀

內容來源于人民郵電出版社《Linux命令應用大詞典》講述729個命令&#xff0c;1935個例子學習Linux系統的參考書、案頭書&#xff0c;遇到不懂的命令或命令選項一查即可爭取每天都發布內容本文出自 “airfish2000” 博客&#xff0c;更多命令查看博客&#xff1a;http://airfish…

javaweb學習總結(三十九)——數據庫連接池

javaweb學習總結(三十九)——數據庫連接池 數據庫連接池的實現及原理 JNDI 在 J2EE 中的角色轉載于:https://www.cnblogs.com/daishuguang/p/5041845.html