Linux的操作系统教程_第1页
Linux的操作系统教程_第2页
Linux的操作系统教程_第3页
Linux的操作系统教程_第4页
Linux的操作系统教程_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux操作系统教程从入门到精通·系统化管理与实战技能全指南Contents课程目录从零开始系统掌握Linux操作系统,涵盖环境搭建、命令行、系统管理、网络安全与自动化运维五大核心模块。01Linux基础认知与环境搭建02命令行核心技能03系统管理与服务控制04网络配置与安全加固05运维实战与自动化CHAPTER01Linux基础认知与环境搭建从历史起源到发行版选择,构建你的第一个Linux环境ORIGIN&OPENSOURCELinux的起源与开源精神Linux诞生于1991年LinusTorvalds的个人项目,与GNU自由软件运动结合后成为全球最重要的开源操作系统。01内核诞生:1991年赫尔辛基大学学生LinusTorvalds开发Linux内核原型,在互联网上公开源代码,引发全球开发者协作共建。02生态基石:基于GNU自由软件基金会理念,Linux内核与GNU工具链结合形成完整操作系统,奠定开源生态基石。03开源精神:自由使用、自由修改、自由分发,催生了GitHub协作模式和当今蓬勃的开源社区文化。04广泛应用:全球90%以上云服务器运行Linux,所有Android设备基于Linux内核,Top500超算100%采用。LinusTorvalds·Linux内核创始人DistroComparison主流Linux发行版对比与选择Linux发行版(Distro)=内核+软件包+工具链,不同发行版面向不同使用场景。初学者应优先选择社区活跃、文档完善的发行版,降低学习曲线;企业环境则需关注长期支持和安全更新策略。五大主流Linux发行版特征对比发行版核心特点适用人群包管理器Ubuntu用户友好、社区活跃、软件仓库丰富、6个月定期发布初学者、桌面用户、开发者aptCentOS/RockyLinux企业级稳定、兼容RHEL、10年长期支持周期服务器运维、企业环境yum/dnfDebian极致稳定、自由软件理念严格、软件包数量超6万追求稳定性的资深用户aptArchLinux极简设计、滚动更新、高度可定制、Wiki文档极完善高级用户、系统原理学习者pacmanKaliLinux预装600+安全工具、定期安全更新、渗透测试专用网络安全从业者、渗透测试aptSummary初学者推荐UbuntuDesktop入门,企业服务器环境推荐CentOS/RockyLinux,安全领域推荐KaliLinuxINSTALLATIONGUIDELinux系统安装方式全指南搭建Linux学习环境有三种主流路径:物理机安装性能最佳但门槛较高,虚拟机安装灵活安全最适合初学者,WSL2则在Windows生态内实现了无缝的Linux体验。物理机安装需制作U盘启动盘并配置BIOS/UEFI引导,手动完成磁盘分区(/、/home、swap)性能最优、硬件利用率最高,适合主力系统或专用服务器最佳性能虚拟机安装推荐初学者使用VirtualBox或VMware创建隔离环境,支持快照回滚到任意系统状态不影响宿主系统,可同时运行多个实例对比,最安全的入门方式最安全WSL2子系统PowerShell一键安装Ubuntu,无需虚拟机开销,启动快、资源占用低支持与Windows双向文件访问,与VSCode无缝集成,适合Web开发最便捷FilesystemLinux文件系统结构(FHS标准)Linux文件系统遵循FHS层级标准,所有文件从根目录'/'出发形成树状结构。理解这一结构是高效使用Linux的前提——知道配置文件、日志和用户空间各自在哪里,才能快速定位和解决问题。/(根目录)整个文件系统的起点,所有挂载点和目录从此衍生,形成统一的树状层级结构ROOT/etc存放系统级配置文件,如网络配置、用户账户、服务启动脚本,管理员最常访问CONFIG/var存放运行时可变数据,/var/log保存系统和应用日志,是故障排查与安全审计的关键LOG/home·/usr·/tmp用户主目录、用户级应用和库文件、临时文件(重启后自动清空)USER/bin·/sbin分别存放普通用户和管理员可用的基础命令,如ls、cp、mount,系统运行核心依赖CMDCHAPTER02命令行核心技能从Shell入门到文本处理三剑客,掌握Linux最强大的交互方式LINUXBASICSShell入门:命令行的力量Shell是用户与Linux内核之间的命令解释器,Bash是最主流的Shell实现。命令行是服务器运维的唯一交互方式,掌握Shell是成为Linux高手的必经之路。Shell与Bash—Shell是用户与内核之间的命令解释器,Bash(BourneAgainShell)是绝大多数Linux发行版的默认Shell环境命令行不可替代—90%以上云服务器无图形界面,所有管理操作必须通过命令行完成,这是运维的核心技能Tab补全与历史命令—Tab键自动补全命令名、文件路径和参数,上下方向键翻阅历史命令,大幅提升操作效率自主查阅文档—通过man命令和--help参数可随时查阅官方文档,是自主学习和解决问题的关键能力Terminal—命令行是服务器运维的唯一交互方式Fundamentals基础命令:文件与目录操作掌握ls、cd、cp、mv、rm等核心命令及参数,是进行一切高级操作的前提。导航与浏览命令01pwd显示当前工作目录的完整路径,ls-la列出所有文件(含隐藏文件)的详细信息和权限02cd切换目录:cd~回主目录,cd..返上级,cd-回到上一次所在目录善用Tab键自动补全路径,可大幅提升命令输入效率并减少拼写错误文件操作命令01mkdir-p递归创建多层目录,cp-r递归复制整个目录树,支持通配符批量操作02mv同时承担移动和重命名,rm-rf强制递归删除,需极度谨慎以防误删系统文件安全提示:rm命令删除的文件无法从回收站恢复,建议先用ls确认目标文件再执行删除LinuxCommands文件内容查看与浏览命令Linux提供了多种文件内容查看工具,各有其最佳适用场景:cat适合短文件快速查看,less适合大文件分页浏览和搜索,head/tail适合查看文件首尾部分,tail-f则是实时监控日志的运维利器。cat—全文输出一次性输出整个文件内容,适合查看短配置文件;对于数百行以上的长文件应使用less分页浏览。catfilenameless—分页浏览支持上下翻页、/关键词搜索、n/N跳转匹配项,是查看大型日志文件和长文档的首选工具。lesslogfile.loghead/tail—首尾截取head-n20查看文件前20行,tail-n20查看文件最后20行,常用于快速检查配置文件开头或日志末尾。head-n20·tail-n20tail-f—实时追踪实时追踪日志文件变化,是运维人员监控服务状态和排查线上故障的核心命令。tail-f/var/log/syslogCOMMANDLINETOOLS文本处理三剑客:grep、sed、awkgrep、sed、awk是Linux文本处理的三大核心工具,被称为"三剑客"。三者配合管道符使用,可高效完成日志分析、批量配置修改与数据提取。01grep·模式匹配搜索grep-inr'error'/var/log/可递归搜索目录并忽略大小写、显示行号,是日志排查第一工具grep-inr'error'/var/log/02sed·流式编辑替换sed's/old/new/g'批量替换文本,sed-i直接修改文件,常用于批量更新配置文件中的参数值sed's/old/new/g'·sed-i03awk·结构化数据处理awk'{print$1,$3}'按列提取数据,支持内置变量和条件表达式,可实现复杂的日志分析和统计运算,是处理结构化文本的利器awk'{print$1,$3}'·NR变量·条件过滤04管道符·三剑客串联管道符|将前一命令输出作为后一命令输入,实现链式处理。cataccess.log|grep'500'|awk'{print$1}'可一步提取所有500错误的来源IP,大幅提升运维效率grep|sed|awk·管道串联LINUXESSENTIALSI/O重定向与管道:命令组合的艺术I/O重定向和管道符是Linux命令组合的核心机制,体现了Unix'小工具+组合'的设计哲学。通过重定向控制数据流向,通过管道串联多个命令形成处理链,可以用简单命令的组合完成极其复杂的数据处理任务。01>将命令输出重定向到文件(覆盖原内容),>>追加写入不覆盖,2>单独重定向标准错误流,实现输出与错误分离,便于日志分类管理>>>2>02管道符|将前一命令的标准输出直接传给后一命令作为输入,构建数据处理流水线。如psaux|grepnginx快速筛选特定进程信息|PIPE03tee命令实现双向输出,同时输出到屏幕和文件,兼顾实时监控与日志留存。常用于编译安装等需要查看实时输出又需保存记录的场景,如makeinstall2>&1|teebuild.logTEE04重定向与管道的组合可实现强大功能,构建自动化运维脚本。如find/-name'*.log'-mtime+30|xargsrm自动清理30天前的日志文件,结合定时任务实现系统维护自动化COMBOTerminalEditor终端编辑器:Vim核心操作指南Vim是Linux服务器环境中最常用的终端文本编辑器,以模式切换为核心设计理念。虽然学习曲线较陡,但一旦掌握其'普通-插入-命令'三模式体系,编辑效率将远超图形编辑器。三种核心模式普通模式为默认状态,负责光标移动与文本操作;按i进入插入模式用于文字输入;按:进入命令模式执行保存、替换等高级指令。Normal·Insert·Command普通模式快捷键hjkl对应左下上右移动,dd删除整行,yy复制整行,p粘贴,u撤销。全部操作无需双手离开主键盘区,大幅提升编辑效率。hjkl·dd·yy命令模式精要:wq保存并退出、:q!强制退出不保存、:%s/old/new/g全文替换。这是远程服务器环境中编辑配置文件的核心技能。:wq·:q!·:%s入门建议运行vimtutor内置教程练习30分钟即可掌握基本操作,随后在日常使用中逐步积累高级技巧与自定义配置,形成个人工作流。30分钟Scripting·AutomationShell脚本编程基础Shell脚本将零散的命令组织为可复用的自动化程序,是Linux运维自动化的基石。通过变量、条件判断、循环和函数等编程结构,Shell脚本可以完成日志轮转、自动备份、批量部署等重复性任务,将运维人员从繁琐的手工操作中解放出来。脚本声明与执行首行#!/bin/bash声明解释器,通过chmod+x赋予执行权限后即可像程序一样直接运行,实现命令的批量化和复用chmod+x编程结构支持支持变量赋值(NAME='value')、条件判断(if[-ffile];then...)、for/while循环和函数定义,具备完整的编程能力if/for/while实战:自动备份用tar打包目录、date生成时间戳文件名、find清理过期备份,配合crontab实现每日定时执行crontab定位与边界Shell是运维自动化第一步,复杂逻辑应考虑Python等语言替代,Shell更适合做系统级任务的"胶水"和"调度器"Glue&SchedulerCHAPTER03系统管理与服务控制用户权限模型、软件包管理与systemd服务控制三大核心管理技能USER&GROUPMANAGEMENT用户与用户组管理Linux通过UID/GID体系实现多用户隔离与权限控制。每个用户和用户组都有唯一标识符,用户信息存储在/etc/passwd和/etc/shadow中。合理的用户与组管理是系统安全的基础——遵循最小权限原则,避免日常操作使用root账户。用户管理每个用户拥有唯一UID(root为0),useradd创建用户、passwd设置密码、usermod修改属性、userdel删除用户UID0用户组管理用户组通过GID管理,groupadd创建组、usermod-aG将用户追加到组,实现批量权限分配GID信息存储用户信息存储在/etc/passwd(基本信息)和/etc/shadow(密码哈希,仅root可读),是安全审计重点/etc/shadow安全实践日常操作使用普通用户账户,仅在需要时通过sudo提权,避免直接使用root账户以防止误操作sudoSECURITY·PERMISSIONS文件权限与访问控制(rwx模型)Linux采用rwx权限模型对文件进行三级访问控制,配合SUID、SGID、StickyBit三种特殊权限实现精细化安全策略。755rwx权限模型每个文件对所有者(u)、组(g)、其他人(o)分别设置读(r=4)、写(w=2)、执行(x=1)三种基本权限。权限可用数字或符号灵活表示,如755代表rwxr-xr-x。chmod·chown权限配置命令chmod755可快速设置rwxr-xr-x权限,chownuser:group同时修改文件所有者和所属组,chgrp命令用于单独变更所属组身份。4755SUID/SGIDSUID让执行者临时获得文件所有者权限,常用于passwd等敏感命令;SGID使目录中新建文件自动继承父目录的组属性,便于团队协作。1777StickyBit广泛应用于公共目录如/tmp,确保用户只能删除自己创建的文件,有效防止用户间误删或恶意删除他人重要数据。PRIVILEGEMANAGEMENTsudo权限提升与安全配置sudo机制允许授权的普通用户在需要时临时获取root权限执行特定命令,是Linux最小权限原则的核心实现。通过精细配置sudoers文件,可以精确控制每个用户能执行哪些特权命令,既保障管理灵活性又最大限度降低安全风险。01sudo允许普通用户以root身份执行授权命令,sudo-l查看当前用户被授权的命令列表,所有sudo操作均记录到系统日志sudo-l02/etc/sudoers是权限配置文件,必须使用visudo命令编辑(内置语法检查),防止配置错误导致权限系统失效visudo03配置示例:'deployALL=(ALL)NOPASSWD:/usr/bin/systemctlrestartnginx'允许deploy用户无密码重启nginx服务NOPASSWD04企业最佳实践:按角色创建用户组并分配sudo权限,而非逐一配置个人;定期审计sudo日志(/var/log/secure)检测异常操作/var/log/securePackageManagement软件包管理与源码编译安装Linux通过包管理器从官方仓库安装软件,确保依赖关系自动解析和安全更新。Ubuntu/Debian使用apt,CentOS/RHEL使用yum/dnf,Arch使用pacman。对于官方仓库中没有的软件或需要定制编译参数的场景,则需要通过源码编译方式手动安装。aptUbuntu/Debian体系核心操作——aptupdate更新软件仓库索引,aptinstall/remove安装卸载软件,aptupgrade升级所有已安装包并自动处理依赖关系update·install·upgrade查询检索——aptsearch搜索可用软件包,aptshow查看包详细信息和依赖树,dpkg-l列出所有已安装的包及其版本号search·show·dpkgyum/dnfCentOS/RHEL体系包管理操作——yum/dnfinstall/remove安装卸载软件,yum/dnfsearch搜索包,yum/dnfupdate全量升级,操作逻辑与apt基本一致install·search·update源码编译安装三步——./configure检测环境和配置编译参数→make编译源代码→makeinstall安装到系统指定目录configure→make→installSERVICEMANAGEMENTsystemd服务管理与控制systemd是现代Linux发行版的标准初始化系统和服务管理器,通过systemctl命令统一管理所有系统服务,提供从启停到故障排查的完整链路。01服务启停与状态管理systemctlstart/stop/restart控制服务启停,enable/disable设置开机自启,status查看运行状态和最近日志摘要。02Unit统一抽象模型systemd将一切抽象为Unit:.service(服务)、.mount(挂载)、.timer(定时器)、.socket(套接字),统一管理接口。03服务列表与配置重载list-units--type=service列出所有活跃服务,daemon-reload在修改服务配置后重新加载单元文件。04结构化日志查询journalctl-u查看指定服务日志,-f实时追踪,--sincetoday按时间范围过滤,替代传统/var/log翻阅方式。CHAPTER04网络配置与安全加固从IP配置到防火墙规则,构建安全可靠的Linux网络环境LinuxNetworking网络配置基础与故障排查Linux网络配置涵盖IP地址分配、路由设置、DNS解析等多个层面。掌握ip、Netplan等配置工具和ping、curl、ss等诊断命令,配合'物理层→IP层→传输层→应用层'的分层排查方法论,是高效解决网络问题的核心能力。接口与路由诊断ipaddr查看所有网络接口的IP地址和状态,iproute显示路由表,ss-tlnp查看监听端口和对应进程ip·ssNetplan配置管理使用YAML配置文件定义静态IP、网关和DNS,netplanapply立即生效,替代旧版interfaces文件YAMLDNS与连通性测试DNS配置存储在/etc/resolv.conf,ping测试连通性,curl-I测试HTTP响应,traceroute追踪路由DNS·ping分层排查方法论物理连接→IP和路由验证→端口连通性→应用层服务配置,逐层定位故障根因L1→L7LinuxSecurity·防火墙防火墙配置:iptables与ufw防火墙是Linux服务器抵御外部攻击的第一道防线。ufw是iptables的简化前端,适合初学者快速配置;iptables直接操作内核级包过滤规则,功能更强大。正确配置防火墙的核心原则是"默认拒绝、按需开放",且务必确保SSH端口不被意外封锁。ufw快速入门Ubuntu默认防火墙工具,设置默认拒绝所有入站连接,按需开放SSH与Web端口。命令简洁直观,适合初学者快速上手配置服务器安全策略。ufwdefaultdenyincomingiptables内核级过滤Linux内核级包过滤框架,直接操作Netfilter规则链。可精细控制数据包流向,添加允许SSH入站规则,功能强大但语法较为复杂,适合高级用户。-AINPUT-ptcp--dport22firewalld区域管理CentOS/RHEL默认防火墙,使用区域概念管理规则。支持运行时与永久配置分离,持久化开放HTTP等常用服务,无需重启即可生效。--add-service=http--permanent配置安全铁律操作前必须确认SSH端口已开放,建议在tmux或screen会话中执行配置。先测试再保存规则,保留备用连接通道,防止意外断连导致服务器失联。SSH·tmux/screen·备用连接SecurityConfigurationSSH安全配置与暴力破解防御通过密钥认证替代密码登录、修改默认端口、禁止root远程登录、部署fail2ban自动封禁,构建多层防御大幅降低入侵风险。SSH密钥认证使用ssh-keygen生成RSA/Ed25519密钥对,将公钥部署到服务器authorized_keys,在sshd_config中禁用密码登录实现免密安全认证。Ed25519/RSA端口修改修改SSH默认端口可避开90%以上的自动化扫描攻击,修改后需同步更新防火墙规则允许新端口入站。Port22222权限控制在sshd_config中设置PermitRootLoginno禁止root远程登录,迫使管理操作通过普通用户sudo提权,增加攻击者横向移动难度。PermitRootLoginnofail2ban自动防御自动监控auth.log中的SSH登录失败记录,超过阈值自动通过iptables封禁来源IP,有效防御暴力破解攻击。5次/10分钟Chapter05运维实战与自动化系统监控、日志分析与定时任务,构建高效运维工作流SYSTEMMONITORING系统资源监控与性能分析Linux系统监控涵盖CPU、内存、磁盘、进程四大维度。top/htop监控进程资源占用,free评估内存状况,df/du分析磁盘空间,iostat诊断IO瓶颈。建立系统化的监控排查流程,是快速定位性能问题和预防故障的关键能力。top/htop进程监控实时监控进程CPU和内存占用,htop提供彩色界面和交互式操作,按P/M排序可快速定位资源消耗异常的进程。排序键P/Mfree内存评估查看内存使用情况,重点关注available字段(含可回收缓存的真实可用内存),而非单纯的free字段数值。核心字段availabledf/du磁盘分析df-h查看各磁盘分区使用率和使用量,du-sh/path统计指定目录空间占用,是磁盘空间告警时的首要排查命令。排查命令df-h系统化诊断路径top查异常进程→free查内存→df查磁盘→iostat查IO瓶颈→sar查历史趋势,形成完整诊断路径。工具链5步SYSTEMADMINISTRATION日志管理与分析Linux日志系统是故障排查和安全审计的核心数据来源。传统日志存储在/var/log目录下并由logrotate自动轮转管理,systemd的journalctl则提供结构化的统一日志查询接口。01核心日志文件:syslog(系统日志)、auth.log(认证日志)、nginx/error.log(应用日志)是最常查阅的三大类日志文件,涵盖系统运行、用户认证和应用程序的关键事件记录/var/log02日志轮转管理:logrotate自动执行日志切割、压缩和过期删除,配置文件在/etc/logrotate.d/下,防止日志占满磁盘。支持按大小、日期或自定义条件触发轮转,确保日志管理的自动化与可持续性logrotate03结构化查询:journalctl按服务、时间和优先级组合查询(如-unginx--since-perr),精准定位故障日志。支持输出格式定制、实时跟踪和字段过滤,大幅提升日志检索效率journalctl04安全分析实战:grep统计SSH暴力破解来源IP,配合fail2ban实现自动防御与入侵检测。通过正则匹配异常登录模式,动态更新防火墙规则,构建主动安全防护体系fail2banLinuxAutomation定时任务(crontab)与自动备份crontab定时任务配合rsync增量同步,构成了Linux运维自动化的基础框架。通过定时执行备份脚本、日志清理、健康检查等任务,可以将重复性运维工作完全自动化,显著降低人为失误风险并释放运维人员的时间精力。01crontab定时任

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论