问题:
login Ubuntu 显示 There is 1 zombie process.
解决:
ps axo stat,ppid,pid,comm | grep -w defunct
sudo kill -9 <ppid>
20年的微软 VScode 用户,在 Windows 一直很方便,在 Macbook 上,要使用 cquery 插件,但是作者停止更新超过五年了,连 GitHub 上的仓库都关了,没了 repo,Apple Silicon 编译不了 cquery。
解决方法是使用 cquery 的一个个人开发的分支 ccls,现在有了一个更加稳定的官方项目,llvm 官方团队的 clangd,基于 Clang C++ Compiler,默认集成到了 llvm 项目中,安装 llvm 后即可使用。
1.安装 llvm。
$ brew install llvm
2.打开 VScode,搜索"clangd"安装 clangd 插件。
3.关闭 VScode 中 C/C++ 插件的智能提示功能。
"C_Cpp.intelliSenseEngine": "Disabled",
4.为工程生成 compile_commands.json 文件,clangd 需要它来分析依赖关系。
使用 CMake 编译时,需要添加参数
$ cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=YES
或在 CMakeLists.txt 里,指定生成
set(CMAKE_EXPORT_COMPILE_COMMANDS YES)
生成的 compile_commands.json 文件可能在 build 目录下,这时需要在项目主目录里创建一个该文件的软链
ln -s build/compile_commands.json .
重启 vscode,或者 CMD+Shift+P 输入 Reload Window
忘记 Windows 登录密码或 PIN 后,需要重置密码,可以尝试以下方式。
本地账户密码
1.使用PE启动盘,运行账号密码修改工具。
2.如果是 Windows10 或 Windows11 系统:
按住shift键并重启电脑,在恢复模式中选择【疑难解答】-【高级选项】-【命令提示符】,输入替换命令
copy c:\windows\system32\utilman.exe c:\windows\system32\utilman-bak.exe
copy c:\windows\system32\cmd.exe c:\windows\system32\utilman.exe
重启,在登录界面点击右下角辅助功能,打开 CMD,输入
net localgroup administrators
找到需要修改的账号 XXXXXX,然后执行
net user XXXXXX *
修改密码,然后重启登录。
微软账户PIN
方法1
按住shift键并重启电脑,在恢复模式中选择【疑难解答】-【高级选项】-【命令提示符】,Loading ,选择账户 ,输入密码 ,进入命令提示符执行
copy c:\windows\system32\utilman.exe c:\windows\system32\utilman-bak.exe
copy c:\windows\system32\cmd.exe c:\windows\system32\utilman.exe
重启后点击右下角辅助功能【轻松使用】 按钮进入命令提示符。
输入 msconfig,打开【系统配置】,将启动选择改为正常启动,重启就可以正常输入PIN进入系统了。
方法2
按住shift键并重启电脑,在恢复模式中选择【疑难解答】-【高级选项】-【命令提示符】,输入替换命令
copy c:\windows\system32\utilman.exe c:\windows\system32\utilman-bak.exe
copy c:\windows\system32\cmd.exe c:\windows\system32\utilman.exe
重启,在登录界面点击右下角辅助功能,输入打开注册表命令 regedit,修改
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device
里的
DevicePasswordLessBuildVersion
将值改为 0,重启后输入正确的微软账号密码就能登陆了。
Good Luck!
ls 命令
---例---列出 /data/log/ 中的20个最大文件:
ls -lSh /data/log/ | head -20
find 命令
---例---查找 /etc 下最大的5个文件:
find /etc -type f -printf “%s\t%p\n” | sort -n | tail -5 | xargs ls -Slh
---例---查找当前用户名下最大的10个文件:
find $HOME -type f -printf “%s\t%p\n” | sort -nr | head -10 | xargs ls -Slh
---例---查询大于200M的文件:
find / -type f -size +200M | xargs ls -Slh
---例---查询100M和200M之间的文件:
find / -type f -size +100M -size +200M | xargs ls -Slh
---例---查询 root 下最大的5个文件:
find /root -type f -exec ls -s {} ; | sort -n | tail -n5 | xargs ls -Slh
---例---查询根目录下10天以前最大的5个文件:
find / -type f -mtime +10 -printf “%s\t%p\n” | sort -n | tail -5 | xargs ls -Slh
du 命令
---例---查找/root下5个最大的文件:
du -ah /root | sort -nr | head -n5
---例---查找当前目录下最大的5个目录:
du -ah | sort -nr | head -n5
---例---查找根目录下最大目录/文件(包括子文件夹):
du -Sh / | sort -rh | head -n10
---例---只看大小在 GB 范围内的所有文件:
du -ah / | grep “[0-9]G\b”
命令参数
find
-exec<执行指令>:假设find指令的回传值为True,就执行该指令;
-mtime n 查找系统中最后n天被改变文件数据的文件 +大于 -小于
-type 查找某一类型的文件
b -块设备文件;
c -字符设备文件;
d -目录;
p -管道文件;
f -普通文件;
l -符号链接文件;
s -socket文件;
-printf<输出格式>:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式可以自行指定;
sort:
-n 依照数值的大小排序;
-r 以相反的顺序来排序;
xargs: 传递参数
ls
-Slh
-Sl 从大到小显示详情
-Slr 从小到大显示详情
-h humans 以人类易读的方式显示(正常情况下显示为bit,加上-h后 显示的为KB MB GB TB等)
du
-a 显示所有目录或文件的大小
-h 以K,M,G为单位,提高信息可读性
-S 显示目录的大小,但不含子目录大小
综合
curl -sL yabs.sh | bash
CPU
curl -sL yabs.sh | bash -s -- -fi
硬盘
curl -sL yabs.sh | bash -s -- -ig
网络
curl -sL yabs.sh | bash -s -- -fg
回程路由
BestTrace
curl -LO https://github.com/chika0801/tool/raw/main/besttrace && chmod +x besttrace
./besttrace --tcp IP
NextTrace
bash <(curl -Ls https://raw.githubusercontent.com/xgadget-lab/nexttrace/main/nt_install.sh)
nexttrace -T -table IP
nexttrace -U -table IP
MTR
apt install -y mtr
mtr --tcp --psize 1400 IP
mtr --udp IP
流媒体解锁
bash <(curl -L -s check.unlock.media)
或
curl -Lo nf https://github.com/sjlleo/netflix-verify/releases/download/v3.1.0/nf_linux_amd64 && curl -Lo ytb https://github.com/sjlleo/TubeCheck/releases/download/1.0Beta/tubecheck_1.0beta_linux_amd64 && chmod +x nf ytb
./nf && ./ytb
测速
curl -L https://raw.githubusercontent.com/chika0801/tool/main/speedtest.sh | bash
在线测速
curl -sSL https://get.docker.com/ | sh && systemctl enable docker && systemctl start docker
docker run -d -p 5000:80 badapple9/speedtest-x
IP:5000