CentOS系统作为基于Red Hat Enterprise Linux(RHEL)的开源发行版,广泛应用于服务器和开发环境,其强大的命令行功能是高效管理系统的核心,掌握CentOS命令行的使用,不仅能提升操作效率,还能深入理解系统底层机制,本文将从基础操作、文件管理、用户权限、网络配置、进程服务及软件安装六个维度,详细解析CentOS命令行的使用方法,并通过表格总结常用命令,最后附常见问题解答。

基础操作命令:命令行交互的起点
命令行是用户与系统交互的接口,熟悉基础命令是使用CentOS的前提。
pwd:显示当前所在工作目录的完整路径,例如执行pwd会输出/home/user,表示当前在user用户的家目录下。ls:列出当前目录下的文件和子目录,常用选项包括-l(显示详细信息,如权限、所有者、大小、修改时间)、-a(显示隐藏文件,以开头的文件)、-h(以人类可读格式显示文件大小,如K、M),例如ls -lah会显示所有文件的详细信息,并格式化文件大小。cd:切换目录。cd /path/to/dir切换到指定目录,cd ..返回上级目录,cd ~或cd直接切换到当前用户家目录,cd -返回上一个所在目录。mkdir:创建新目录。mkdir dir_name创建单层目录,mkdir -p parent/child递归创建多级目录(若父目录不存在则自动创建)。rm:删除文件或目录。rm file删除文件,rm -r dir递归删除目录及其内容(需谨慎使用),rm -f file强制删除文件(不提示确认),rm -rf dir强制递归删除目录(危险操作,务必确认路径正确)。touch:创建空文件或更新文件时间戳。touch new_file.txt创建名为new_file.txt的空文件,若文件已存在,则更新其访问和修改时间为当前时间。
文件与目录管理:数据存储的核心
文件和目录是系统数据的基本载体,掌握文件管理命令是日常操作的重点。
常用文件操作命令(表格总结)
| 命令 | 功能描述 | 示例 |
|---|---|---|
cp |
复制文件或目录 | cp -r source_dir/ target_dir/(递归复制目录) |
mv |
移动/重命名文件或目录 | mv old_name.txt new_name.txt(重命名) |
cat |
查看文件内容(适合小文件) | cat file.txt(显示文件全部内容) |
more/less |
分页查看文件内容(适合大文件) | less file.txt(支持上下翻页、搜索) |
grep |
在文件中搜索匹配的文本行 | grep "error" log.txt(搜索包含”error”的行) |
find |
按条件查找文件或目录 | find /home -name "*.txt"(在/home下查找所有.txt文件) |
tar |
打包/解包文件(支持压缩) | tar -czf archive.tar.gz dir/(打包并gzip压缩)tar -xzf archive.tar.gz(解包并解压) |
实例说明
- 复制文件:
cp /etc/passwd ~/backup/将系统密码文件复制到当前用户的backup目录下。 - 搜索文件:
find /var -name "*.log" -mtime +7在/var目录下查找所有修改时间超过7天的.log文件,便于清理日志。 - 查看大文件:使用
less /var/log/messages后,可通过搜索内容,按q退出查看。
用户与权限管理:系统安全的基石
CentOS通过用户和权限控制保障系统安全,合理管理用户和文件权限是运维的关键。
-
用户管理:
useradd username:创建新用户,默认会创建同名家目录(需配合-m选项,如useradd -m username)。passwd username:设置或修改用户密码,普通用户只能修改自己的密码,root可修改所有用户密码。userdel username:删除用户,userdel -r username会同时删除用户家目录和邮件文件(彻底清理)。su - username:切换到指定用户(表示加载该用户的家目录环境变量),exit返回原用户。
-
权限管理:
Linux文件权限分为读(r,4)、写(w,2)、执行(x,1),权限位为9位,分别对应所有者(user)、所属组(group)、其他用户(others)。chmod:修改文件权限,数字法如chmod 755 file.txt(所有者rwx,组和其他用户r-x);符号法如chmod u+x file.txt(为所有者添加执行权限)。chown:修改文件所有者。chown user:group file.txt将文件所有者改为user,所属组改为group,chown -R user dir/递归修改目录及其内容的所有者。
网络配置命令:系统互联的桥梁
服务器网络配置是运维核心工作,常用命令可帮助排查网络问题、配置网络参数。

