CentOS 7.9入门指南:从安装到Shell脚本编程

发布时间:2026/11/7 6:26:26

CentOS 7.9入门指南:从安装到Shell脚本编程 1. 为什么选择CentOS作为Linux学习起点在众多Linux发行版中CentOS特别适合作为学习起点。作为Red Hat Enterprise LinuxRHEL的社区版本它继承了RHEL的稳定性和企业级特性同时完全免费。我最初选择CentOS时最看重的是它在服务器领域的广泛应用——全球超过30%的企业服务器运行在RHEL/CentOS系统上。CentOS 7.9是目前最成熟的稳定版本其生命周期将持续到2024年。与Ubuntu等发行版相比CentOS的软件包管理工具yum/dnf和系统服务管理systemd更贴近企业实际环境。记得我第一次在CentOS上配置Apache服务时就深刻体会到它的配置文件结构和权限管理对企业运维的友好性。提示虽然CentOS 8已停止维护但CentOS Stream作为滚动发行版仍可选用。不过对初学者建议从CentOS 7.9开始建立完整知识体系。2. 基础环境搭建实战2.1 虚拟机安装要点使用VMware Workstation安装CentOS时有几个关键设置常被忽略虚拟磁盘建议选择将虚拟磁盘拆分成多个文件这样迁移更方便内存分配不应低于2GB特别是要运行GUI时网络适配器选择NAT模式最易上手安装过程中分区方案需要特别注意。我推荐以下分区结构/boot 500MB (标准ext4) / 30GB (xfs文件系统) swap 内存大小的1.5倍不超过8GB /home 剩余所有空间2.2 首次登录后的5个必做配置网络配置nmcli connection modify ens192 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 nmcli connection up ens192关闭SELinux学习阶段建议sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config setenforce 0配置EPEL仓库yum install -y epel-release安装开发工具集yum groupinstall -y Development Tools设置时区timedatectl set-timezone Asia/Shanghai3. Shell脚本编程核心精要3.1 从Hello World到实战脚本初学者常犯的错误是直接复制复杂脚本。我建议从这样的结构开始#!/bin/bash # 作者你的名字 # 日期$(date %F) # 描述这个脚本的功能说明 # 严格模式 set -euo pipefail # 函数定义 usage() { echo 用法$0 [参数] exit 1 } # 主逻辑 main() { local input_file while getopts f: opt; do case $opt in f) input_file$OPTARG ;; *) usage ;; esac done [[ -z $input_file ]] usage # 业务逻辑 if [[ ! -f $input_file ]]; then echo 错误文件不存在 2 exit 2 fi # 处理文件内容 grep -v ^# $input_file | awk {print $1} } main $3.2 定时任务的高级用法crontab的常见误区是环境变量问题。这是我常用的crontab模板# 每分钟检查一次服务 * * * * * source /home/user/.bashrc /path/to/script.sh /var/log/myscript.log 21 # 每天9:30执行 30 9 * * * /usr/bin/flock -xn /tmp/mytask.lock -c /path/to/daily_task.sh关键技巧使用flock防止脚本重复执行明确指定命令全路径通过source加载环境变量错误输出重定向到日志文件4. 开发环境搭建实战4.1 Java环境配置避坑指南OpenJDK安装看似简单但版本管理常出问题。推荐这样安装# 安装OpenJDK 11 yum install -y java-11-openjdk-devel # 多版本管理 alternatives --config java # 环境变量配置写入~/.bashrc cat EOF ~/.bashrc export JAVA_HOME$(dirname $(dirname $(readlink -f $(which java)))) export PATH\$JAVA_HOME/bin:\$PATH EOF常见问题排查执行java -version无输出 → 检查JAVA_HOME设置ClassNotFound异常 → 检查CLASSPATH或jar包路径内存不足 → 调整JVM参数-Xms512m -Xmx1024m4.2 Python多版本管理方案CentOS 7自带的Python 2.7需要与现代Python共存# 安装Python 3.8 yum install -y python38 python38-devel # 创建虚拟环境 python3.8 -m venv /opt/myenv source /opt/myenv/bin/activate # 安装常用包 pip install --upgrade pip pip install numpy pandas requests我习惯用这样的目录结构管理Python项目~/projects/ ├── venvs/ # 所有虚拟环境 ├── src/ # 项目源代码 └── logs/ # 各项目日志5. 系统管理进阶技巧5.1 磁盘扩容完整流程当虚拟机磁盘空间不足时扩容操作需要多个步骤配合在VMware中扩展虚拟磁盘大小在Linux中识别新空间echo 1 /sys/class/scsi_disk/0\:0\:0\:0/device/rescan扩展物理卷pvresize /dev/sda2扩展逻辑卷lvextend -l 100%FREE /dev/centos/root调整文件系统xfs_growfs / # 对xfs文件系统 # 或 resize2fs /dev/centos/root # 对ext45.2 系统服务管理深度解析systemd是现代Linux的核心掌握这些命令至关重要# 查看失败的服务 systemctl --failed # 分析服务启动耗时 systemd-analyze blame # 自定义服务单元示例/etc/systemd/system/myapp.service [Unit] DescriptionMy Custom Application Afternetwork.target [Service] Typesimple Userappuser WorkingDirectory/opt/myapp ExecStart/usr/bin/python3 /opt/myapp/main.py Restarton-failure RestartSec5s [Install] WantedBymulti-user.target重载配置的完整流程systemctl daemon-reload systemctl enable myapp systemctl start myapp journalctl -u myapp -f # 跟踪日志6. 网络配置与防火墙6.1 防火墙规则优化firewalld的富规则(Rich Rules)比直接使用iptables更易管理# 允许特定IP访问SSH firewall-cmd --permanent --add-rich-rulerule familyipv4 source address192.168.1.100/32 service namessh accept # 开放自定义端口 firewall-cmd --permanent --add-port8080/tcp firewall-cmd --reload # 查看生效规则 firewall-cmd --list-all6.2 网络故障排查工具箱这些命令组合使用能解决90%的网络问题# 连通性测试 ping -c 4 8.8.8.8 mtr --report google.com # 端口检查 telnet example.com 80 nc -zv example.com 443 # DNS解析 dig short example.com nslookup example.com # 路由追踪 traceroute -T -p 80 example.com # 网络统计 ss -tulnp netstat -s7. 安全加固实践7.1 SSH安全配置/etc/ssh/sshd_config的关键修改项Port 2222 # 修改默认端口 PermitRootLogin no MaxAuthTries 3 LoginGraceTime 1m AllowUsers yourusername ClientAliveInterval 300 ClientAliveCountMax 2 PasswordAuthentication no # 强制使用密钥生成更安全的SSH密钥ssh-keygen -t ed25519 -a 100 -f ~/.ssh/id_ed255197.2 定期安全检查脚本这是我每周运行的检查脚本框架#!/bin/bash # 检查未授权的SUID文件 find / -perm -4000 -type f -exec ls -la {} \; 2/dev/null /tmp/suid_check.txt # 检查空密码账户 awk -F: ($2 ) {print $1} /etc/shadow /tmp/empty_passwd.txt # 检查最近修改的文件 find / -mtime -3 -type f -exec ls -la {} \; 2/dev/null /tmp/recent_files.txt # 发送报告 mail -s 安全检查报告 adminexample.com (echo 详见附件; uuencode /tmp/*_check.txt)
延伸阅读

