CentOS 7作为一款广泛使用的Linux发行版,其命令行操作是系统管理的基础,掌握常用命令不仅能提高工作效率,还能更好地理解系统运行机制,以下从文件管理、系统监控、网络配置、软件管理和服务控制等方面详细介绍CentOS 7的常用命令。

在文件管理方面,ls命令是最基础的列表命令,ls -l可显示文件的详细信息,包括权限、所有者、大小和修改时间;ls -a会隐藏文件,ls -h以人类可读格式显示文件大小。cd命令用于切换目录,cd ..返回上级目录,cd ~进入用户主目录。mkdir用于创建目录,mkdir -p可递归创建多级目录,例如mkdir -p /test/a/b会同时创建test、a、b三个目录。rm命令用于删除文件或目录,rm -r递归删除目录,rm -f强制删除不提示,使用时需谨慎。cp命令复制文件或目录,cp -r复制目录,cp -p保留文件属性。mv命令可移动文件或重命名文件,例如mv old.txt new.txt将文件重命名。touch命令用于创建空文件或更新文件时间戳,cat、more、less用于查看文件内容,其中less支持分页和上下翻页,grep用于文本搜索,例如grep "error" log.txt查找包含error的行。
系统监控命令中,top命令动态显示系统进程资源占用情况,按M按内存排序,按C按CPU排序。htop是top的增强版,界面更友好,需安装后使用。df -h查看磁盘使用情况,du -sh *查看当前目录下各文件及目录的总大小。free -h查看内存使用情况,ps aux显示所有进程的详细信息,ps -ef也是常用进程查看命令。kill命令终止进程,kill -9强制终止,killall通过进程名终止进程。uname -a显示系统信息,uptime查看系统运行时间和负载平均值。last命令显示用户登录历史,lastb显示失败登录尝试。
网络配置方面,ifconfig或ip addr查看网络接口信息,ifconfig eth0 up/down启用或禁用网卡。ping测试网络连通性,例如ping www.baidu.com。netstat -tuln查看监听的端口,ss -tuln是netstat的替代命令,显示更高效。telnet测试端口是否可达,例如telnet 192.168.1.1 80。ssh用于远程登录,例如ssh user@192.168.1.1。scp secure copy,用于安全复制文件,例如scp file.txt user@remote:/path/。wget下载文件,curl获取网页内容或发送HTTP请求,curl -I www.baidu.com查看HTTP响应头。firewall-cmd --list-all查看防火墙规则,firewall-cmd --add-port=80/tcp --permanent永久开放80端口,需执行firewall-cmd --reload生效。
软件管理中,yum是CentOS 7的包管理工具,yum install package_name安装软件,yum remove package_name卸载软件,yum update更新所有软件,yum search keyword搜索软件包。rpm -qa查看已安装的rpm包,rpm -ivh package.rpm安装rpm包,rpm -e package_name卸载rpm包。systemctl是服务管理命令,systemctl start service_name启动服务,systemctl stop service_name停止服务,systemctl restart service_name重启服务,systemctl enable service_name设置开机自启,systemctl disable service_name取消开机自启,systemctl status service_name查看服务状态。journalctl -u service_name查看服务日志,tail -f /var/log/messages实时查看系统日志。

用户和权限管理方面,useradd username创建用户,userdel -r username删除用户及主目录,passwd username设置用户密码。groupadd groupname创建用户组,groupdel groupname删除用户组。chmod修改文件权限,chmod 755 file.txt设置所有者可读写执行,组和其他用户可读执行,chmod u+x file.txt为所有者添加执行权限。chown修改文件所有者,例如chown user:group file.txt将文件所有者改为user,组改为group。su username切换用户,su -切换到root用户并加载环境变量,sudo command以管理员权限执行命令。
以下是一些常用命令的快速参考表格:
| 命令类别 | 命令示例 | 功能说明 |
|---|---|---|
| 文件管理 | ls -la | 列出所有文件及详细信息 |
| cp -r dir1 dir2 | 递归复制目录 | |
| mv old.txt new.txt | 重命名文件 | |
| 系统监控 | top | 动态显示进程资源占用 |
| df -h | 查看磁盘使用情况 | |
| free -h | 查看内存使用情况 | |
| 网络配置 | ip addr show | 查看网络接口信息 |
| netstat -tuln | 查看监听端口 | |
| firewall-cmd --list-all | 查看防火墙规则 | |
| 软件管理 | yum install httpd | 安装Apache服务 |
| systemctl start httpd | 启动Apache服务 | |
| journalctl -u httpd | 查看Apache服务日志 | |
| 用户权限 | useradd testuser | 创建用户 |
| chmod 644 file.txt | 设置文件所有者可读写,其他用户只读 | |
| chown user:group file.txt | 修改文件所有者和组 |
相关问答FAQs:
-
问题:如何在CentOS 7中永久关闭防火墙?
解答: 关闭防火墙并禁用开机自启的命令为:
(图片来源网络,侵删)systemctl stop firewalld # 停止防火墙 systemctl disable firewalld # 禁用开机自启
执行后可通过
systemctl status firewalld查看防火墙状态,确认是否已关闭。 -
问题:CentOS 7中如何查看某个服务的错误日志?
解答: 使用journalctl命令结合服务名查看日志,例如查看nginx的错误日志:journalctl -u nginx --since today # 查看今天nginx的日志 journalctl -u nginx -f # 实时跟踪nginx日志
也可直接查看日志文件,如
/var/log/nginx/error.log,使用tail -f实时监控。
