方式一:
方式二:
1 |
set-alias which where.exe |
方式一:
方式二:
1 |
set-alias which where.exe |
参考:
Linux桌面中一个非常有用的功能就是可以在任意文件夹中直接右键在这里打开bash终端,Windows中也是可以的:
shift + 右键 : 可以直接打开powershell, 然后输入bash就行了,似乎也很简单
如果还嫌麻烦的话,可以参考:https://blog.csdn.net/gulang03/article/details/79177500 直接将bash添加到右键菜单
更加高级一点的是使用cmder,可以直接注册到右键菜单,而且还可以在cmder中设置直接启动bash
1 |
cmder /REGIST all |
删除前:
其中windows.old 有 5G+
rbd 信息:
使用磁盘清理看看能清理多少:
可以清理掉24GB,实在惊讶,预计清理后,大小在10GB左右,还算可以接受吧
删除后:
没有想预期那样释放掉24GB,而是释放了大约20GB空间,不过确实windows.old 不见了;
rbd info:
从rbd上来看基本没有任何变化,因为没有fstrim,那么,如何对ntfs进行fstrim呢?或许有必要先进行一遍碎片整理(其实碎片整理的效果一点儿也不明显)
那么依据这个rbd做一个镜像的话,会占用多大的空间呢?会是60GB呢?还是和现在一样呢?还是和文件系统大小一样呢?
fstrim: https://blog.csdn.net/liumangxiong/article/details/50502367
不严格地讲,内存各部分关系大致如下:
可用(60287) + 已用(37G) = 总数(96G)
已缓存(45913MB) + 空闲(14420MB) = 可用(60278MB)
所以:
如下图来看, 虽然172.16.22.29存在一条更精确的路由,但是该精确路由的metric比默认路由的metric更大一些,最终还是选择了默认路由,看来metric的影响力还是很大的
添加路由是指定metric参数吧,如下:
明明指定的metric为9,结果却是19(默认网关的metric+9)
可以通过网络设置来修改接口的跃点数(metric),最小值为10(设置为更小的值也没有用)
PowerShell 是一个可以操作对象的高级shell,是一个支持模块的shell。
如何编写模块?参考:http://www.jb51.net/article/56229.htm 基本上就是在模块目录下写一个包含有一些函数的文件,一个这种文件就是一个模块,然后配之以一个同名(不同扩展名)的manifest文件
段注释:
1 2 3 4 5 |
<# .... #> |
行注释:
1 |
#this is comment |
实例:
web请求:
方法1:http://blog.csdn.net/qq_34352010/article/details/53572234
方法2:
1 |
PS3> $(New-Object -TypeName System.Net.WebClient).downloadstring("https://baidu.com") |
文本处理:
http://www.pstips.net/processing-text-1.html
http://www.pstips.net/processing-text-2.html
http://www.pstips.net/processing-text-3.html
解析url:http://www.pstips.net/processing-text-4.html
获取所有的IPv4地址:
1 2 3 4 |
PS C:\Users\phpor> ipconfig |Select-String ipv4 |ForEach-Object {$a=$_ -split ":" ; if($a) {$b=$a[1] -split "\(" ;$b[0].trim()}} 172.16.161.13 10.0.2.15 192.168.56.1 |
获取ifconfig的ipv4地址:
1 |
ifconfig|Select-String -Pattern "\s*inet\s([0-9.]+)"|foreach {$_.Matches.Groups[1].Value} |
注意: 正则表达式的正确使用使得事情变得更加利索
PowerShell 显示气球提示框: http://www.pstips.net/powershell-displaying-balloon-tip.html
多个对象之间用逗号分隔:
1 2 3 |
PS C:\Users\phpor> "a", "b" a b |
单引号与双引号:
1 2 3 4 5 6 7 |
PS C:\Users\phpor> $word="World" PS C:\Users\phpor> "Hello, $word" Hello, World PS C:\Users\phpor> 'Hello, $word' Hello, $word |
单引号中的单引号,双引号中的双引号:
1 2 3 4 5 |
PS C:\Users\phpor> """a""" "a" PS C:\Users\phpor> '''a''' 'a' |
单引号中连续的两个单引号解释为1个单引号,双引号中连续的两个双引号解释为1个双引号
一般都是用反斜线转义,但是powershell中使用反引号来转义,如:
1 2 3 4 5 |
PS C:\Users\phpor> "a`"b" a"b PS C:\Users\phpor> "a`nb" a b |
命令结果赋值给变量的写法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
PS C:\Users\phpor> $a=$(get-date) PS C:\Users\phpor> $a 2017年2月18日 23:49:21 PS C:\Users\phpor> $a=get-date PS C:\Users\phpor> $a 2017年2月18日 23:49:32 PS C:\Users\phpor> |
使用 $( cmd ) 的写法更舒服一些,更加接近于bash的写法
ISE比命令行写起来会舒服一些,不但有提示,还方便查帮助
PowerShell是已模块的形式添加功能的
选中命令时,下面就会出现命令的参数信息,按住ctrl点击命令时,参数信息界面就会隐藏