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.mzph.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