我的笔记
苟日新,日日新,又日新。
由于人的记忆力是有限的,所以我们应该记录自己常年积累的知识。
tools
Powershell
一.开启 powershell
-
win + R输入powershell -
管理员身份运行
Ctrl + Shift + Enter
PowerShell 升级和 Windows Terminal 配置
- 查看 PowerShell 当前版本
$PSVersionTable
- 更新 PowerShell
添加中科大镜像源
winget source add --name winget --arg https://mirrors.ustc.edu.cn/winget-source
winget search PowerShell # 查询可用的 PowerShell 包
- 安装(微软发布的 PowerShell)
winget install --id Microsoft.PowerShell -e
- 打开 Windows Terminal 的 settings.json 并修改配置(示例,替换为你的 GUID)
{
"defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
"profiles": {
"list": [
{
"guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
"name": "PowerShell",
"source": "Windows.Terminal.PowershellCore",
"hidden": false
}
]
}
}
二. 文件相关命令
- 进入文件夹
cd .\
- 返回上级目录
cd ..
- 创建目录 / 文件
mkdir .\NewFolder
ni .\file.txt -ItemType File
- 删除文件或目录
rm .\file.txt
- 移动 / 重命名
mv .\source.txt .\dest.txt
- 使用 VS Code 打开当前目录
code .
- 清空回收站(无提示)
Clear-RecycleBin -Force -Confirm:$false
三. 常用命令
环境变量
- 显示环境变量
gci env:
- 设置(追加)环境变量路径
$env:Path += ";C:\你的\路径"
网络配置
- 显示本机 IP
ipconfig
- 测试网络连通性
ping <IP 或 主机名>
- 关闭防火墙(谨慎)
netsh advfirewall set allprofiles state off
- 显示网络统计信息
netstat -an
- 显示本地路由表
route print
- 显示/查询防火墙规则
Get-NetFirewallRule
winget
window提供的包管理工具,类似于apt-get、yum等。
更新
- 查看winget源
winget source list
- 更新源
winget source update
- 更新软件
winget upgrade --all
常用软件
- vscode
winget install --id Microsoft.VisualStudioCode
- git
winget install --id Git.Git
- chrome
winget install --id Google.Chrome
- 7zip
winget install --id 7zip.7zip
- JLC EDA Pro
winget install --id JLC.LCEDA.Pro
- arduino
winget install --id ArduinoSA.IDE.stable
- bandizip
winget install --id Bandisoft.Bandizip
- draw.io
winget install --id JGraph.Draw
- obs-studio
winget install --id OBSProject.OBSStudio
- telegram
winget install --id Telegram.TelegramDesktop
- nano
winget install --id okibcn.nano
- vim
winget install --id vim.vim
- wireguard
winget install --id WireGuard.WireGuard
winget install --id Tencent.QQ
winget install --id Tencent.WeChat
ohmyposh
Git
一.安装 Git
-
官网下载 下载
-
Windows下载
winget install --id Git.Git -e --source winget
- Linux 下载
sudo apt-get install git # Debian/Ubuntu
sudo yum install git # CentOS/RHEL
二.配置 Git
在 powershell 中输入git检测是否配置完成
配置用户
- 初始化 Git 仓库
git init
- 设置用户名和邮箱
git config user.name 'github用户名'
git config user.email '邮箱'
- 查看邮箱用户配置
git config --list
- 配置 git
进入 gitconfig 文件
vim ~/.gitconfig
添加以下内容
[user]
name=ptsfdtz
[email protected]
[http]
proxy=http://127.0.0.1:7890
[https]
proxy=http://127.0.0.1:7890
[init]
defaultBranch=main
[pull]
ff=only
令 git 使用 clash 代理
三.初次提交模板
- 项目初始化
git init
echo "# README" > README.md
git add README.md
git commit -m "First commit"
- 添加远程仓库链接
git remote add origin #仓库链接
- 默认分支 main
git branch -M main
- 提交到 github 仓库
git push -f -u origin main
四.常用命令
- 查看当前状态
git status
- 查看提交记录
git log
- 回退到上一个版本
git reset --hard HEAD^
- 回退到上上个版本
git reset --hard HEAD^^
- 回退到指定版本
git reset --hard HEAD^^
- 分支相关的操作
git branch ##查看分支
git branch <name> ##创建分支
git checkout <name> ##切换分支
git checkout -b <name> ##创建+切换分支
git merge <name> ##合并某分支到当前分支
git merge --no-ff -m "..." <name> ##使用普通模式合并分支,可以显示合并历史
git branch (-m | -M) <oldbranch> <newbranch> ##重命名分支
git branch -d <name> ##删除分支
git branch -D <name> ##强行删除未合并分支
git log --graph ##查看分支合并图
git log --graph --pretty=oneline --abbrev-commit ##也可以查看分支合并图
git tag <num>
git push --tags
docker
wireguard
一.安装 wireguard
在服务端安装
- 获取 root 权限
sudo i
- 安装 wireguard 软件
apt install wireguard resolvconf -y
- 开启ip转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
二.配置服务端
配置服务端公钥和私钥
- 进入配置存储目录,调整目录权限
sudo su #切换到root用户
cd /etc/wireguard/
umask 077 #调整目录默认权限
- 生成服务器密钥
wg genkey > server.key #生成私钥
wg pubkey < server.key > server.key.pub #通过私钥生成公钥
- 生成客户端密钥(client1)
wg genkey > client1.key #生成私钥
wg pubkey < client1.key > client1.key.pub #通过私钥生成公钥
显示所有生成的密钥
cat server.key && cat server.key.pub && cat client1.key && cat client1.key.pub
创建服务器配置文件
nano /etc/wireguard/wg0.conf
添加服务器配置文件内容
[Interface]
PrivateKey = $(cat server.key) # 填写本机的privatekey 内容
Address = 10.0.8.1 #本机虚拟局域网IP
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
#注意eth0需要为本机网卡名称
ListenPort = 50814 # 监听端口
DNS = 8.8.8.8
[Peer]
PublicKey = $(cat client1.key.pub) #自动client1的公钥
AllowedIPs = 10.0.8.10/32 #客户端所使用的IP" > wg0.conf
查看你的默认网卡
ip route list table main default
如果网卡不正确更改默认网卡 将 eth0 改为enp4s0
启动服务
wg-quick up wg0 #启动wg0
wg-quick down wg0 #关闭wg0
配置客户端
- 下载客户端
下载链接:https://www.wireguard.com/install/
- 配置客户端
新建隧道
- 配置隧道
[Interface]
PrivateKey = 6M8HEZioew+vR3i53sPc64Vg40YsuMzh4vI1Lkc88Xo= #此处为client1的私钥
Address = 10.0.8.10 #此处为peer规定的客户端IP
MTU = 1500
[Peer]
PublicKey = Tt5WEa0Vycf4F+TTjR2TAHDfa2onhh+tY8YOIT3cKjI= #此处为server的公钥
AllowedIPs = 10.0.8.0/24 #此处为允许的服务器IP
Endpoint = 114.132.56.178:50814 #服务器对端IP+端口
配置防火墙
允许端口转发
- 进入配置文件
sudo vim /etc/sysctl.conf
- 编辑内容
net.ipv4.ip_forward=1
- 重启防火墙
sudo sysctl -p
重启防火墙
- 查看防火墙是否启动成功
sudo ufw status
- 如果防火墙未启动,则启动防火墙
ufw allow 51820/udp
查看是否连接成功
客户端
ping 10.0.8.1
服务器
sudo tcpdump -envi wg0
设置服务器开机启动wireguard
systemctl enable wg-quick@wg0
参考
nano
一. linux安装
sudo apt update && sudo apt install nano -y # Debian/Ubuntu系统
sudo yum install nano -y # CentOS/RHEL系统
sudo dnf install nano -y # Fedora系统
二. Windows安装
winget install --id Nano.Nano -e --source winget
三. 配置
nano ~/.nanorc
添加以下内容
set linenumbers
set mouse
set autoindent
set softwrap
include "/usr/share/nano/*.nanorc"
四. 使用
nano 文件名
# 保存文件: Ctrl + O
# 退出 nano: Ctrl + X
# 查找文本: Ctrl + W
# 剪切文本: Ctrl + K
# 粘贴文本: Ctrl + U
# 撤销操作: Alt + U
# 重做操作: Alt + E
vim
languages
nodejs
安装NVM
windows下推荐使用nvm-windows
Linux和macOS下推荐使用nvm
使用NVM安装Node.js
nvm install <version>
nvm use <version>
全局安装包
npm install -g <package-name>
- pnpm:
npm install -g pnpm
- yarn:
npm install -g yarn
- typescript:
npm install -g typescript
- ts-node:
npm install -g ts-node