PowerShell入门教程之高效使用PowerShell交互式运行环境的几个小技巧

在开始关于脚本、对象和远程处理等复杂的功能之前,一直想再写一篇关于交互式运行环境的文章。因为我觉得这很重要,但是有什么是不重要呢?:)所以,说到底可能是个人喜好吧,我就是特别喜欢这种立等可取的交互方式。

如何高效地使用PowerShell的交互式运行环境呢?所谓“高效”,既跟使用这个工具的熟练程度有关,也跟使用这个工具的习惯有关。习惯有无意中养成的,也有主动养成的。如果你恰好玩PowerShell不久,那么就从现在开始主动养成一些好习惯吧。

多用Tab键

  在运行环境中,Tab键有补全内容的作用。除了可以像Cmd那样补全子目录和子文件,还可以补全PowerShell的Cmdlet、函数以及参数等等。这个确实很好用,比如说运行脚本文件必须在脚本名称前加上“.\ ”,否则你即使打全了脚本文件名,也照样执行不了;而你打出脚本文件名的前几个字母,按Tab键后,脚本就会补全成可以执行的样子。是不是很帅?但是有两点需要注意:

  1、你打出的(文件、命令等的)前几个字母应该具有区分性的,否则的话可能会遍历所有匹配的文件、文件夹和命令;

  2、宁肯少打,不要打错,否则就啥也找不到了;

常用Alias

  使用Alias是提高工作效率的另一个有效方式。这里主要有两方面的原因:

  1、Alias一般都是熟悉的命令方式,不管是寻找合适的命令,还是把合适的命令打出来,都会比较顺手;

  2、Cmdlet因为结构的问题,一般都比较长,而且dash(横杠)不在字母区域,敲击这个键也会降低工作效率,而Alias一般就是两三个字母,既短又好敲,刚好弥补了Cmdlet的缺陷。

  此外,这里有一个不得不提的原则:以交互式工作时,尽量多使用Alias;写脚本的时候,要尽量少用,甚至不用Alias。这是因为,以交互方式运行命令完成工作时,所输入的命令以及期望的结果只与使用者有关,一般不需要跟别人共享,当然以效率为上;而脚本一般会被使用较长时间,并且会多人被维护,可读性相比效率更加重要。

将战场从Cmd转移到PowerShell

  想要接触PowerShell的人,一般就是使用Cmd命令行比较多的人。工具用得久了,自然亲切,不愿放下。但要跟上时代,充分受益于当下的成果就要用于离开舒服的区域,尝试新事物。拿到这里来说,就是要将自己的主要工作环境从Cmd命令行转移到PowerShell上来。

  一般来说,使用PowerShell不比Cmd命令行复杂。比如说,你在要看一下现正在使用的机器上的IP。你以前可能是先按Windows键+R键,然后输入cmd,回车,ipconfig,回车就可以了,整个下来只有几秒钟的时间。现在呢?只是把cmd换成powershel,也很快。但有时会稍微麻烦一些。比如说,以前在命令行里输入dir /ad来查看所有子文件夹,现在要输入dir | ? {$_.mode –like “d*”}。输入稍微多了些,但这是熟悉这个工具的毕竟之路。最不济,如果你很着急执行一个命令,但是powershell命令一时半会儿想不起来,那么就在PowerShell中输入“cmd /c 命令”,例如查找当前目录下隐藏文件的命令:cmd /c dir /ah。总之,要多玩PowerShell,玩多了才能熟,熟才能生巧。

结语

  交互式运行环境是PowerShell的基础和根本。它使着顺手了,你才会走得更远,想的更多。

(0)