-
网络状态查看:
ip addr(CentOS 7+推荐)或ifconfig(CentOS 7及以下):查看网卡IP地址,例如ip addr show eth0显示eth0网卡的IP、子网掩码等信息。ping:测试网络连通性。ping 8.8.8.8测试与谷歌DNS的连通性,ping -c 4 192.168.1.1发送4个数据包后停止。netstat/ss:查看网络连接状态。ss -tuln显示所有监听的TCP(t)和UDP(u)端口及对应的进程ID(n表示不解析域名)。
-
网络配置:
- 临时修改IP(重启失效):
ip addr add 192.168.1.100/24 dev eth0为eth0添加IP,ip link set eth0 up启用网卡。 - 永久修改IP(CentOS 7+):编辑
/etc/sysconfig/network-scripts/ifcfg-eth0,设置IPADDR=192.168.1.100、NETMASK=255.255.255.0、GATEWAY=192.168.1.1,保存后执行systemctl restart network重启网络服务。
- 临时修改IP(重启失效):
进程与服务管理:系统运行的保障
进程是程序执行的实例,服务是后台运行的应用程序,掌握进程和服务管理命令可确保系统稳定运行。
-
进程管理:
ps:查看当前进程。ps -ef显示所有进程的详细信息(UID、PID、PPID、命令等),ps aux显示进程的CPU、内存占用情况。top:动态监控进程,默认每3秒刷新一次,按P按CPU占用排序、M按内存占用排序、q退出。kill:终止进程。kill PID正常终止进程(发送SIGTERM信号),kill -9 PID强制终止进程(发送SIGKILL信号,慎用)。
-
服务管理(CentOS 7+):
systemctl是核心服务管理命令,替代了传统的service和chkconfig。systemctl start nginx:启动nginx服务。systemctl stop nginx:停止nginx服务。systemctl restart nginx:重启nginx服务。systemctl enable nginx:设置nginx开机自启。systemctl status nginx:查看nginx服务状态及最近日志。
软件安装与管理:扩展系统功能
CentOS通过包管理器安装、更新、删除软件,常用有yum(CentOS 7及以下)和dnf(CentOS 8+,yum的升级版)。

-
yum/dnf基础操作:- 安装软件:
yum install package_name或dnf install package_name,例如yum install nginx安装nginx。 - 更新软件:
yum update package_name(更新指定软件)或yum update(更新所有已安装软件)。 - 删除软件:
yum remove package_name,删除后会自动清理依赖(若不再被其他软件使用)。 - 搜索软件:
yum search keyword,例如yum search httpd搜索与httpd相关的软件包。
- 安装软件:
-
源码编译安装:
若官方源无所需软件,可下载源码编译安装,例如安装Nginx:- 下载源码:
wget http://nginx.org/download/nginx-1.22.0.tar.gz - 解压并进入目录:
tar -xzf nginx-1.22.0.tar.gz && cd nginx-1.22.0 - 安装依赖:
yum install gcc pcre-devel openssl-devel - 编译安装:
./configure && make && make install
- 下载源码:
CentOS命令行功能强大,覆盖系统管理的方方面面,从基础操作到高级配置,熟练掌握命令不仅能提升工作效率,还能深入理解系统运行机制,建议初学者从基础命令入手,逐步结合实际场景练习,通过查阅man命令(如man ls查看命令手册)和官方文档,持续积累经验,最终实现高效、安全的系统管理。
相关问答FAQs
Q1:CentOS命令行无法ping通外网,如何排查?
A1: 可按以下步骤排查:
- 检查网卡状态:执行
ip addr或ifconfig,确认网卡(如eth0)已启用(UP状态),且有IP地址(非254.x.x这类私有地址)。 - 检查网关配置:执行
ip route查看默认网关,确保网关正确(如default via 192.168.1.1 dev eth0)。 - 检查DNS配置:查看
/etc/resolv.conf文件,确保包含nameserver 8.8.8.8等有效DNS服务器,或使用ping 8.8.8.8测试是否为DNS问题。 - 检查防火墙:执行
firewall-cmd --list-all,确认防火墙未阻止ICMP协议(ping使用ICMP),可临时关闭防火墙测试:systemctl stop firewalld。 - 检查网络路由:若以上正常,可能是路由表问题,尝试添加默认网关:
ip route add default via 192.168.1.1 dev eth0。
Q2:CentOS下如何用命令行查看系统资源占用?
A2: 可通过以下命令监控资源:
- CPU和内存占用:
top命令动态显示进程资源占用,按P按CPU排序,M按内存排序;或使用htop(需安装yum install htop),界面更友好,支持鼠标操作。 - 内存详情:
free -h以人类可读格式显示内存使用情况(包括总内存、已用、空闲、缓存等)。 - 磁盘占用:
df -h显示各分区的磁盘使用情况(包括挂载点、总容量、已用、可用等);du -sh /path查看指定目录的总大小(-s仅显示汇总,-h格式化大小)。 - 磁盘I/O:
iostat -x 1每秒显示磁盘I/O统计信息(包括设备、读写速率、利用率等),-x显示扩展统计。 - 网络流量:
iftop或nethogs(需安装)可实时查看进程级别的网络流量,iftop -i eth0监控eth0网卡的实时流量。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/17004.html