Linux 常用命令/脚本
计算某个文件的增长速度
n=5; file="./test"; size1=$(stat -c%s "$file"); sleep $n; size2=$(stat -c%s "$file"); growth=$(echo "scale=2; ($size2 - $size1) / $n" | bc); if (( $(echo "$growth >= 1073741824" | bc) )); then echo "$(echo "scale=2; $growth / 1073741824" | bc) GB/s"; elif (( $(echo "$growth >= 1048576" | bc) )); then echo "$(echo "scale=2; $growth / 1048576" | bc) MB/s"; else echo "$growth B/s"; fi
删除几点前的所有文件
find ./ -type f -not -newermt "$(date '+%Y-%m-%d 22:00:00')" -delete
按照 ip 进行排序
tailscale status | awk '{print $1 ,$2}' | sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4
设置系统时区
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
提取主机名并去重
cat host.yml | grep yzh | sed 's/://g' | tr -d ' ' | sort|uniq | tr '\n' ',' | sed 's/,$//g'
- sed ’s/://g’: 移除行中的冒号。
- tr -d ’ ‘: 删除行中的空格。
- sort: 对结果进行排序,以便 uniq 可以有效工作。
- uniq: 去重相邻的重复行。
- tr ‘\n’ ‘,’: 将换行符替换为逗号。
- sed ’s/,$//g’: 去掉末尾的逗号。
cpu/内存 使用最高的 10 个进程
ps -eo pid,ppid,user,command,%cpu,%mem --sort=-%cpu | head -n 10
ps -eo pid,ppid,user,command,%cpu,%mem --sort=-%mem | head -n 10