[转]Windows命令行下用netsh实现端口转发(端口映射)
微软Windows的netsh是一个命令行脚本实用工具。使用netsh工具 ,可以查看或更改本地计算机或远程计算机的网络配置。不仅可以在本地计算机上运行这些命令,而且可以在网络上的远程计算机上运行。
可以手动运行Netsh命令,或创建批处理文件或脚本实现过程的自动化。netsh提供了脚本功能,让您在批处理模式下针对指定的计算机,运行一组命令。利用netsh ,可以将配置脚本保存为文本文件,便于存档或用于配置其他的计算机。
……指间的流沙
微软Windows的netsh是一个命令行脚本实用工具。使用netsh工具 ,可以查看或更改本地计算机或远程计算机的网络配置。不仅可以在本地计算机上运行这些命令,而且可以在网络上的远程计算机上运行。
可以手动运行Netsh命令,或创建批处理文件或脚本实现过程的自动化。netsh提供了脚本功能,让您在批处理模式下针对指定的计算机,运行一组命令。利用netsh ,可以将配置脚本保存为文本文件,便于存档或用于配置其他的计算机。
……原来一直用chocolatey做包管理器, 最近发现了一个scoop, 试了几天, 可以换掉chocolatey了.
chocolatey权限要求高, scoop 使用-g安装才需要管理员权限, 默认普通用户权限.scoop可以建软件包仓库, 如果官方仓库里没有想用的软件, 可以自己建一个仓库, 存放自己的软件.chocolatey很多软件安装位置不固定, 会污染Path设置powershell
set-executionpolicy remotesigned -s currentuser
默认安装(安装到C:\Users\<user>\scoop), 在powershell里面运行:
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
安装到指定目录(D:\tool\scoop)
$env:SCOOP='D:\tool\scoop'
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
指定-g安装目录(D:\tool\scoop_global)
$env:SCOOP_GLOBAL='D:\tool\scoop\scoop_global'
[environment]::setEnvironmentVariable('SCOOP_GLOBAL',$env:SCOOP_GLOBAL,'Machine')
在wsl里面可以直接访问修改windows的文件
windows下面只能读wsl目录里面的文件, 如果修改, 会导致这个文件在wsl下面权限出错.
通过samba修改文件就没有这个问题了.
另外, samba也可以代替windows自带的文件共享.
在cmd下面输入 netstat -an | findstr /r "139 445" 可以看到当前445 端口已经被占用(win10 以前有用到139端口, win10只用445).
mklink 其他我就不介绍了
由于/d /j 实在太像,所以这里实验和总结一下。
区别1:创建
/d 可以使用相对路径方式创建
/j 必须绝对路径方式创建
此区别意义不大,建议所有的mklink目录均用绝对路径创建
区别2:复制和剪切
复制:/d /j 均生成源目录的内容副本,变为一般文件夹
剪切/移动:
/d 生成的目录,移动到其他地方,仍旧保持链接。对源目录无影响,/d生成的目录消失
在开机启动目录C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp加入vbs脚本
Set ws = WScript.CreateObject("WScript.Shell")
cmd = "C:\Windows\System32\bash.exe -c ""bash /home/init.sh"""
' 运行命令不显示cmd窗口
ws.Run cmd, 0, false
Set ws = Nothing
WScript.quit
创建/home/init.sh文件
#!/bin/bash
# 自动输入sudo密码
sudo -S service ssh start << EOF
.
EOF
# 启用32bit支持
sudo service binfmt-support start
# 运行bash.exe不退出
while true
do
sleep 600
done
开启wsl 32bit支持(通过qemu模拟, 参考https://github.com/Microsoft/WSL/issues/2468#issuecomment-374904520)
……