Windows、Linux、macOS操作系统 - 高级用法 | Systemd、WMI/CIM
综合/最新
操作系统、跨平台
通用
多层 SSH 跳转 ssh -J user1@jumpA,user2@jumpB root@最终目标IP;或 ssh + ProxyCommand cloudflared 命令中转方式。
标准
POSIX:
Shell 命令最低支持程度 - Shell & Utilities 卷 -> Utilities 段(SYNOPSIS 后不跟任何“[*]”标记则为必需命令)
Windows
CIM(已取代WMI): CIM 比 Shell 执行快十倍左右,CimSession 会话复用还可以提升调用性能。 HDMI显卡欺骗器 - 电脑或设备未插显示器,系统不知提供何种分辨率画面,故会黑屏或不启用 GPU。 远程桌面客户端点击窗口×断开后,被控电脑会进入睡眠,通过被控机“关机或注销”->“断开连接”可保持活动状态。 远程桌面客户端阻止电脑休眠 - https://www.volcengine.com/article/91349
Linux
Arduino/OpenWRT/树莓派 新: 无。 常用: ping 命令安装 sudo apt install iputils-ping 延迟数秒执行脚本(或带单位--on-active="1h 30m") systemd-run --on-active=5 /bin/touch /tmp/foo 无 systemd 环境延迟执行 (sleep 3 && echo "或换为 curl ...") 2>&1 & CPU 指令级别: /lib64/ld-linux-x86-64.so.2 --help 输出尾部含 supported 字样即为支持(根据 CPUID 扩展指令/下文最高为 v3 level):[设为开机启动] sudo systemctl enable our-sys-init.service sudo systemctl restart our-sys-init.service sudo systemctl status our-sys-init.service 使配置有效 sudo systemctl daemon-reload 当次启动日志( --lines=10 或持续输出 -f ) journalctl -u our-sys-init.service --boot 桌面 GUI 非 Headless 启动:Subdirectories of glibc-hwcaps directories, in priority order: x86-64-v4 x86-64-v3 (supported, searched) x86-64-v2 (supported, searched) AArch64 用 /lib/ld-linux-aarch64.so.1 --help 似乎无特性级别。声音: ALSA - 所有 Linux 底层的硬件驱动框架。 用户层则用 PipeWire 取代了 PulseAudio: wpctl status 开机启动: Systemd: 终端文本阶段 - multi-user.target 等同 runlevel 3 图形界面阶段 - graphical.target 等同 runlevel 5 转义 - 字符>必须框在'单引号'内? ExecStart=/bin/sh -c 'echo 9 > /tmp/x' 禁用日志 - Standard...=null [开机执行] sudo vim.tiny /etc/systemd/system/our-sys-init.service[Unit] Description=Our [Service] ExecStart=/home/pi/app/bin/app #ExecStart=java -m jdk.httpserver #ExecStartPre=/usr/bin/chmod +x /home/ubuntu/app.bin #StateDirectory=var-lib #CacheDirectory=var-cache [Install] WantedBy=multi-user.target[Unit] Description=Our [Service] # 按顺序执行多个 ExecStart Type=oneshot ExecStart=/usr/sbin/nft insert rule ip filter INPUT tcp dport { 80, 443, 8000 } accept ExecStart=/usr/sbin/nft insert rule ip filter INPUT udp dport { 4433 } accept #StandardOutput=null #StandardError=null #User=ubuntu [Install] WantedBy=multi-user.target ## 非 Headless 应换为: #WantedBy=graphical.target
sudo dd of=/etc/xdg/autostart/demo.desktop << EOF
[Desktop Entry]
Exec=pcmanfm
Type=Application
EOF
树莓派内置命令启动桌面文件(*.desktop 写上 Type=Application) gio launch /usr/share/applications/lxtask.desktop
Java桌面文件写法 Exec=env JAVA_HOME=/home/${USER}/jdk-23.0.2/ JAVA_OPTS=--enable-native-access=ALL-UNNAMED /home/${USER}/app/bin/app
临时测试含桌面程序可加上 env DISPLAY=:0 vlc 或 env DISPLAY=:0 gio launch /etc/xdg/autostart/demo.desktop
查看MIME关联的默认打开方式 gio mime video/mp4 输出 Default application for “video/mp4”: vlc.desktop
gio mime application/x-desktop 输出 geany.desktop 指用 geany 文本编辑器打开,并非直接启动 Exec 指定程序。
首选 gio mime 查询,因 xdg-mime query default application/x-desktop 竟返回空。
设置MIME关联 gio mime video/mp4 vlc.desktop
xdg 命令:
xdg-open /etc/xdg/autostart/demo.desktop
xdg-mime query default inode/directory
xdg-mime query default text/html
NFS:
挂载命令:
sudo apt-get install nfs-common
sudo mkdir -p /mnt/nfs
sudo mount -o nosuid,vers=3 10.x.x.x:/path /mnt/nfs
sudo touch /mnt/nfs/x
sudo ls /mnt/nfs/
sudo umount 10.x.x.x:/path /mnt/nfs
说明 - 云平台提供的NFS服务默认是匿名读写,验证需额外开启,或对 IP 段进行下限制。
显卡:
Debian自带了nouveau驱动用于NVIDIA显卡,只能点亮屏幕而已,如果想安装CUDA或使用大模型,必须先禁掉该驱动再安装NVIDIA官方驱动(约1G大小)。
因Linux内核会小版本自动升级,DKMS 管理的 nvidia 模块需要重新签名,故必须导入 DKMS 公钥,或暂时禁用 UEFI 的 Secure Boot,查看禁用状态 sudo mokutil --sb-state
否则 sudo modprobe nvidia 会报 modprobe: ERROR: could not insert 'nvidia': Key was rejected by service
亲测 Debian 不加 options nouveau modeset=0 选项依然能禁用。
cat <<EOF | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
EOF
sudo update-initramfs -u
sudo reboot
lsmod | grep nouveau # 无输出即禁用成功;暂时由集成显卡接管。
sudo apt update 确保 /etc/apt/sources.list 存在 contrib non-free non-free-firmware
[待测] sudo apt install linux-headers-$(uname -r) 似乎 dkms install 依赖内核头
sudo apt install nvidia-kernel-dkms nvidia-driver firmware-misc-nonfree
sudo reboot
nvidia-smi 显存用量在 Memory-Usage 下一格
[输出N则需配置] sudo cat /sys/module/nvidia_drm/parameters/modeset
cat <<EOF | sudo tee /etc/modprobe.d/nvidia-options.conf
options nvidia-drm modeset=1
EOF
[可选] 主流发行版都将nouveau驱动作为内核的builtin模块了,如果 /etc/modprobe.d/*.conf 方式禁不干净,可在较早生效的 GRUB_CMDLINE_LINUX 中禁之。
sudo vim.tiny /etc/default/grub
追加参数值 GRUB_CMDLINE_LINUX="... modprobe.blacklist=nouveau nvidia-drm.modeset=1"
sudo update-grub sudo reboot
网络/DNS
查询 DNS 记录:
注意 - 查询前应退出代理网络,或 v2rayN.exe -> DNS 进阶设置 -> 阻止 SVCB 和 HTTPS 查询 -> 关闭。
winget install MrKaran.Doggo 安装后必须重启终端,用法 doggo example.com HTTPS "@1.1.1.1"
或 winget install ISC.Bind # Windows 版 dig 不识别 HTTPS 记录,可用 TYPE65 替代,且响应数值为十六进制。
dig example.com TYPE65 "@1.1.1.1"
或 https://github.com/natesales/q 用法 .\q.exe example.com -t HTTPS "@1.1.1.1"
其他
运行 *.exe 弹框:Windows 已保护你的电脑 Microsoft Defender SmartScreen 阻止了无法识别的应用启动。运行此应用可能会导致你的电脑存在风险。