我的笔记

苟日新,日日新,又日新。

由于人的记忆力是有限的,所以我们应该记录自己常年积累的知识。

tools

Powershell

一.开启 powershell

  1. win + R 输入 powershell

  2. 管理员身份运行 Ctrl + Shift + Enter

PowerShell 升级和 Windows Terminal 配置

  1. 查看 PowerShell 当前版本
$PSVersionTable
  1. 更新 PowerShell

添加中科大镜像源

winget source add --name winget --arg https://mirrors.ustc.edu.cn/winget-source
winget search PowerShell # 查询可用的 PowerShell 包
  1. 安装(微软发布的 PowerShell)
winget install --id Microsoft.PowerShell -e
  1. 打开 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
      }
    ]
  }
}

二. 文件相关命令

  1. 进入文件夹
cd .\
  1. 返回上级目录
cd ..
  1. 创建目录 / 文件
mkdir .\NewFolder

ni .\file.txt -ItemType File
  1. 删除文件或目录
rm .\file.txt
  1. 移动 / 重命名
mv .\source.txt .\dest.txt
  1. 使用 VS Code 打开当前目录
code .
  1. 清空回收站(无提示)
Clear-RecycleBin -Force -Confirm:$false

三. 常用命令

环境变量

  1. 显示环境变量
gci env:
  1. 设置(追加)环境变量路径
$env:Path += ";C:\你的\路径"

网络配置

  1. 显示本机 IP
ipconfig
  1. 测试网络连通性
ping <IP 或 主机名>
  1. 关闭防火墙(谨慎)
netsh advfirewall set allprofiles state off
  1. 显示网络统计信息
netstat -an
  1. 显示本地路由表
route print
  1. 显示/查询防火墙规则
Get-NetFirewallRule

winget

window提供的包管理工具,类似于apt-get、yum等。

更新

  1. 查看winget源
winget source list
  1. 更新源
winget source update
  1. 更新软件
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
  • QQ
winget install --id Tencent.QQ
  • wechat
winget install --id Tencent.WeChat

ohmyposh

Git

一.安装 Git

  1. 官网下载 下载

  2. Windows下载

winget install --id Git.Git -e --source winget
  1. Linux 下载
sudo apt-get install git # Debian/Ubuntu
sudo yum install git     # CentOS/RHEL

二.配置 Git

在 powershell 中输入git检测是否配置完成

配置用户

  1. 初始化 Git 仓库
git init
  1. 设置用户名和邮箱
git config user.name 'github用户名'
git config user.email '邮箱'
  1. 查看邮箱用户配置
git config --list
  1. 配置 git

进入 gitconfig 文件

vim ~/.gitconfig

添加以下内容

[user]
    name=ptsfdtz
    email=pitousanfadetuzi@gmail.com
[http]
    proxy=http://127.0.0.1:7890
[https]
    proxy=http://127.0.0.1:7890
[init]
    defaultBranch=main
[pull]
    ff=only

令 git 使用 clash 代理

三.初次提交模板

  1. 项目初始化
git init
echo "# README" > README.md
git add README.md
git commit -m "First commit"
  1. 添加远程仓库链接
git remote add origin #仓库链接
  1. 默认分支 main
git branch -M main
  1. 提交到 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

在服务端安装

  1. 获取 root 权限
sudo i
  1. 安装 wireguard 软件
apt install wireguard resolvconf -y
  1. 开启ip转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

二.配置服务端

配置服务端公钥和私钥

  1. 进入配置存储目录,调整目录权限
sudo su #切换到root用户
cd /etc/wireguard/
umask 077 #调整目录默认权限
  1. 生成服务器密钥
wg genkey > server.key #生成私钥
wg pubkey < server.key > server.key.pub #通过私钥生成公钥
  1. 生成客户端密钥(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

配置客户端

  1. 下载客户端

下载链接:https://www.wireguard.com/install/

  1. 配置客户端

新建隧道

  1. 配置隧道
[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+端口

配置防火墙

允许端口转发

  1. 进入配置文件
sudo vim /etc/sysctl.conf
  1. 编辑内容
net.ipv4.ip_forward=1
  1. 重启防火墙
sudo sysctl -p

重启防火墙

  1. 查看防火墙是否启动成功
sudo ufw status
  1. 如果防火墙未启动,则启动防火墙
ufw allow 51820/udp

查看是否连接成功

客户端

ping 10.0.8.1

服务器

sudo tcpdump -envi wg0

设置服务器开机启动wireguard

systemctl enable wg-quick@wg0

参考

  1. bilibili

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>
  1. pnpm:
npm install -g pnpm
  1. yarn:
npm install -g yarn
  1. typescript:
npm install -g typescript
  1. ts-node:
npm install -g ts-node  

go

python

rust

C/C++

devops

ci_cd

kubernetes

nginx

prometheus

grafana

frontend

react

vue

nextjs

svelte

vite

tailwindcss

backend

gin

fastapi

desktop

electron

tauri

wails

react-native

database

mysql

postgresql

redis