尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

【Linux 系统管理】

【Linux 系统管理】 Linux 系统管理1. 查看系统信息1.1 查看系统架构1.2 查看 CPU 信息2. ps 查看进程3. kill 杀死进程4. top 实时监控5. free 查看内存6. 磁盘管理6.1 mount / umount设备文件挂载 / 卸载6.2 df查看所有已挂载磁盘的使用情况6.3 du统计查看目录和文件大小6.4 磁盘扩容6.4.1 虚拟磁盘扩容新增磁盘流程6.4.2 系统磁盘原地扩容LVM6.4.3 新加磁盘扩容LVM7. 网络管理核心基础命令8. 软件包管理8.1 基础操作8.2 缓存管理8.3 包信息查询8.4 依赖与修复8.5 卸载清理8.6 其他常用9. systemctl9.1 常用命令表9.2 状态字段简单解读systemctl status9.3 系统电源 / 运行级别target9.4 补充服务单元文件位置9.5 journalctl涵盖系统信息查看、进程管理、内存与磁盘管理、网络管理核心命令。1. 查看系统信息1.1 查看系统架构archuname-a1.2 查看 CPU 信息lscpu2. ps 查看进程# 查看帮助ps--helpall# BSD 风格命令psaux# Unix 风格命令ps-ef# 查看进程树父子关系psaxjf# 找到 strace 进程但不包含本条命令psaux|grepstrace|grep-vgrep# 查看完整进程启动命令行cat/proc/1806/cmdline|tr\0 3. kill 杀死进程# 默认发送 SIGTERM-15请求进程正常退出killPID# 强杀-9SIGKILL强制终止进程kill-9PID4. top 实时监控# 进入交互界面后按 M 键按内存使用率降序排序按 P 键按 CPU 使用率降序排序按 q 键退出toptop-ppidtop-uuser5. free 查看内存# 需要重点关注 available 大小因为 Linux 系统会尽可能使用空闲内存做缓存free-h6. 磁盘管理6.1 mount / umount设备文件挂载 / 卸载# 查看系统上挂载的设备列表mount# -t 可省略不指定系统会自动识别文件系统类型mount-tvfat /dev/sdb1 /media/disk# 卸载挂载点umount/media/disk注意mount挂载重启后会失效需要重新挂载可在/etc/fstab文件中配置实现开机自动挂载。6.2 df查看所有已挂载磁盘的使用情况df-h参数作用-h人类可读格式GB/MB-T显示文件系统类型ext4/xfs/ntfs-i显示 inode 使用情况文件数量-t ext4只显示指定类型的文件系统–total显示所有分区总和6.3 du统计查看目录和文件大小# n 是目录层级dir 是目标目录结果从大到小排列du-ah-dndir|sort-hr# 统计当前目录下每个目录大小按从大到小排序取前 10 个du-sh*|sort-hr|head-10参数作用-h人类可读格式GB/MB-s只显示总和不递归列出子目录-a显示所有文件默认只显示目录-c显示总和最后一行-d 1只显示一层子目录–max-depth1–exclude‘*.log’排除日志文件-x只统计当前文件系统不跨越挂载点sort -hr-h按人类可读格式比较大小如 2K、1G-r降序排列从大到小。6.4 磁盘扩容6.4.1 虚拟磁盘扩容新增磁盘流程磁盘分区 fdisk → 创建文件系统 mkfs.ext4 → 挂载使用 mount或修改 /etc/fstab → 卸载使用 umount6.4.2 系统磁盘原地扩容LVM在虚拟化平台如 VMware把磁盘从 20G 改成 40G在操作系统内依次执行growpart扩分区 →pvresize→lvextend→resize2fs/xfs_growfs演示[rootopeneuler0902 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda8:0040G0disk ├─sda18:101M0part ├─sda28:201G0part /boot └─sda38:3019G0part ├─openeuler_openeuler0902-root253:0017G0lvm / └─openeuler_openeuler0902-swap253:102G0lvm[SWAP]sr011:014.5G0rom[rootopeneuler0902 home]# growpart /dev/sda 3CHANGED:partition3start2101248old:size39839744end41940991new:size81784799end83886046[rootopeneuler0902 home]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda8:0040G0disk ├─sda18:101M0part ├─sda28:201G0part /boot └─sda38:3039G0part ├─openeuler_openeuler0902-root253:0017G0lvm / └─openeuler_openeuler0902-swap253:102G0lvm[SWAP]sr011:014.5G0rom[rootopeneuler0902 home]# pvresize /dev/sda3Devicereadshort16896bytes remaining Physical volume/dev/sda3changed1physical volume(s)resized or updated /0physical volume(s)not resized[rootopeneuler0902 home]# lvextend -l 100%FREE /dev/openeuler_openeuler0902/rootDevicereadshort16896bytes remaining Size of logical volume openeuler_openeuler0902/root changed from17.00GiB(4351extents)to37.00GiB(9471extents). Logical volume openeuler_openeuler0902/root successfully resized.[rootopeneuler0902 home]# resize2fs /dev/openeuler_openeuler0902/rootresize2fs1.47.0(5-Feb-2023)Filesystem at /dev/openeuler_openeuler0902/root is mounted on /;on-line resizing required old_desc_blocks3, new_desc_blocks5The filesystem on /dev/openeuler_openeuler0902/root is now9698304(4k)blocks long.6.4.3 新加磁盘扩容LVM服务器插一块新硬盘识别为/dev/sdbpvcreate /dev/sdb创建物理卷vgextend VG名 /dev/sdb把新 PV 加入卷组lvextend把空间分给 LV文件系统扩容重点物理硬盘硬件不能原地扩容只能加盘所以大量使用vgextend。7. 网络管理核心基础命令命令核心用途常用示例ip现代全能网络管理工具替代 ifconfig/routeip a查看 IP、ip link set eth0 up启用网卡、ip route show查看路由ss查看 socket 统计替代 netstat速度更快ss -tuln查看所有监听端口、ss -tup显示进程名ping测试网络连通性与延迟ping -c 4 8.8.8.8发 4 个包traceroute / tracepath追踪到目标的路由路径traceroute -n baidu.com-n 不解析域名更快nslookup / digDNS 解析查询dig 114.114.114.114 baidu.com指定 DNS 服务器curl / wget应用层 HTTP/HTTPS 测试与下载curl -I https://example.com只看响应头8. 软件包管理8.1 基础操作操作Ubuntu aptopenEuler dnf更新软件源apt updatednf makecache安装包apt install xxxdnf install xxx删除包apt remove xxxdnf remove xxx搜索软件apt search xxxdnf search xxx查看已安装apt list --installeddnf list installed系统升级apt upgradednf upgrade8.2 缓存管理操作Ubuntu aptopenEuler dnf清理缓存已下载的安装包apt cleandnf clean all只清理过期的缓存文件apt autocleandnf clean expire-cache8.3 包信息查询操作Ubuntu aptopenEuler dnf查看包详细信息apt show xxxdnf info xxx查看包是否已安装及版本apt list xxxdnf list xxx查询某个文件属于哪个包apt-file search /pathdnf provides /path查看指定命令/文件的来源包dpkg -S /pathrpm -qf /path8.4 依赖与修复操作Ubuntu aptopenEuler dnf检查/修复依赖问题apt --fix-broken installdnf check列出包依赖关系apt depends xxxdnf deplist xxx或dnf repoquery --requires xxx列出被依赖它的包反向依赖apt rdepends xxxdnf repoquery --whatrequires xxx安装本地 deb/rpm 包并自动处理依赖apt install ./xxx.debdnf install ./xxx.rpm8.5 卸载清理操作Ubuntu aptopenEuler dnf删除包并清理配置文件apt purge xxxdnf remove xxxrpm 保留配置自动移除不再需要的依赖包apt autoremovednf autoremove8.6 其他常用操作Ubuntu aptopenEuler dnf查看可升级的软件包apt list --upgradablednf list updates升级单个包apt install --only-upgrade xxxdnf upgrade xxx查看命令帮助apt helpdnf help重新安装某个包apt install --reinstall xxxdnf reinstall xxx查看软件源配置cat /etc/apt/sources.listcat /etc/yum.repos.d/*.repo列出所有软件源仓库apt-cache policydnf repolist9. systemctlsystemctl是systemd的命令行管理工具现代 LinuxUbuntu16.04、openEuler、CentOS7默认使用systemd 是系统 PID1 的一号进程负责系统初始化、后台服务管理、挂载、socket、定时器等单元unit管理。一句话管理系统后台服务控制启停、开机自启、查看状态管理系统单元。你前面的 Ubuntu /openEuler 都支持 systemctl两套发行版 systemctl 命令完全一致区别只在包管理器 apt/dnf。9.1 常用命令表操作命令说明启动服务sudo systemctl start xxx.service立即启动临时生效停止服务sudo systemctl stop xxx.service立即停止重启服务sudo systemctl restart xxx.servicestop start会断开连接平滑重载配置sudo systemctl reload xxx.service不中断现有连接仅加载新配置部分服务不支持查看服务状态systemctl status xxx.service看运行状态、PID、最近日志排错首选启用开机自启sudo systemctl enable xxx.service创建软链接开机自动启动不会立刻启动服务启用自启并立刻启动sudo systemctl enable --now xxx.serviceenable start 一步到位取消开机自启sudo systemctl disable xxx.service删除自启软链接查看是否正在运行systemctl is-active xxx.service返回active/inactive查看是否开机自启systemctl is-enabled xxx.service返回enabled/disabled查看所有已加载服务systemctl list-units --typeservice查看运行中的服务systemctl list-units --typeservice --staterunning查看启动失败服务systemctl --failed快速排查故障重载 systemd 配置sudo systemctl daemon-reload修改 xxx.service 单元文件后必须执行刷新缓存屏蔽服务禁止启动sudo systemctl mask xxx.service强制禁用start/enable 都无法启动取消屏蔽sudo systemctl unmask xxx.service查看服务依赖systemctl list-dependencies xxx.service后缀.service可以省略systemctl status nginx等价nginx.service9.2 状态字段简单解读systemctl statusLoaded: loaded (/xxx.service; enabled)配置文件已加载开机自启已开启Active: active (running)正在运行Active: inactive (dead)已停止Active: failed启动失败9.3 系统电源 / 运行级别targetsystemctl get-default # 查看默认启动目标 sudo systemctl set-default multi-user.target # 无图形界面开机 sudo systemctl set-default graphical.target # 图形界面开机 sudo systemctl poweroff # 关机 sudo systemctl reboot # 重启 sudo systemctl suspend # 挂起9.4 补充服务单元文件位置/usr/lib/systemd/system/系统自带服务不要直接改/etc/systemd/system/自定义服务优先级更高修改这里9.5 journalctljournalctl是systemd 配套的日志查看工具systemd 会把系统、服务、进程的日志统一交给journald服务收集存储journalctl就是用来读取这些日志的命令。一句话理解systemctl管服务启停journalctl管服务 / 系统日志。常用命令操作命令说明查看全部日志journalctl从最早日志开始分页查看实时滚动日志类似 tail -fjournalctl -f持续输出最新日志排错最常用查看某个服务日志journalctl -u nginx.service-u指定 unit.service可省略实时看某个服务日志journalctl -u nginx -f跟踪服务实时日志只看本次开机后的日志journalctl -b-b boot本次启动查看上次开机日志journalctl -b -1上次启动的日志排查上次崩溃很有用按时间过滤journalctl --since 2026-09-12 10:00:00指定起始时间只看错误级别日志journalctl -p errpriorityerr 错误、warn 警告、info 信息日志占用磁盘大小journalctl --disk-usage查看 journal 日志文件占多少空间清理旧日志sudo journalctl --vacuum-size500M保留日志总大小不超过 500M输出最新 N 行journalctl -n 200输出最后 200 行
返回列表