编辑
2024-10-27
LinuxNotes
00

示例

bash
find /path/to/search -type f -size +2G

命令解析:

  • /path/to/search:替换为你要搜索的目录路径。
  • -type f:仅查找文件,不包括目录。
  • -size +2G:筛选出大小超过 2GB 的文件。
编辑
2024-10-13
TechNotes
00

报错信息

powershell
(base) PS C:\Users\30372> wsl WSL 正在完成升级... Could not write value to key \SOFTWARE\Classes\Directory\shell\WSL. Verify that you have sufficient access to that key, or contact your support personnel. 更新失败(退出代码: 1603)。 错误代码: Wsl/CallMsi/Install/ERROR_INSTALL_FAILURE

image.png

解决过程

个人分析(吐槽)

在网上查找资料, 动不动就是改注册表, 重新安装, 这些方法在我看来,修改注册表是有一定风险的, 而重新安装治标不治本, 都不太靠谱🤔。

使用Get-Service wuauserv命令检查 Windows Update 服务, 根据分享和经验判断无法自动更新, 并使用 wsl --update 命令手动都无法更新成功, 可能是wsl无法正常退出, 进程仍在启用, 导致无法更新成功.

  • 使用以下命令停止和启用wsl服务
powershell
dism.exe /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart
  • 使用 DISM 工具禁用 Windows Subsystem for Linux (WSL) 功能
    • dism.exe: 这是 Windows 提供的用于服务和管理部署映像的工具。
    • /online: 表示在当前正在运行的操作系统环境下操作,而不是针对离线的 Windows 映像。
    • /disable-feature: 禁用指定的功能(在本例中为 WSL 功能)。
    • /featurename:Microsoft-Windows-Subsystem-Linux: 指定要禁用的功能名称是 "Microsoft-Windows-Subsystem-Linux",也就是 WSL。
    • /norestart: 禁用功能后不自动重启计算机,你可以在后续操作后手动重启。
  • 使用 DISM 工具重新启用 Windows Subsystem for Linux (WSL) 功能
    • /enable-feature: 启用指定的功能(在本例中为 WSL 功能)。
    • 其他参数与禁用时的参数一致,即在当前系统中操作并且不自动重启。
编辑
2024-10-12
TechNotes
00
功能描述PowerShell 命令Linux 命令
查看当前目录Get-Locationpwd
列出目录内容Get-ChildItemls
切换目录Set-Location <path>cd <path>
创建文件夹New-Item -ItemType Directory <name>mkdir <name>
创建文件New-Item <filename>touch <filename>
删除文件Remove-Item <filename>rm <filename>
复制文件/文件夹Copy-Item <source> <destination>cp <source> <dest>
移动文件/文件夹Move-Item <source> <destination>mv <source> <dest>
查看文件内容Get-Content <filename>cat <filename>
查找文件Get-ChildItem -Recurse -Filter <name>find <path> -name <name>
获取进程列表Get-Processps
杀死进程Stop-Process -Id <PID>kill <PID>
查看服务状态Get-Servicesystemctl status <service>
启动服务Start-Service <service>systemctl start <service>
停止服务Stop-Service <service>systemctl stop <service>
列出网络接口Get-NetAdapterip aifconfig
查看系统信息Get-ComputerInfouname -a
获取帮助信息Get-Help <cmdlet>man <command>
环境变量$env:<Variable>echo $<Variable>
读取日志Get-EventLogjournalctl
重启系统Restart-Computerreboot
编辑
2024-09-26
TechNotes
00

脚本内容

awk
#!/usr/bin/awk -f # BEGIN 块会在读取输入之前执行,类似于 C 中的 main 函数 BEGIN { # 通过循环读取 /proc/cpuinfo 文件中的每一行,直到匹配到包含 "flags" 的行 while (!/flags/) if (getline < "/proc/cpuinfo" != 1) exit 1 # 检查 CPU 是否支持基本的 x86-64 指令集 if (/lm/&&/cmov/&&/cx8/&&/fpu/&&/fxsr/&&/mmx/&&/syscall/&&/sse2/) level = 1 # 如果支持基本指令集,还进一步检查是否支持更多扩展指令集 if (level == 1 && /cx16/&&/lahf/&&/popcnt/&&/sse4_1/&&/sse4_2/&&/ssse3/) level = 2 # 检查是否支持 AVX 和 AVX2 指令集,这些是高性能运算的关键 if (level == 2 && /avx/&&/avx2/&&/bmi1/&&/bmi2/&&/f16c/&&/fma/&&/abm/&&/movbe/&&/xsave/) level = 3 # 检查是否支持最新的 AVX512 指令集扩展,极大提升了高端运算性能 if (level == 3 && /avx512f/&&/avx512bw/&&/avx512cd/&&/avx512dq/&&/avx512vl/) level = 4 # 如果支持任何版本的 x86-64 指令集,输出对应的版本并退出 if (level > 0) { print "CPU supports x86-64-v" level; exit level + 1 } # 如果没有匹配到支持的指令集,脚本以退出码 1 结束 exit 1 }
编辑
2024-09-25
Network
00
层次名称作用识别正确路径的方法数据名称
7应用层 (Application)处理应用程序与网络之间的交互,提供网络服务,如 HTTP、FTP 等。不涉及路径识别数据(Data)
6表示层 (Presentation)处理数据的表示、编码和解码,负责数据格式转换和加密解密。不涉及路径识别数据(Data)
5会话层 (Session)管理会话(连接),控制用户会话的建立、维持和终止。不涉及路径识别数据(Data)
4传输层 (Transport)提供端到端的通信,确保数据的完整性与顺序,负责流量控制和错误恢复。通过端口号识别应用服务段(Segment)
3网络层 (Network)处理数据包的路由和转发,管理网络地址和逻辑寻址,如 IP 协议。通过 IP 地址识别正确路径数据包(Packet)
2数据链路层 (Data Link)处理物理地址(MAC 地址)和帧的传输,确保在同一网络上的数据传输。通过 MAC 地址识别本地网络设备帧(Frame)
1物理层 (Physical)负责物理介质的传输,如电缆、光纤等,处理比特流的传输。不涉及路径识别比特(Bits)

解释:

  • 应用层: 用户直接交互的层,如 Web 浏览器或电子邮件客户端。
  • 表示层: 数据的格式转换,如从 ASCII 转为 EBCDIC,或数据加密。
  • 会话层: 维护用户会话,确保会话管理的有效性。
  • 传输层: 确保数据包从源到目标的完整传输,如 TCP 或 UDP 协议。
  • 网络层: 选择最佳路径并转发数据包到目标地址。
  • 数据链路层: 确保数据帧在局域网内正确传输,处理物理地址。
  • 物理层: 传输原始比特流,通过物理介质进行数据传输。