CentOS 7 作为一款广泛使用的 Linux 发行版,其命令行操作是系统管理和运维的核心技能,掌握常用命令不仅能提高工作效率,还能深入理解系统运行机制,以下从基础操作、文件管理、系统监控、网络配置、软件管理及服务控制六个方面,详细解析 CentOS 7 的常用命令,并辅以表格对比和实例说明,最后附上常见问题解答。

基础操作命令
基础操作是 Linux 日常使用的基础,主要包括系统信息查询、用户管理和进程控制。
系统信息查询
uname -a:显示系统所有信息,包括内核名称、主机名、内核版本等。lscpu:查看 CPU 架构和核心数信息,输出格式清晰,包含架构、CPU 数量、线程数等。free -h:以人类可读格式(如 GB、MB)显示内存使用情况,-h参数自动选择合适单位。df -h:查看磁盘分区使用情况,-h参数同样用于单位优化,便于快速判断磁盘空间。
用户管理
useradd username:创建新用户,默认创建家目录和用户组,可通过-m强制创建家目录,-s指定默认 Shell(如/bin/bash)。passwd username:为用户设置密码,普通用户只能修改自己的密码,root 可修改任意用户密码。su - username:切换到指定用户, 参数表示加载该用户的 Shell 配置文件,确保环境一致。sudo command:以超级用户权限执行命令,需提前配置/etc/sudoers文件(使用visudo安全编辑)。
进程管理
(图片来源网络,侵删)ps aux:查看当前所有进程的详细信息,a显示所有进程,u显示用户信息,x显示无终端进程。top:动态实时显示进程状态,按M按内存排序,按C按 CPU 排序,q退出。kill -9 PID:强制终止进程,-9为信号码,表示无条件终止,适用于普通kill无效的进程。jobs:查看后台任务,配合fg(前台调取)、bg(后台继续)使用,如fg %1将任务 1 调至前台。
文件与目录管理命令
文件管理是 Linux 最频繁的操作,涉及目录浏览、文件操作、权限控制等。
目录与文件浏览
ls -la:列出当前目录所有文件和子目录,-l显示详细信息(权限、所有者、大小、修改时间),-a显示隐藏文件(以 开头)。pwd:显示当前工作目录的完整路径,避免因目录切换而迷失。tree:以树形结构显示目录层级,需先安装yum install tree,-L 2限制显示层级深度。
文件操作
touch filename:创建空文件或更新文件时间戳,若文件存在则修改其访问和修改时间。cp -r source_dir target_dir:递归复制目录,-r表示复制目录及其所有内容,-p可保留权限和时间戳。mv old_name new_name:重命名文件或移动文件/目录,同一目录内为重命名,跨目录为移动。rm -rf dir_name:强制递归删除目录,-r递归删除,-f忽略不存在的文件并强制删除,需谨慎使用。
文本处理
(图片来源网络,侵删)cat filename:查看文件全部内容,适合小文件,大文件可用less filename(支持分页和搜索)。grep "keyword" file.txt:在文件中搜索关键词,-i忽略大小写,-n显示行号,-v反向匹配(不包含关键词的行)。echo "text" > file.txt:将文本覆盖写入文件,>>为追加写入,>会覆盖原文件。
权限控制
chmod 755 file.txt:修改文件权限,755表示所有者可读写执行,组用户和其他用户可读执行,可通过chmod u+x file.txt单独添加执行权限。chown user:group file.txt:修改文件所有者和所属组,-R可递归修改目录下所有文件权限。
系统监控与日志管理
系统监控是保障服务器稳定运行的关键,需重点关注资源使用和日志分析。
资源监控
htop:比top更强大的进程监控工具,支持鼠标操作和彩色显示,需安装yum install htop。vmstat 1 5:每秒输出一次系统状态,共输出 5 次,包括进程、内存、 swap、I/O、CPU 等信息。iostat -xz 1:监控磁盘 I/O 性能,-x显示扩展信息,-z忽略闲置设备,1表示每秒刷新。
日志管理
journalctl -xe:查看 systemd 日志,-x显示详细错误信息,-e跳转到末尾,-u nginx.service可过滤特定服务日志。tail -f /var/log/messages:实时查看系统日志文件,-f表示持续跟踪文件新增内容,适合监控实时日志。grep "error" /var/log/httpd/error_log:在 Apache 错误日志中搜索包含 “error” 的行,快速定位问题。
网络配置与诊断命令
网络配置是服务器运维的核心技能,需掌握 IP 配置、网络连通性测试和服务管理。
网络配置
ip addr show:查看网络接口 IP 地址信息,替代传统的ifconfig(需安装net-tools包)。nmcli connection show:使用 NetworkManager 管理网络连接,nmcli con mod "ens33" ipv4.method manual ipv4.addresses 192.168.1.100/24静态配置 IP。systemctl restart network:重启网络服务,使配置生效(CentOS 7 推荐使用 NetworkManager 管理)。
网络诊断
ping -c 4 baidu.com:测试与目标主机的连通性,-c指定发送包数量,默认无限发送。traceroute baidu.com:显示数据包到目标主机的路径,经过的路由器数量和延迟,排查网络延迟问题。ss -tulnp:查看监听的端口和进程,-tTCP 端口,-uUDP 端口,-l只显示监听端口,-n以数字形式显示地址和端口。
软件包管理命令
CentOS 7 主要使用 YUM(Yellowdog Updater Modified)管理软件包,支持 RPM 包的自动安装、更新和卸载。
YUM 基础命令
yum install package_name:安装软件包,如yum install nginx安装 Nginx。yum update package_name:更新指定软件包,yum update更新所有可升级的包。yum remove package_name:卸载软件包,会同时删除依赖的包(若未被其他包使用)。yum list installed:列出已安装的软件包,yum list available列出可安装的包。
源码编译安装
部分软件需从源码编译安装,流程如下:wget https://example.com/source.tar.gz # 下载源码包 tar -zxvf source.tar.gz # 解压 cd source_dir # 进入目录 ./configure # 配置编译选项 make # 编译 make install # 安装
系统服务与开机自启管理
CentOS 7 使用 systemctl 管理系统服务,替代了传统的 service 和 chkconfig 命令。
服务控制
systemctl start nginx.service:启动 Nginx 服务。systemctl stop nginx.service:停止服务。systemctl restart nginx.service:重启服务。systemctl status nginx.service:查看服务状态(是否运行、是否开机自启)。
开机自启配置
systemctl enable nginx.service:设置服务开机自启,会在/etc/systemd/system/multi-user.target.wants/创建软链接。systemctl disable nginx.service:取消开机自启。systemctl list-unit-files --type=service:列出所有服务及其开机自启状态。
常用命令速查表
| 功能分类 | 命令示例 | 说明 |
|---|---|---|
| 系统信息 | uname -a | 显示系统内核和主机信息 |
| 内存查看 | free -h | 人类可读格式显示内存使用情况 |
| 磁盘使用 | df -h | 查看磁盘分区使用情况 |
| 用户创建 | useradd -m -s /bin/bash username | 创建用户并指定 Shell |
| 进程查看 | ps aux | 显示所有进程详细信息 |
| 文件复制 | cp -r /source /target | 递归复制目录 |
| 权限修改 | chmod 755 file | 设置文件权限为 rwxr-xr-x |
| 日志查看 | journalctl -xe | 查看 systemd 系统日志 |
| 网络连通性 | ping -c 4 baidu.com | 发送 4 个包测试连通性 |
| 端口监听 | ss -tulnp | 查看 TCP/UDP 监听端口及进程 |
| 软件安装 | yum install nginx | 使用 YUM 安装 Nginx |
| 服务开机自启 | systemctl enable nginx.service | 设置 Nginx 开机自启 |
相关问答 FAQs
问题 1:如何查看某个进程占用的端口号?
解答:可以使用 ss 或 netstat 命令结合 grep 过滤进程名,查看 Nginx 进程占用的端口:
ss -tulnp | grep nginx
或
netstat -tulnp | grep nginx
输出结果中会显示 Nginx 监听的端口(如 80、443)及对应的进程 ID(PID),若已知 PID,也可通过 lsof -i :端口号 查看,lsof -i :80。
问题 2:CentOS 7 如何设置静态 IP 地址?
解答:通过 NetworkManager 的命令行工具 nmcli 配置静态 IP,步骤如下:
- 查看当前网络连接名称:
nmcli connection show
假设连接名称为
ens33。 - 修改连接配置,设置静态 IP、网关和 DNS:
nmcli con mod "ens33" ipv4.method manual \ ipv4.addresses 192.168.1.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns "8.8.8.8 114.114.114.114"
- 重启网络服务使配置生效:
systemctl restart network
- 验证 IP 配置:
ip addr show ens33
若显示配置的静态 IP,则设置成功,注意:配置前确保网络接口名称正确,避免网络中断。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/403612.html<
