跳到主要内容

Common Commands

getent​

getent 是 Linux/Unix 系统中用来查询系统数据库的命令,名字来自 "get entries"。它读取由 NSS(Name Service Switch,配置文件为 /etc/nsswitch.conf)支持的各种数据库,包括本地文件、LDAP、NIS、DNS 等来源,统一返回结果。

常用数据库及示例:

getent passwd # 列出所有用户
getent passwd root # 查询指定用户
getent group # 列出所有用户组
getent group sudo # 查询指定组及其成员
getent hosts # 主机名解析(类似 /etc/hosts + DNS)
getent hosts google.com
getent services ssh # 查询服务端口
getent networks # 网络信息

ab​

apache bench, 命令行压力/基准测试工具

安装​

使用 ab -V 验证安装

# debian/ubuntu
apt install apache2-utils

# centos
yum install httpd-tools

用法​

参数含义示例
-n <数字>总请求数(必填)-n 1000
-c <数字>并发连接数-c 50
-t <秒>测试持续时间(优先于 -n)-t 60
-k启用 HTTP Keep-Alive(复用连接)-k
-p <文件>POST 数据文件(需配合 -T)-p data.json
-T <类型>设置 Content-Type-T application/json
-H "<头>"自定义请求头(可多次使用)-H "Authorization: Bearer xxx"
-C "<cookie>"添加 Cookie-C "sessionid=abc123"
-A user:passHTTP Basic Auth 认证-A admin:123456
-s <秒>单个请求超时时间(默认 30 秒)-s 10
-r出错时不退出(继续测试)-r
-v <级别>详细输出(1~4)-v 3
-w以 HTML 表格形式输出结果-w > result.html
-e <文件>输出响应时间分布为 CSV-e latency.csv
-g <文件>输出 gnuplot 格式数据(用于绘图)-g plot.dat

1. GET 请求​

ab -n 20000 -c 2000 -k http://api.example.com/v1/status

2. POST 请求​

# 创建 postdata.json
echo '{"username":"test","password":"123"}' > postdata.json

ab -n 1000 -c 50 -p postdata.json -T application/json http://localhost/login

3. 携带 Token​

ab -n 1000 -c 20 -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6..." http://localhost/api/user

pidof​

根据进程名称查找其进程 ID (PID)


killall​

通过进程名称来批量终止所有匹配的进程

安装​

yum install -y psmisc

nproc​

返回当前进程可用的核心数