中间件开发中的 Linux 高级命令

#Technomous #Linux

1. 复制挂载在 /app 的设备内容

mount | grep -w /app | awk '{print $1}' | xargs -n1 -I dev dd if=dev of=/opt/update/app.img

说明:

2. 查看 /app 的文件系统占用情况(df)

df /app | grep -w "/app"

说明:

3. 查找 /app 上挂载的 ext4 文件系统(mount)

mount | grep "on /app type ext4"

说明:过滤出挂载到 /app 且文件系统类型为 ext4 的条目。

4. 从 /etc/mtab 中查找 /app 对应的 ext4 条目

cat /etc/mtab | grep "/app ext4"

说明:

5. 查看当前进程使用的 /app 挂载信息

cat /proc/self/mounts | grep /app

说明:显示当前 进程视角 下的挂载信息。

6. 重新以可写方式挂载 /app 文件系统

mount -o remount,rw /app

说明:

Warning

  • df:关注磁盘空间占用

  • mount:关注挂载点、文件系统类型与参数

  • /etc/mtab:可能是 /proc/self/mounts 的软链接

7. 杀死与 /app 有关的进程

ps -ef | grep /app | grep -v grep | awk '{print $2}' | xargs -n1 -I {} sudo kill -9 {}

说明:

8. 查看指定进程打开的文件(lsof)

lsof -p PID

说明:显示该 PID 打开的文件/目录/端口等。

9. 关闭正在使用 /app 的进程(fuser)

fuser -ck /app

说明:

10. 筛选带“FOTA”字样的进程及其 nice 值

ps ax -o nice,pid,comm | grep FOTA

11. 禁用 motionwise 服务自启动(systemd)

systemctl disable motionwise

12. 查找处于监听状态的网络连接

netstat -anlt | grep LISTEN

说明:

13. 拒绝发送 IGMP 数据包

iptables -A OUTPUT -p igmp -j DROP

要跨重启生效需保存防火墙规则。

14. 拒绝发送 TCP RST 数据包

iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP

15. 调整 UDP 接收缓冲区最大值

sysctl -w net.core.rmem_max=17039360

16. 每秒统计 UDP 协议信息(watch)

watch -n 1 netstat -s udp