转至:http://www.cnblogs.com/ceachy/archive/2013/02/05/PowerShell_Interacting_Environment.html

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

  如何高效地使用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的基础和根本。它使着顺手了,你才会走得更远,想的更多。

【转】PowerShell入门(四):如何高效地使用交互式运行环境?的更多相关文章

  1. Linux入门(三)搭建服务器linux运行环境LAMP/LNMP

    本文内容主要根据慕课网教学视频整理,原链接http://www.imooc.com/learn/170 我用的linux系统是ubuntu 12.04 LTS  虚拟机是VMware Workstat ...

  2. 【转】PowerShell入门(十):使用配置文件

    转至:http://www.cnblogs.com/ceachy/archive/2013/03/01/PowerShell_Profile.html 在命令行中定义别名.变量和函数,只是将它们添加在 ...

  3. powershell入门教程-v0.3版

    powershell入门教程-v0.3版 来源 https://www.itsvse.com/thread-3650-1-1.html 参考 http://www.cnblogs.com/piapia ...

  4. 【转】PowerShell入门(十二):编写PowerShell管理单元和二进制模块

    转至:http://www.cnblogs.com/ceachy/archive/2013/03/13/PowerShell_SnapIn.html PowerShell一开始就提出利用管理单元来实现 ...

  5. 【转】PowerShell入门(十一):编写脚本模块

    转至:http://www.cnblogs.com/ceachy/archive/2013/03/08/PowerShell_Script_Module.html 现在通过编写模块就可以在PowerS ...

  6. 【原创】NIO框架入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战

    概述 本文演示的是一个Android客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo. 当前由于NIO框架的流行,使得开发大并发.高性能的互联网服务端成为可能. ...

  7. 【转】PowerShell入门(三):如何快速地掌握PowerShell?

    转至:http://www.cnblogs.com/ceachy/archive/2013/02/01/HowToLearnPowerShell.html 如何快速地掌握PowerShell呢?总的来 ...

  8. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  9. Swift语法基础入门四(构造函数, 懒加载)

    Swift语法基础入门四(构造函数, 懒加载) 存储属性 具备存储功能, 和OC中普通属性一样 // Swfit要求我们在创建对象时必须给所有的属性初始化 // 如果没办法保证在构造方法中初始化属性, ...

随机推荐

  1. jQuery $(document).ready()和window.onload

    jQuery $(document).ready()和window.onload 根据ready()方法的API说明http://api.jquery.com/ready/. 这个方法接收一个func ...

  2. [CareerCup] 16.1 Thread and Process 线程和进程

    16.1 What's the difference between a thread and a process? 进程Process是程序执行时的一个实例.一个进程是被分配系统资源的独立单元,每个 ...

  3. Top Deep Learning Projects in github

    Top Deep Learning Projects A list of popular github projects related to deep learning (ranked by sta ...

  4. :nth-child(an+b)

    语法: :nth-child(an+b)为什么选择它,因为我认为,这个选择器是最多学问的一个了.很可惜,据我所测,目前能较好地支持她的只有Opera9+和Safari3+. 描述: 伪类:nth-ch ...

  5. HttpClient模拟http请求

    Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且 ...

  6. C#编程总结 字符转码

    为了适应某种特殊需要,字符需要根据规则进行转码,便于传输.展现以及其他操作等. 看看下面的转码,就知道他的用处了. 1.字符串转码 根据原编码格式与目标编码格式,完成转换.不过可能出现乱码哦.上一章已 ...

  7. openfire配置MSSQL说明(数据库设置)

    1.进入“SQL Server 配置管理器(SQL Server Configuration Manager)”,在左边窗口选择“SQL Server 2005网络配置”下面的分支“MSSQLServ ...

  8. 新一波makefile

    # CROSS_COMPILE = arm-linux-CC = $(CROSS_COMPILE)gccINC=-I../ -I.LIB=-lpthread -lcryptoCC_FLAG= -std ...

  9. IOS第15天(2,事件处理hitTest练习)

    ***hitTest 获取最合适的点 @implementation HMGreenView - (void)touchesBegan:(NSSet *)touches withEvent:(UIEv ...

  10. UFS

    ● UFS vs eMMC 1. UFS有分离的读写通道,可以同时进行读写操作(双向),但是eMMC在同一时刻只能读或写. 2. UFS有一个命令队列,将命令进行排序.因此,多个命令可以同时处理,从而 ...