从零到一:Linux系统管理与运维实战完全指南

发布时间:2026/7/31 18:46:12
从零到一:Linux系统管理与运维实战完全指南 Linux 概述与安装企业运行模式铁三角 产品 研发 运维流程走向: 产品设计 - 项目研发 -项目测试 - 项目上线 -系统运维研发 前端 后端运维: 产品上线 、后期的运行与维护工作都属于运维工程师范畴远程连接工具远程连接工具的作用是通过远程连接工具远程连接到服务器上方便操作常见的连接工具有XShell一款 Windows 平台下的 SSH 客户端软件支持SSH1、SSH2、SFTP、TELNET、RLOGIN等多种协议。只支持 Windows 平台。**FinalShell**一款一体化的服务器网络管理软件不仅支持 ssh 客户端还是功能强大的开发工具。PuTTY一款基于** SSH、Telnet、Rlogin 和串口连接**的远程终端连接软件支持 Windows 和 Unix/Linux 系统。SecureCRT一款功能强大的终端仿真程序支持SSH、Telnet、Rlogin 和串口连接。价格较高适用于商业用户。**MobaXterm**一款功能全面的远程网络工具包括 SSH、X11、DRP、VNC、FTP、MOSH 等以及 Unix 命令登陆之后默认开启 sftp 模式。WinSCP一款 Windows 环境下的SSH 的开源图形化 sftp 工具客户端支持 scp 协议本地与远程计算机间安全第复制传输文件。**NxShell**一款开源的 linux 远程管理工具支持 sftp适合日常远程管理 linux 服务器。Linux 基础命令备份操作系统**快照又称还原点保存在拍照时系统的状态。**后期随时可以恢复。注重短期备份或频繁备份**克隆**就是复制的意思侧重长期备份。做克隆必须关闭虚拟机。选中要克隆的虚拟机-虚拟机-管理-克隆Linux 系统使用注意项Linux 是严格区分大小写Linux 文件扩展名Linux 是通过权限位标识来确定文件类型常见的文件有普通文件、目录、连接文件、块设备文件在 Linux 中的一些特殊还是要求写“扩展名”的Linux 不依赖扩展名识别文件类型扩展名是为了帮助运维人员区分不同的文件类型。文件扩展名种类压缩包Linux 压缩包常见扩展名.gz .bz2 .zip .tar。二进制软件包Centos 中使用的二进制安装包是 RPM 包所有 RPM 包都是.rpm 扩展名。程序文件.sh .py; 网页文件.php .html 这些是网页服务器的要求并不是 Linux 的要求。Linux 中一切皆文件所有内容都以文件形式保存。普通文件分为一般文件黑色和可执行文件绿色在 Linux 中所有存储设备必须在挂载后才能使用Linux 系统的文件目录结构Linux 系统不同于 Windows所有文件都在根目录下/路径的概念路径区分为绝对路径和相对路径。绝对路径不管当前路径在哪目标路径都从“/”磁盘下开始。相对路径指的是一个相对物一般就是当前的工作路径。…/: 表示上一级目录./表示当前目录目录作用/bin存放常用命令/sbin存放超级管理员使用的系统管理程序/boot存放 Linux 启动时的一些核心文件/rootroot 用户家目录/home普通用户家目录/dev存放外部设备/etc存放系统所有系统管理的配置文件和子目录/lib存放系统最基本的动态连接共享库/media自动识别的设备挂载目录/mnt临时挂载目录如光驱/opt第三方程序安装目录/proc存放当前内核运行状态的一些特殊文件是虚拟的是系统内存的映射可直接访问获取系统信息/srv存放一些服务启动后需要提取的数据/sysLinux2.6 内核后安装的一个文件系统 sysfs/tmp存放临时文件/usr存放用户的应用程序和文件/var存放不断扩充的东西常被修改的目录/run是一个临时文件系统存放系统启动以来的信息。Linux 命令入门终端提示符含义命令与选项什么是命令?就是 Linux 终端(命令行界面)中输入的呢绒称之为命令Linux 命令格式:命令 (空格) 选项 [ 参数 ]命令名: 执行命令的名字 如:ls、cd、mkdir、touch空格必须字符最少一个选项执行命令所需要的属性信息参数命令作用的对像:::danger注意命令与选项之间要有空格选项与选项之间要有空格选项与参数之间要有空格是必不可少的一个字符最少一个:::基础命令uname查看系统信息-a 列出所有系统信息ls列出目录下信息1. **ls**含义列出当前工作路径下的文件名称2. **ls /home/linux**含义列出/home/linux 路径下的文件名称3. ls linux/含义列出当前工作路径下linux 目录下的文件名4. ls 后面根参数选项、路径含义在列出指定路径下的文件/文件夹名称并以指定的格式进行显示常见参数-aa 代表 all表示显示所有的文件/文件夹而且包含隐藏文件/文件夹-ll 代表 list表示以详细列表的形式进行展示-d只显示目录的信息-h以较高的可读性文件大小来展示-R递归显示所有的文件pwd 显示当前路径cd 切换目录clear 清除屏幕信息whoami 查看当前用户reboot 重启操作系统shutdown 关机命令shutdown 系统在 60s 后关机shutdown now 系统立即关机shutdown -h 20 系统在 20 分钟后关机shutdown -c 系统取消关机扩展poweroff 或 init 0 或 shutdown now 关机type 查看命令是内部命令还是外部命令history 列出最近输入的一千条信息hostnamectl 读取或设置操作服务器的主机名同时设置静态或瞬态主机名hostnamectl set-hostname 主机名如 hostnamectl set-hostname aliyun.cloud2. **配置灵活主机名**hostnamectl --pretty set-hostname 主机名如hostnamectl --pretty set-hostname “aliyun’s cloud”3. **配置瞬态主机名**hostnamectl --transient set-hostname 主机名如hostnamectl --transient set-hostname alibaba命令帮助help 查看命令帮助区分内部/外部命令如type ls先 type 查看命令是内部/外部命令外部命令查看帮助命令名 --help如ls --help内部命令查看帮助help 命令名如help cdman 手册查看命令帮助不区分内外部命令文件管理文件命名规则可使用哪些字符除“/”字符所有字符都可使用但不建议使用特殊字符正常文件命名规则:1. 尽量都是用小写字母因为 Linux 严格取反大小写 2. 如要对文件名进行分割建议使用_zhaobao_2024_12_02文件名的长度目录名或文件名长度不能超过 255 个字符文件名大小写Linux 严格区分大小写所以不建议使用字符的大小写来区分。建议文件名一律使用小写。Linux 文件的扩展名Linux 中不以扩展民对文件类型进行区分文件扩展名只是房版运维人员更好的区分不同的文件类型文件类型是依权限位标识进行区分还可通过文件颜色进行区分。Linux 下的文件管理创建目录在实际应用中与目录相关的操作就两个创建和删除目录mkdir 创建目录mkdir -p 递归创建mkdir -v 或 --verbose为每一个被创建的目录打印一条信息删除目录必须是空目录rmdir remove directory)移除空目录rmdir -p 递归删除空目录touch 文件创建文件删除rm 普通删除选项-r针对文件夹删除-f 代表递归删除先把目录下所有文件先删除然后在删除文件夹。-f强制删除不提示直接删除。rm -rf /* 一定要慎重cpcopy复制操作mv 剪切或重命名操作打包压缩与解压缩概念打包在默认情况下Linux 的压缩概念一次只能压缩一个文件。针对多文件或文件夹是无法直接进行压缩的所以需要提前对多个文件或文件夹进行打包这样才可以压缩操作。通过 dd 命令可以创建指定大小文件cd/tmprm-rf*ddif/dev/zerobs1Mcount5ofa.txtddif/dev/zerobs1Mcount10ofb.txtddif/dev/zerobs1Mcount15ofc.txtls-lh在 Linux 系统中使用打包#tar [选项] 打包后的名称.tar 多个文件或文件夹选项说明-c打包-ffilename打包后的文件名称-v显示打包的进度-uupdate 缩写更新原打包文件中的文件-t查看打包的文件内容tar -tf 以及 tar -uftar -tf 打包后的文件名称 # 查看 tar 中的文件信息tar -uf 打包后的文件名称 更新 tar 中的内容打包并压缩tar [ 选项 ] 压缩后的压缩包名称 要压缩的文件或文件夹选项-cf对文件或文件夹进行打包-v显示压缩进度-z使用 gzip 压缩工具把打包后的文件压缩为.gz-j使用 bzip2 压缩为.bz2-J使用 xz 压缩为.xz压缩速率gzip bzip2 xz压缩率gzip bzip2 xz压缩与解压缩zip 压缩选项-r 递归压缩主要针对文件夹unzip 解压缩unzip 压缩包名称 # 解压到当前路径下unzip 压缩包名称 -d 指定路径 # 解压到指定路径下vim 编辑器vi 编辑器vivisual editer编辑器通常被简称为 vi是 Linux 和 Unix 系统的上的最基本的文本编辑器类似于 windows 系统下的 notepad记事本编辑器。vim 编辑器VimVi improved是 vi编辑器的加强版比vi 更容易使用vide 命令几乎全部都可以在 vim 上使用。vim 编辑器的安装CentOS7 图像化默认已经安装好了 vi 或 vim。有些精简版未安装在有网的前提下可以使用 yum 工具对 vim 编辑器进行安装yum intall vim -yvim 的四种模式重点命令模式使用 vim 编辑器时默认处于命令模式。在该模式下可以移动光标位置可以通过快捷键对文件内容进行复制、粘贴、删除等操作。编辑或输入模式在命令模式下输入小写字母 a 或小写字母 i 即可进入编辑模式在该模式下可以对文件的内容进行编辑。末行模式在命令模式下输入冒号即可进入末行模式可以在末行输入命令对文件进行查找、替换、保存、退出等操作可视化模式了解可以做一些选列操作通过方向键选择某些列的内容vim 四种模式的关系vim 的使用如果文件存在直接打开如果文件不存在则自动在内存中创建一个新文件vim 保存文件在末行模式下输入 wq保存并退出强制退出不保存在末行模式下输入 q强制退出。命令模式可以进行的操作如何进入命令模式使用 vim 命令打开文件时默认进入命令模式其他模式下连续按两次或一次 esc 返回到命令模式。命令模式可以进行哪些操作移动光标、复制、粘贴、剪切、撤销、恢复撤销移动光标到首行或末行移动光标到首行gg移动光标到末行G移动光标到行首shift^移动光标到行尾shift$翻屏向上 翻全屏按键ctrlbbefore或 PgUp向下 翻全屏按键ctrlfafter或 PgDn向上 翻半屏按键CTRLuup向下 翻半屏按键CTRLddown快速定位光标到指定行行号G如将光标快速移动到 5 行复制/粘贴复制当前行按键 yy粘贴在想要粘贴的地方按下 p 键粘贴在光标所在行的下一行想要粘贴在光标所在行之前则使用 P 键。2. 复制多行从当前行开始复制指定的行数如复制 6 行6yy粘贴同上3. 撤销u末行模式下的操作进入末行模式在命令模式下使用冒号进入末行模式有哪些操作文件保存、退出、查找、替换、显示行号、paste 模式等保存/退出:w 代表对当前文件进行保存不退出:q 代表退出当前文件如果编辑了文件内容无法退出:wq 保存并退出。:q! 代表强制退出不管是否编辑内容直接退出已编辑不保存。查找/搜索在命令模式下进入末行模式输入或//搜索内容如/hello搜多到内容会以高亮显示取消高亮/noh【no hight light】:/搜索内容案例:/help取消高亮:noh在一个文件中搜索文件内容的替换需要在命令模式下使用冒号进入末行模式只替换当前光标所在这一行的第一个满足条件的结果: s/要替换的关键词/替换后的关键词/ 回车替换光标所在行中的所有满足条件结果: s/要替换的关键词/替换后的关键词/g gglobal 全局替换如: s/c/3/g针对整个文档中的所有行进行替换:%s/要替换的关键词/替换后的关键词/g gglobal 全局替换如::%s/c/3/g针对整个文档中的所有行进行替换。只替换每一行中满足条件的第一个结果:%s/要替换的关键词/替换后的关键词 gglobal 全局替换如:%s/c/3显示行号:set nunu number行号取消行号:set nonuset paste 模式扩展在 vim 中粘贴代码时会出现多余缩进的问题。最终会是代码变乱的粘贴代码或数据前可以开启 paste 模式:set pasteset nopaste编辑模式编辑模式的作用编辑模式主要时实现对文件的内容进行编辑的一个模式如何进入编辑模式在命令模式下使用小写字母 a 或小写字母 i进入编辑模式扩展进入编加模式o 在光标下一行插入 O 在光标上一行插入a 在光标之后插入 A 在光标所在行尾插入命令模式iinsert 缩写代表在光标之前插入内容命令模式aappend 缩写代表在光标之后插入内容退出编辑模式直接按 ESC 键退出可视化模式进入可视化模式按 CTRLv 进入可视块按小写 v 是可视按大写 V 是可视行。在可视模式中使用方向键上下左右箭头选中需要复制的区域按 y 进行复制按 p 进行粘贴可视化模式操作在命令模式下按小写 v 进入可视化模式移动方向键上下左右选择需要复制的内容按 y 键进行复制移动光标停止需要粘贴的位置按 p 进行粘贴操作查看文件内容cat 查看文件-n显示行数tac 倒序显示文件内容head 显示文件前 n 行内容默认显示前 10 行-n 指定显示前 n 行tail 显示文件后 n 行内容默认显示后 10 行-n 指定显示后 n 行-f 动态显示后 n 行管道将前面命令的执行结果交给后面命令处理符号|可以使用 head 和 tail 命令通过管道“|”查看文件的任意内容more 命令注意加载文件时不是一点一点加载的而是把打开文件的时候就已经把文件内容加载完到内存中。按键功能回车向下移动一行d向下移动半页空格向下移动一页b向上移动一页q退出 moreless 分配显示文件内容不是加载整个文件到内存而是一点一点加载的相对于 more 而言读取大文件时效率更高一点按键功能回车向下移动一行d向下移动半页空格向下移动一页b向上移动一页less -N 文件名称文件内容显示行号/字符串搜索内容搜索指定内容上下方向键向上与向下移动wc 统计文件行数或单词数wc [ 选项 ] 文件名称选项-l表示 lines行数以回车/换行符为标准-w表示 words单词数依照空格判断单词数量-c表示 bytes字节数du 统计文件或文件夹大小选项-ssummaries只显示汇总的大小统计文件夹的大小-h以较高的可读性显示文件或文件夹的大小find 命令find 搜索路径 [ 选项 ]-name指定要搜索文件的名称支持*星号通配符-type指定搜多的文件类型f 代表普通文件d 代表文件夹-type指定文件大小功能帮助管理员查找文件路径find /var -name “boot.log” -type f 在/var 搜索 boot.log 文件find / -name “boot.log” -type f 全盘搜索 boot.log 文件find /var/log -size 4M 搜索/var/log 大于 4M 的文件grep 命令grep [ 选项】要搜索的关键词 搜索的文件名称在文件中直接找到包含指定关键词的行并高亮显示出这些信息选项-n代表显示包含关键词的行号echo 命令在终端输入指定的内容并输出echo “文本内容”或重定向“” 标准重定向覆盖输出会覆盖原先的文件内容“” 追加重定向追加输出不会覆盖原始文件内容只会在原始内容末尾继续添加链接软链接ln -s硬链接ln 命令硬链接和软链接的区别硬链接软链接无论是删除源文件是链接文件只要有一个文件存在就不受影响删除源文件链接文件会找不到实际数据和原文件共用一个inode会新建自己的inode和blockblock中不会存储文件数据不会占用inode和block会占用inode和block不可以跨分区可以跨分区不可以链接目录可以链接目录用户管理用户组操作主要是用户组的添加、修改和一级用户组的删除组group添加add groupadd 添加组修改mod groupmod 修改组删除del groupdel 删除组用户组的添加groupadd [ 选项 ] 用户组名称-g代表用户组的组 ID 编号。自定义组从 1000 开始不能重复默认情况下添加的用户组都会放在一个系统文件中文件位置 /etc/group第一列用户组的名称第二列用户组的组密码使用一个 5x 进行占位安全起见第三列用户组的 ID 编号 1-999 是系统用户组的编号1000 以后的组 ID 时自定义组的编号第四列用户组内的用户信息用户组的修改groupmod [ 选项 ] 原来的用户组名称-ggid 的缩写修改用户组的 id-nname 的缩写修改用户组的名称用户操作主要是用户组的添加、修改和一级用户组的删除用户user添加add useradd 添加用户修改mod usermod 修改用户删除del userdel 删除用户用户的添加useradd [ 选项 选项的值 ] 用户名称-g代表添加用户时指定的用户所属组的主组-s代表指定用户可以使用的 shell 类型默认为/bin/bash拥有大部分的权限还可以是/sbin/nologin/sbin/nologin 不能用于登录操作系统。/bin/bash - 给人使用/sbin/nologin - 给软件使用-G代表添加用户时指定用户所属组的附属组附加组可以指定多个用逗号隔开即可-u代表添加用户时指定的用户 ID 编号ID 编号同样也是从 1000 开始-c代表用户的注释信息lat龙傲天的账号-d代表用户的家目录默认为/home/用户名称可以使用-d 进行更改-n取消建立以用户名称为名的群组了解用户信息查询id 用户名称查询某个指定的用户的信息uid用户编号gid用户所属的主组编号groups用户的主组一级附属组信息第一个是主组后面是附属组主组只有一个附属组有多个用户文件内容组/etc/group 文件用户/etc/passwd 文件每创建一个用户就会在此文件中追加一行tail -3 /etc/passwd用户文件内容有 7 列用户名称用户的密码使用一个 X 占位真实密码存储于/etc/shadow用户的 id 编号数字用户的主组 id 编号数字代表的注释信息使用 useradd -c“备注信息”用户名称 进行添加用户的家目录默认在 /home/用户名称用户可以使用的 shell 类型使用 useradd -s /bin/bash 或 /sbin/nologin 用户名称 进行修改用户修改-s修改用户可以使用的 shell 类型-g修改用户的主组-llogin name 修改用户的名称扩展-L锁定用户锁定后用户无法登录系统 lock-U解锁用户 unlock-G修改用户的附属组的编号信息-d修改用户的家目录-c修改用户的备注信息给用户设置密码passwd 命令给用户设置密码注意只有 root 用户才能给用户设置密码普通用户只能需改自己的密码交互式passwd xiaohong非交互式echo “123” | passwd --stdin xiaohong用户的密码文件/etc/shadow切换用户su 切换用户su - 用户名-横杠代表切换用户的同时切换用户的家目录从 root 切换到普通用户不需要密码退出普通用户输入命令 exit从普通用户切换到其他用户包括 root需要输入密码wheel 组在 linux 中理论上只有 wheel 组中的用户才可以通过 su 命令切换到 root 账户默认所有普通用户只要指定 root 密码都能切换到 root。然后默认 wheel 组规则不生效开启 wheel 组vim /etc/pam.d/su取消注释用户删除删除用户但不删除用户的家目录userdel u1删除用户同时删除用户的家目录userdel -r u2注意如果一个用户的主组是另一个用户的主组那么删除这个用户的时候主组是不会被删除的如果一个组是一个用户的主组就不能直接删除此组必须先删除用户如果一个用户的家目录指定了非/hom 下删除此用户不会删除该用户指定的家目录权限管理权限概述权限的基本概念表示权限针对文件权限针对目录读 r可以查看文件内容可以查看目录中存在的文件名称,使用 ls写 w可以更改文件的内容vim 修改可以删除目录中的子文件或者新建子目录rm执行 x可以运行程序可以进入目录中cd注意一般在给予目录或文件权限时会使用套餐组合给文件 w 权限就要给 r 权限给目录读取权限就要给执行权限为什么要设置权限服务器中的数据是有价值员工的工作职责和分工不同应对外部的攻击内部管理的需要普通权限管理ls -l 查看文件权限简写为 ll注意ll 命令是红帽以及 centos 系统特有的命令其他操作系统可能不支持文件类型以及权限解析Linux 中文件类型一共有 7 种-普通文件d目录文件l软链接类似 windows 的快捷方式bblock块设备硬盘、光驱p管道文件c字符设备文件串口设备、光猫s套接口文件文件或文件夹的权限设置字符、数字**基本语法**chmod chang modchmod [ 选项 ] 权限设置 文件或文件夹的名称选项说明-R递归设置主要用于文件夹的权限设置三个方面确认要给哪个身份赋予权限 u、g、o、ugo(a)添加权限、删除权限-、赋予权限确认赋予用户什么样的权限r、w、x通过数字进行权限设置权限对应数字意义r4可读w2可写x1可执行rwx 4217rw 426rx 41 5文件拥有者以及文件所属组设置文件拥有者所属组设置基本语法chown ch changeown ownerchown [ 选项 ] 文件拥有者文件所属组名称 文件名称或chown [ 选项 ] 文件拥有者.文件所属组名称 文件名称选项说明-R代表递归修改主要针对文件夹文件所属组设置基本语法chgrp ch change grp groupchgrp [ 选项 ] 新文件所属组名称 文件名称选项说明-R代表递归修改主要针对文件夹特殊权限特殊权限 suidsuid 属性只能运用在可执行文件上含义是开放文件所有者的权限给其他用户即当普通用户执行该执行文件时会拥有该执行文件所有者(root 用户权限)的权限。suid 仅限于可执行文件也就是 二进制文件比如系统下的/usr/bin 下提供的命令/usr/bin/ls、/usr/bin/rmsuid 特殊权限只要用户设有 suid 的文件有执行权限那么当用户执行此文件时会以属主的身份去执行 一旦文件执行结束身份的融合也会随之消失。注意suid 功能是针对二进制命令设置的不能用在 shell 脚本上。用户权限位 x 位置处如果有则为 s无则为 S表示该命令存在 suid 权限。特殊权限 sgidsgid 属性可运用于文件或目录运用在文件的含义是开放文件所属组的权限给其他用户当用户执行该执行文件时会拥有该执行文件所属组用户的权限。对于文件夹为某个目录设置了 sgid 后该目录文件属于属组在这个目录下创建的文件、文件夹都会继承该目录的属组。对于二进制文件若 g 具有 x 权限并设置了 sgid 权限其他用户可以获得属组的权限去执行该二进制文件特殊权限 sticky权限只能运行于目录上限制普通用户在此目录下只能删除自己的文件不能删除其他用户的文件。sticky 权限是起到防止被别人误删除的作用通过数字修改文件的特殊权限特殊权限数字表示方式Suid4Sgid2Sticky1ACL 访问控制列表使用场景当一个用户与文件属主、属组、其他人权限都不相同的时候我们可以使用 ACL 访问控制列表也就是说这个用户对于这个文件不属于三种身份的任何一种是属于第四种身份需要使用 ACL 权限去给他赋予单独的权限查看 acl 权限getfacl 文件或目录名称设置文件的 ACL 权限setfacl[选项]文件或目录名称选项说明-m修改 acl 权限-x去掉某个用户或某个组的权限-b删除所有 acl 策略-R递归主要针对文件夹-d应用到默认访问控制列表的操作继承效果Umask什么是 umask代表创建文件的默认权限root 创建文件默认权限是 644普通用户创建文件默认权限是 644查看 umask 值修改 umaskumask022vim~/.bashrc在文档末尾添加 umask 022 即可保存并退出su 切换用户生效umask 码作用umask 码使得用户创建目录和权限时拥有默认的权限创建文件的权限默认值文件权限 初始权限666 - umask创建目录的权限默认值初始权限777 —— 转换成 字母 r w x r w x r w xumask 权限如022 —— 转换成 字母 - - - - w - - w -隐藏权限文件的隐藏权限默认看不到的权限对管理员也生效添加隐藏权限chattr a/i 文件名选项a限制用户只能追加内容不能删除剪切文件i限制用户只能查看文件内容不能删除剪切追加修改文件查看隐藏权限lsattr 文件名删除隐藏权限chattr-aa.txt chattr-ib.txt