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