更多相关文章

2026/11/7 16:07:29

静电吸盘(ESC)原理与半导体制造应用解析

1. 静电吸盘(ESC)的基本概念与工作原理静电吸盘(Electrostatic Chuck,简称ESC)是一种利用静电力固定物体的装置,在半导体制造、精密加工等领域发挥着关键作用。它的核心原理是通过施加电压在吸盘表面产生静…

2026/11/6 16:16:12

Web开发中MIME类型配置详解与实战

1. MIME类型基础概念解析MIME(Multipurpose Internet Mail Extensions)类型是互联网上标识文件格式的标准方法,最初设计用于电子邮件系统,后来被广泛应用于HTTP协议。它由类型(type)和子类型(su…

2026/10/25 8:41:25

内容推荐系统三阶混合加权设计与落地实践

1. 项目概述:这不是一个按钮,而是一套内容分发逻辑“Recommended Articles”——看到这个词组,很多人的第一反应是“哦,就是文章页右下角那个带小图的推荐栏”。但干了十多年内容系统搭建和信息流优化的老手都知道,这四…

2026/11/7 16:04:53

椒江电工证年审有效期多久值不值得考

椒江电工证年审有效期多久值不值得考 你是不是正愁找不到工作?别急, 特种作业证 就是你上岗的“通行证”,尤其是 椒江电工证年审 ,直接决定你能不能进入工地、工厂、维修岗这些高需求岗位。今天就来聊聊这个证到底 值不值得考 ,特别是对…

2026/11/7 16:04:53

修空调要考电工证了吗保姆级教程

修空调要考电工证了吗保姆级教程 怕考不过白交培训费?别慌,今天手把手带你搞懂【修空调要考电工证了吗】这事儿,从报考条件、考试流程、实操技巧,再到证书价值和未来晋升,全是干货, 保姆级教程 ,看完直接上手。 修空调必须考电工证吗?…

2026/11/7 16:04:53

广州中级电工证有用吗 考证多久拿证全解析

广州中级电工证有用吗 考证多久拿证全解析 学历不高怕报不上名?广州中级电工证有用吗?我见过太多人因为学历问题犹豫要不要考,结果错过机会。今天就来聊聊这个事,告诉你广州中级电工证到底有没有用,怎么考,多久能拿证,特别是像你这样学历不高但想进电…

2026/11/7 15:59:53

电工证标志牌值不值得考?安阳应届生求职避坑全攻略

电工证标志牌值不值得考?安阳应届生求职避坑全攻略 你是不是也像我一样,刚毕业就急着找工作,却发现很多岗位都要求持证上岗? 电工证标志牌 就是其中之一。这个证不仅是你能力的证明,更是你能不能顺利找到工作的“通行证”。但问题是,…

2026/11/7 14:54:47

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/7 14:50:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/7 0:03:08

郑州报考避坑指南:电工证和钳工证怎么选?实操考试心里没底怕挂科

郑州报考避坑指南:电工证和钳工证怎么选?实操考试心里没底怕挂科 实操考试心里没底怕挂科?你不是一个人。特别是在郑州这样的城市,很多施工企业负责人和一线作业人员在报考电工证和钳工证时都面临着同样的困惑。到底该考哪个证?哪个更适合自己?哪个证书…

2026/11/7 0:03:08

广西电工证办理流程全解析:外省证怎么转?在哪考最靠谱?

广西电工证办理流程全解析:外省证怎么转?在哪考最靠谱? 之前考的证在外省能不能转过来?这个问题我遇到太多了,今天就拿广西电工证办理流程来具体说说,别再走弯路了。广西电工证的报考、复审、继续教育这些环节,如果你不了解,真的会吃大亏,尤其对于从…

2026/11/7 0:03:08

电气电工证都有哪些保姆级教程

电气电工证都有哪些保姆级教程 你是不是正愁不知道去哪报名,怕被中介坑?别急,这篇保姆级教程专为河南初次报考人员准备,帮你搞清楚 电气电工证都有哪些 ,以及如何避开那些坑。 电气电工证都有哪些?别被五花八门的证书搞懵了…

2026/11/7 14:54:47

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/7 14:50:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