Linux 辅助命令集
1. systemctl
A. 语法:systemctl [OPTIONS...] {COMMAND} ...
B. 参数说明:
start:立刻启动后面接的unit;
stop:立刻关闭后面接的unit;
restart:立刻关闭然后再启动后面接的unit;
reload:在不关闭后面接的unit情况下,重载配置文件让其生效;
enable:设定下次开机时,后面接的unit会被启动;
disable:设定下次开机时,后面接的unit不会被启动;
status:目前后面接的这个unit的状态,会列出是否正在执行、是否开机启动等信息;
is-active:目前unit有没有正在运行中,常用在shell里判断服务状态,如:
STATUS=`systemctl is-active nginx.service`
if [[ ${STATUS} == 'active' ]]; then
echo "123";
fi
C. 配置文件
# 服务的说明 [Unit] # 描述服务 Description=redis # 描述服务类别 After=network.target # 服务运行参数的设置 [Service] # 启动时进程运行的形式,simple:默认值,执行ExecStart指定的指令,启动主进程;forking:以fork方式从父进程创建子进程,创建后父进程会立即退出;oneshot:一次性进程,Systemd会等当前服务退出,再继续往下执行;dbus:当前服务通过D-Bus启动;notify:当前服务启动完毕,会通知Systemd,再继续往下执行;idle:若有其他任务执行完毕,当前服务才会运行 Type=forking # 启动命令(如果要执行多个命令,那么多个命令之间用;分割,如果需要换行可以用 来续行) ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf # 停止命令 ExecStop=/usr/local/redis/bin/redis-cli shutdown # 重新启动触发方式 Restart=always # 重新启动时间间隔 RestartSec=5 # 服务安装的设置 [Install] # 用户的模式 WantedBy=multi-user.target
2. ipset
A. 添加条目:ipset add SETNAME ENTRY;
B. 查询IP条目:ipset list [SETNAME];
C. 删除条目:ipset del SETNAME ENTRY;
可参考:ipset详解
3. ip route
A. 作用:route设置的路由主要是静态路由,要实现两个不同子网之间的通信,需要一台连接两个网络的路由器或网关,在Linux中将这台机器的IP地址设置为默认路由,路由要想永久生效需在/etc/rc.local中添加;
B. 查看路由表:ip route;
C. 添加路由:ip route add 192.168.1.0/24 via 192.168.1.254;
4. curl
A. 作用:curl是用在命令行和脚本进行传输数据到服务器或者从服务器传输数据的工具;
B. 语法:curl [options] [URL...],如:
C. 参数:
-k:允许使用非安全性的ssl连接并且传输数据,前提是证书不可信;
-X:指定协议,如POST、Get,默认值Get;
-H:增加请求头Head;
-d:用于post请求时表单提交数据,请求类型将被设置为"application/x-www-form-urlencoded",可以自定义为json数据;
-I:只显示请求头信息;
-m:限制整个CURL最长传输时间,单位是秒;
-o /dev/null:屏蔽输出内容
-s:安静模式,不要显示进度条或错误信息;
-w:操作完成后在返回信息尾部追加指定的内容,可以使用%{variable_name}方式来用响应信息的相关变量
D. 使用场景
场景一:发送请求,如:curl -k -X "POST" "https://127.0.0.1:3018/api/face/Heartbeat" -H 'Content-Type: application/json' -d '{ "Function": "RUXY_Heartbeat", "LoginIdCard": "41140819930941", "DeviceSn": "1234567890"}' ;
场景二:URL检测,如:curl -k https://127.0.0.1:8700/gateway/rhxy/api/logout/admin -I -o /dev/null -s -w %{http_code};
场景三:文件断点下载,如:curl -i --range 0-9 http://www.baidu.com/img/badlogo.gif。
5. dmesg-诊断机器故障
A. dmesg命令主要用来显示内核信息,可以有效诊断机器硬件出现的问题,每次系统重启,系统都会检查所有硬件并将信息记录下来,存储在/var/log目录中;
B. 打印并清除内核环形缓冲区:dmesg -c;
C. 以可读性较好的形式输出信息:dmesg -H;
D. 实时监控dmesg日志的输出信息:watch "dmesg | tail -100";
6. tcpping——衡量延迟
A. 先安装tcptraceroute和bc依赖:yum install tcptraceroute、yum install bc;
B. 安装tcpping:wget http://www.vdberg.org/~richard/tcpping、cp tcpping /usr/bin、chmod 755 tcpping;
C. 语法:tcpping [-d] [-c] [-r sec] [-x count] ipaddress [端口]
-d:在每个结果之前打印时间戳;
-r:连续探测之间的间隔,默认1s;
7. 其他
A. 获取Linux上唯一标识符bios_id:cat /sys/class/dmi/id/product_uuid;
可参考:iproute2路由配置(ip rule、ip route、traceroute)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