2 Powershell与Cmd以及Unix/Linux Shell
上篇文章我说道,windows为了改变用户对其console界面的诟病,于是就从windows vista开始,计划要改变这种局面,于是就有
了Powershell的出现。
1、兼容shell命令
为了兼容Unix/Linux Shell(主要是bash)的命令;Powershell中提供了一套机制来兼容cmd.exe和bash命令。这就是上篇文章中提到
的别名机制。下图是powershell中兼容的cmd命令和unix/linux shell的命令。
2、标准命令的别名
同样,powershell还提供一套机制来支持内置cmdlet的命令别名。
我们知道cmdlets采用一致的用户接口模式: 动词-名词。 正如上面所说,上表例举的别名是为了和其他的console界面命令相兼容,而内置命令的
别名是为了简便而设置的。powershell提供一组基于常用命令的动词和名词的速记名称来为标准别名进行命名。
例如:
动词 命令的缩写/别名
get g
set s
item i
location l
command cm
这样:gi 则相当于 get-item
si 则相当于 set-item
因为这些别名实在powershell启动期间自动加载的;所以如果在命令行中再次设置命令行别名,则会提示错误,如下图所示:
3、Tab自动补全功能
powershell同时还继承了Tab键的自动补全功能;不过这个与cmd和bash的Tab功能不太一样,powershell中的tab扩展功能是通过函数来实现的。
其函数是: TabExpansion控制的,由于在powershell中可以修改内置的函数,因此需要注意。
在键入命令时,如果要用Tab键来补充文件名或者路径;则在键入部分文件名或者路径后,按下Tab键,powershell中将自动将命令补充为第一个匹
配项,如果重复的按下Tab键,则将逐一显示所有可用的选项。
如果键入的是cmdlet;则与补充文件名和路径不同;如果要对cmdlet名称使用tab扩展,需要完整键入名称的第一部分及后面的连字符。可以填充
名称的更多部分已进行匹配。例如: 键入 get-c 然后键入Tab键,则自动补充的为get-childitem命令,如果继续按下tab键则补充出的命令为get-com
mand命令。
在使用命令行自动补齐的过程有一点需要注意: 即无论何时Tan键都被解释为自动补充命令功能,因此在将命令复制到shell中时需要注意,复制的内容
后面不能包含Tab键。
2 Powershell与Cmd以及Unix/Linux Shell的更多相关文章
- PowerShell_零基础自学课程_2_Powershell与Cmd以及Unix/Linux Shell
上篇文章我说道,windows为了改变用户对其console界面的诟病,于是就从windows vista开始,计划要改变这种局面,于是就有 了Powershell的出现. 1.兼容shell命令 ...
- 【程序员技术练级】熟悉Unix/Linux Shell和常见的命令行(一)文件系统结构和基本操作
作为程序猿,熟悉一些unix/linux命令行是非常必要的,因为部署服务的服务器现在基本上用的都是unix/linux系统,很少在windows上部署服务的. 今天我们就介绍一些在linux上的文件系 ...
- Step one : 熟悉Unix/Linux Shell 常见命令行 (三)
3.学会使用一些管理命令 ps/top/lsof/netstat/kill/tcpdump/iptables/dd 端口查看 ps -- process status ps aux 观察程序所有程序 ...
- Step one : 熟悉Unix/Linux Shell 常见命令行 (四)
4.了解/etc目录下的各种配置文章,学会查看/var/log下的系统日志,以及/proc下的系统运行信息 了解/etc目录下的各种配置文章 /etc/hosts 主机配置文件 /etc/netwo ...
- Step one : 熟悉Unix/Linux Shell 常见命令行 (二)
2.学会使用一些文本操作命令 sed -- stream editor 1. Sed简介sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pat ...
- Step one : 熟悉Unix/Linux Shell 常见命令行 (一)
1.文件系统结构和基本操作 ls - - list directory contents -a/A 列出全部文件(包含隐藏文件) - i 列出inode号码 -n 查看UID and GID -d ...
- linux shell编程总结
linux shell编程总结 本周学习了unix/linux shell编程,参考的是<LINUX与UNIX Shell 编程指南>,David Tansley著:徐焱,张春萌等译,由机 ...
- Unix/Linux中shell调用sqlplus的方式
Unix/Linux下,shell脚本调用sqlplus的几种方式介绍: 一.最简单的shell调用sqlplus #!/bin/bash sqlplus -S /nolog > sqlplus ...
- powershell 中常用cmd,unix命令(get-alias)
powershell 中常用cmd,unix命令(get-alias) Get-Content Alias cat -> Get-Content Alias gc -> Get-Conte ...
随机推荐
- ORA-12505, TNS:listener does not currently know of SID given in connect desc
数据库名(数据库服务名)配置错误.
- 160630、五句话搞定JavaScript作用域
JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕. 一.“JavaScript中无块级作用域” 在Java或C# ...
- 关于修改react的启动端口
在package.json文件里面,加一个port端口号就ok了
- 手动爬虫之糗事百科(ptyhon3)
一.调用封装的Url_ProxyHelper类,源码如下 import urllib.request as ur class Url_ProxyHelper: def __init__(self, u ...
- cocos2d 场景切换和弹出场景、收回场景
场景弹出收回很简单 用以下代码在任意一个地方显示“设置场景”: [[CCDirector sharedDirector] pushScene:[Settings scene]]; 如果你身处“设置场景 ...
- 流畅的python 14章可迭代的对象、迭代器 和生成器
可迭代的对象.迭代器和生成器 迭代是数据处理的基石.扫描内存中放不下的数据集时,我们要找到一种惰性获取数据项的方式,即按需一次获取一个数据项.这就是迭代器模式(Iterator pattern). 迭 ...
- python多线程锁lock/Rlock/BoundedSemaphore/Condition/Event
import time import threading lock = threading.RLock() n = 10 def task(arg): # 加锁,此区域的代码同一时刻只能有一个线程执行 ...
- 生成vuejs项目
生成项目 npm i -g vue-cli > mkdir my-project && cd my-project > vue init webpack npm i ...
- boost shared_ptr weak_ptr
文档: http://www.boost.org/doc/libs/1_57_0/libs/smart_ptr/shared_ptr.htm shared_ptr构造有个原型 template< ...
- java线程小结1
1.创建线程的两种方法 新线程的创建和启动都是通过java代码触发的.除了第一个线程(也就是启动程序的.运行main()方法的线程)是由java平台直接创建的之外,其余的线程都是在java代码中通过“ ...