# window
# keyboard shortcuts
1 2 3 4 5 6 7 8 9 10 11 12 13 14 Win + E: Explore,打开文件管理器/我的电脑 Win + D: Desktop,显示桌面 Win + L: Lock,锁定电脑 Win + R: Run,打开运行窗口 Alt + Tab: 切换当前桌面已打开软件窗口 Ctrl + Tab: 切换当前程序内的标签窗口(如:浏览器标签) Win + Tab: 多桌面管理窗口 Ctrl + Shift + Enter: 在搜索框输入软件名称,按下此快捷键可以以管理员身份运行程序 Ctrl + Shift + T: 在浏览器中快速恢复刚刚关闭的一个网页 Alt + 双击: 查看文件属性 Shift + 右键 -> 复制为路径: 可快速选择复制文件路径 Ctrl + N: Explore,在当前位置打开新窗口
# run cmd as admin
window + r
then input cmd
ctrl + shift + enter
run as admin
# netstart -ano
查看所有的端口占用情况 netstat -ano
协议 本地地址 外部地址 状态 PID
TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 3236
查看指定端口的占用情况 netstat -ano|findstr "9050"
协议 本地地址 外部地址 状态 PID
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
从上面可以看出端口 9050
被进程号为 2016
的进程占用,继续执行下面命令:(也可以去任务管理器中查看 pid 对应的进程)
查看 PID 对应的进程 tasklist|findstr "2016"
映像名称 PID 会话名 会话# 内存使用
tor.exe 2016 Console 16,064 K 0
从上面可以看出 tor
占用了端口
结束该进程 taskkill /f /im tor.exe
/f 强制终止 /im 指定进程名称 taskkill /f /pid 2016
也可以结束进程
# Test Connection
测试网址的连通性 ping/tracert
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 C:\Users\11435>ping www.youdao.com 正在 Ping www.youdao.com [220.181.76.251] 具有 32 字节的数据: 来自 220.181.76.251 的回复: 字节=32 时间=24ms TTL=51 来自 220.181.76.251 的回复: 字节=32 时间=23ms TTL=51 来自 220.181.76.251 的回复: 字节=32 时间=23ms TTL=51 来自 220.181.76.251 的回复: 字节=32 时间=23ms TTL=51 220.181.76.251 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 23ms,最长 = 24ms,平均 = 23ms C:\Users\11435>tracert www.youdao.com 通过最多 30 个跃点跟踪 到 www.youdao.com [220.181.76.251] 的路由: 1 3 ms 2 ms 1 ms 172.26.5.248 2 1 ms 1 ms 1 ms 10.50.250.254 3 1 ms <1 毫秒 1 ms 10.200.0.66 4 2 ms 1 ms 1 ms 222.92.90.161 5 1 ms 1 ms 3 ms 221.224.236.1 6 5 ms 3 ms 5 ms 218.4.125.165 7 * * * 请求超时。 8 3 ms 3 ms 2 ms 58.211.25.141 9 19 ms 19 ms 19 ms 202.97.56.246 10 * 22 ms * 36.110.245.70 11 * * * 请求超时。 12 24 ms 24 ms 24 ms 220.181.17.42 13 * * * 请求超时。 14 25 ms 23 ms 24 ms 220.181.76.251 跟踪完成。
# service start
以管理员权限启动 cmd, 执行相关服务的开启,停止,删除
1 2 3 4 5 net start servicenamenet start mysqlnet stop servicenamenet stop mysqlsc delete servicename
# Chrome
# Disable JavaScript
打开开发者工具
Ctrl + Shift + P 输入 Disable JavaScript
刷新页面,页面中的 noscript 中的内容就会显示出来
1 2 3 4 5 6 7 8 9 10 11 12 <!DOCTYPE html > <html > <head > <title > Example HTML Page</title > </head > <body > <noscript > <p > This page requires a JavaScript-enabled browser.</p > </noscript > </body > </html >
# Use JavaScript to Make a Bookmarklet in Chromium
添加书签,在网址中填写 javascript 代码, javascript:
是 URL’s protocol. 点击标签会执行对应代码。
代码中不能有注释,并且标签页不能是新打开的空白标签页。
1 2 3 javascript: (() => { alert('Hello, World!' ); })();
# XML to HTML Table
新建 XML to HTML Table 标签页,网址中写入如下代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 javascript: (() => { function getChildTagNames (xmlNode ) { const childNodes = xmlNode.childNodes; const tagNames = []; for (let i = 0 ; i < childNodes.length; i++) { const childNode = childNodes[i]; if (childNode.nodeType === Node.ELEMENT_NODE) { tagNames.push(childNode.tagName); } } return tagNames; } const text = document .documentElement.innerText; let lines = text.split("\n" ); lines.splice(0 , 2 ); const xmlText = lines.join("\n" ); const domParser = new DOMParser(); const xmlDoc = domParser.parseFromString(xmlText, "text/xml" ); const records = xmlDoc.getElementsByTagName("record" ); const tagNames = getChildTagNames(records[0 ]); let table = "<table style='border-collapse: collapse;'><thead><tr>" ; for (const tagName of tagNames) { table += `<th style="border: 1px solid #62ABF5; background-color:#0F6CBD; padding: 6px 8px;">${tagName} </th>` ; } table += "</tr></thead>" ; table += "<tbody>" ; for (const record of records) { table += "<tr>" ; for (const tagName of tagNames) { const childNode = record.getElementsByTagName(tagName)[0 ].childNodes[0 ]; let value; if (childNode === undefined ) { value = "" ; } else { value = childNode.nodeValue; } table += `<td style="border: 1px solid #62ABF5;background-color:#CFE4FA;padding: 6px 8px;">${value} </td>` ; } table += "</tr>" ; } table += "</tbody></table>" ; document .body.innerHTML = table; })();
浏览器 Load XML 文件
点击 XML to HTML Table 标签进行转换。
# draw.io
# Waypoints
选择折线的一部分拖动。
# Other
# sed delete rows
删除 o34183613.out 4044 行到 16603 行的内容, -i
直接修改读取的文件内容,而不是输出到终端
1 sed -i '4044,16603 d' o34183613.out
# iconv
iconv 是知名的开源跨平台编码转换库,iconv.exe 是 iconv 库在 windows 下的命令行工具,iconv.exe 的一般用法: iconv.exe -f gbk -t utf-8 gbk.txt > utf-8.txt
。其中 -f gbk 指明转换前的文件编码是 gbk,-t utf-8 指明转换后的文件编码是 utf-8,gbk.txt 是转换前文件的名称,> utf-8.txt 指明把转换结果输出到 utf-8.txt 文件中。
当我们要转换大量文件时,我们可以结合 windows 命令和 iconv.exe 批量编码转换。用法: for /r dir_name %i in (*.txt) do iconv.exe -f GBK -t UTF-8 %i > %~ni*utf8.txt
,其中 dir_name 是待转换文件的存放目录, for /r dir_name %i in (\*.txt) do
命令循环 dir_name 目录下的所有 txt 文件, iconv.exe -f GBK -t UTF-8 %i > %~ni_utf8.txt
用于转换每一个 txt 文件。