相关推荐

  • ruby开发的交互式程序例子

    实现pry,ronin,msf类似的终端下交互功能,这里主要用到了ripl gem: 1.能够调用定义的方法,如help 2.能够执行系统命令 3.能够类似irb/pry进行ruby语言解析 安装: gem install ripl gem install ripl-shell_commands 示例 ripl这个gem,它也提供很多插件,如下是一个简单的终端下交互实现: require 'ripl' require 'ripl/shell_commands' require 'ripl/col

  • Shell脚本中非交互式修改密码的两种方法

    今天在写一个shell脚本的时候发现需要设置用户的密码,而设置密码是交互式的,这样在脚本中显然是不太好的,因此上网查找资料,发现了以下两种常见的非交互式设置密码的方式: 1:使用chpasswd chpasswd其实是通过用户输入'用户名:密码'来更改一组用户的密码,还是一个可以批量修改密码的工具,具体的用法详见chpasswd用法,这里只做简单的介绍 格式:# echo 用户名:密码 | chpasswd 实例: 添加一个doiido的帐号,密码为123456 复制代码 代码如下: # ech

  • PHP MYSQL简易交互式站点开发

    目的:使用PHP和MYSQL模拟权限管理系统的实现 general用户只能查看其他用户信息,不能进行修改,添加,和删除操作,root用户可以完成以上三种操作. 实现思路 1.在MySQL数据库中建立两张数据表.一张数据表保存用户名和密码,用于登陆验证,另一张保存用户权限等基本信息. 2.提交表单登陆时,先在数据库中查找该用户存不存在,若不存在,报错,存在,则验证密码,密码错误则报错,若密码正确,登陆显示所有存储在数据库中的用户信息和当前登陆用户名. 3.在用户进行添加,删除操作时,先判断权限是否

  • phpmyadmin中为站点设置mysql权限的图文方法

    为了防止安全隐患,我们一般针对每个数据库都设置了独立的数据库访问帐号,该帐号仅有访问该数据库的权限.下面就让我们来具体演示一下: 1.首先我们要登陆phpMyAdmin,不做演示. 2.创建一个数据库,如下图,在phpMyAdmin右边窗口中,填写数据库名称,点创建即可.      例如我们这里创建一个名字为:cncmstest 的数据库      创建成功会有如下提示: 3.点击左上角的主页按钮,返回phpMyAdmin主界面: 4.在主界面的右边点击"权限"来创建数据库帐号. 5.

  • node.js学习之交互式解释器REPL详解

    简介 repl是Node.js提供的一个Read-Eval-Print-Loop (REPL,读取-执行-输出-循环)实现,它即可以做为一个独立的程序使用,又可以包含在其它应用中使用.REPL是一个互式命令行解析器,它提供了一个交互式的编程环境,它可以实时的验证你所编写的代码,非常适合于验证Node.js和JavaScript的相关API. Node 自带了交互式解释器,可以执行以下任务: 读取 - 读取用户输入,解析输入了Javascript 数据结构并存储在内存中. 执行 - 执行输入的数据

  • IIS 配置PHP站点的说明

    第一步:配置PHP 如果你下载的是安装版的php(appserv-win32-2.5.9.exe),按照以下步骤配置: 1.将php.ini-dist复制到 C:\Windows 目录下并改名为php.ini,复制php5ts.dll和libmysql.dll到 C:\Windows\system32 中. 2.用记事本打开php.ini,查找"extension_dir",然后把 extension_dir = "./"修改为 extension_dir = &q

  • python实现定制交互式命令行的方法

    Python的交互式命令行可通过启动文件来配置. 当Python启动时,会查找环境变量PYTHONSTARTUP,并且执行该变量中所指定文件里的程序代码.该指定文件名称以及地址可以是随意的.按Tab键时会自动补全内容和命令历史.这对命令行的有效增强,而这些工具则是基于readline模块实现的(这需要readline程序库辅助实现). 此处为大家举一个简单的启动脚本文件例子,它为python命令行添加了按键自动补全内容和历史命令功能. [python@python ~]$ cat .python

  • 浅析mysql交互式连接&非交互式连接

    交互式操作:通俗的说,就是你在你的本机上打开mysql的客户端,就是那个黑窗口,在黑窗口下进行各种sql操作,当然走的肯定是tcp协议. 非交互式操作:就是你在你的项目中进行程序调用.比如一边是tomcat web服务器,一边是数据库服务器,两者怎么通信?在java web里,我们通常会选择hibernate或者是jdbc来连接.那么这时候就是非交互式操作. 在之前,我基本上不关系这两个属性,都是用的是mysql服务商推荐的默认值,就是8小时. 但是,从昨天开始,由于在新网租用了一个空间,而他的

  • Linux中安装Python的交互式解释器IPython的教程

    IPython是Python的交互式Shell,提供了代码自动补完,自动缩进,高亮显示,执行Shell命令等非常有用的特性.特别是它的代码补完功能,例如:在输入zlib.之后按下Tab键,IPython会列出zlib模块下所有的属性.方法和类.完全可以取代自带的bash 下面介绍下linux安装IPython四种方法: 第一种:ipython源码安装 ipython的源码下载页面为:https://pypi.python.org/pypi/ipython 或者是到git页面下载:https://

  • Linux下交互式与非交互式修改用户密码的例子

    最近管理的一批机器,有个需求是要统一修改一个帐号的用户名密码,比如将qa帐号的密码改为1234,后来还为了脚本化,很方便的执行,还使用了非交互式地修改用户的密码.简单记录一下吧. 1. 交互式配置本地用户的密码:passwd 命令 复制代码 代码如下: [root@host_221-81 ~]# passwd qa Changing password for user qa. New password: BAD PASSWORD: it is too short BAD PASSWORD: is

随机推荐