Linux运维从入门到精通
龟速更新ing虽然还有好多没更新默认安装好了centos7如何实现Linux的远程连接首先我要知道主机的IP地址有了IP电脑才能知道要访问的对象ip -a #获取IP地址 #如果没有用可以使用ifconfig在自己主机上的IP地址一般使用的是ens33这张网卡所以只要看ens33下的这个IP就行了获取了IP地址以后就可以打开SSH软件建立会话建立SSH链接没有特殊情况的话端口号是22问题ens33网卡没有IPV4cd /etc/sysconfig/network-scripts/进入网络配置文件目录。输入vi ifcfg-ens33编辑网卡配置文件。将ONBOOTno改为ONBOOTyes表示开机自动启动网卡。保存并退出vi输入:wq。service network restart 重启网络这样ens33网卡的IPV4就出现了至少我是这样的Linux的目录结构Linux系统是单根结构意思就是Linux的所有目录起始目录都是/而windows是但根结构有CDEF这些盘属于多根结构Linux的设计师这么设计的原因是所有东西都是从根目录开头使文件比较好找Linux的基本命令命令格式命令 -选项 参数ls查看目录下全部文件-l 长格式化相当于显示更多详细的信息-lh 将长格式化中所显示出来的内存进行单位换算K/M/G-a 显示隐藏文件cp复制命令-r 复制的对象使文件夹cp -r A B从A复制到Bpwd显示当前用户的home目录mkdir:创建文件夹-p 告诉mkdir有多少个层级一件创建同时也可以在同级目录下创建多个文件夹。就比如说/etc/{a,b,c}tough:创建文件cat查看文件全部内容more分页查看mv移动文件rm删除文件-rf 强制删除慎用which返回要找文件的绝对路径find在指定目录下搜索文件find [搜索起始路径] -name 文件名grep在文件中搜索关键字-l 只统计行数(以回车统计换行)-w 只统计单词数-c 只统计字节数-m 只统计字符数|管道符将左边命令的标准输出作为右边命令的标准输入echo在屏幕上输出内容类似于高级语言中的print在echo中不能够直接输出文件中的内容。比如说我现在有一个文件a文件a中写了1234。我现在想让echo输出1234我不能直接写echo a这样的话他的返回结果就是a。那如果想要返回结果是1234的话那么就要这么写echo a echo $(a) $()#作用是一样的就是先执行里面的内容:覆盖写入:前面的结果输出到后面去追加写入tail默认显示文件后10行-n 指定显示尾部行数-f 持续跟踪文件尾部变化实时显示新内容Linux用户和权限当我们输入ls -l查看详细信息时候会出现类似以下内容-rw-r--r--. 1 root root 96009 6月 5 2025 build_chain.sh字段1权限字符串字段2硬链接数1或2字段3所有者字段4所属组字段5大小字段1由10个字符构成第一个字符表示文件类型-普通文件d目录l软连接b块设备文件c字符设备文件将剩下的9个字符平分成三份-第一段表示所有者第二段表示所属组第三段表示其他人rwx权限的含义r阅读权限w写权限x执行权限Linux下检查权限的顺序检查是否为文件所有者检查是否属于文件所属组应用其他用户权限我们修改权限的命令是chmod用户类别u:所有者g所属组o其他a所有操作符添加-移除设置权限字符r读w写x执行例如chmod ux file.txt #给文件的所有者添加执行权限 chmod g-w,o-r file.txt #给所属组移除写权限给其他用户移除读取权限 chmod urwx,grx,ofile.txt #一次性设置所有用户权限覆盖原有设置chmod数字模式r4,w2,x1,无权限0要什么权限就是把数字相加就好了修改文件所有者chown可以修改文文件的所有者和所有组chown [选项] [所有者][:[组]] 文件名 -R递归修改目录及其所有内容的归属Linux系统服务管理systemctl命令systemctl是管理系统服务的主命令行工具是systemmd的前端接口。主要是启动/重启/停止服务、查看状态、设置开机自启等。服务是后台持续运行、提供特定功能且无需交互的程序。systemctl[选项][命令][服务单元名称]#核心语法结构 #核心命令包括start/stop/status/enable开机自启/restart/reloadLinux系统监控与日志查看top命令是Linux中比较常用的一个监控实时工具包类似于Windows中的任务管理器可以动态显示进程资源占用情况如cpu内存并排序。htop是top命令的增强版支持鼠标交互、有进程树、可以批量kill进程但是需要另外安装。sudo yum install -y htop #CentOS sudo apt install -y htop #Ubuntu无法下载htop在学习的过程中我无法下载htop首先告诉我下载失败我去问了万能的deepseek大人deepseek大人告诉我CentOS 7已停止维护2024年6月30日结束生命周期官方镜像源已迁移到归档仓库并且给出了解决方案mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup #备份原有repo文件 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 使用阿里云镜像源CentOS 7归档 yum clean all yum makecache #清理缓存并生成新缓存执行完以后是不报错了但是显示没有htop这个包教程告诉我要先安装一个拓展仓库然后再去安装htopyum install epel-release -y至此解决所有问题可以开始下载htop比较常用的交互命令鼠标点击排序/选择/快速搜索进程t切换进程树视图k杀死选中进程接下来我们要用命令查看磁盘空间主要分为df和du命令df命令报告文件系统的磁盘空间使用情况显示整个磁盘分区的信息-h 人类可读-t 显示类型du命令估算文件或目录占用的磁盘空间显示具体项目的大小-h 可读-s 总计-c 汇总-a 所有Linux的日志主要存储在/var/log目录下常见的日志文件主要有messages系统主日志secure安全认证日志cron定时任务日志boot.log:系统启动日志系统轮转会自动归档、压缩和删除旧日志Linux日期、时间与时区管理date命令可以查看时间默认格式下不符合中文阅读习惯常用的格式化符号%Y年份%m二位数月份%H24小时制小时00-23%S秒Linux网络传输端口与端口查看在Linux中的/etc/services告诉我们Linux默认保留端口的文档netstat适用于显示网络连接、路由表和协议统计信息的命令行工具常用的选项组和-a显示所有连接-n以数字的形式显示地址和端口-p显示关联的进程PID和名称-t只显示TCP连接-u只显示UDP连接Shell脚本shell就是一个命令解释器如果没有shell的话就没有办法使用命令。如何写shell脚本shell的种类比较多如bashshcshksh等等。为什么会有那么多这是因为随着Linux和unix的发展而划分出的流派。使用哪一种会在文件头部写明。比如#!/bin/bash就相当于告诉系统等一会儿用这个执行。再Shell脚本中使用‘’进行变量赋值如varvalue并通过‘$var‘来使用变量#!/bin/bash #定义目录名称 DIRNAME/data/backup mkdir -p ${DIRNAME} echo 变量的值为${DIRNAME}if语句的基本格式if[条件]; then #bool为真执行 fi if [条件]; then #bool为真执行 elif[条件]; then #bool为真执行 else #bool为假执行 fi#条件式举例说明 条件式判断文件夹是否存在 if[ -d data ]; then echo 目录存在 fi #检测文件是否存在 if [ -f /etc/hosts ]; then echo 系统hosts文件存在 fi #[]首尾内部必须添加空格不然会报错。不要问我怎么知道的#!/bin/bash for i in {1..5} do echo 数值$i done #进阶一点的写法就是可以看文件 for i in $(ls /) do echo $i done #要批量创建用户 for i in ${cat /shell/uname.log} #告诉系统以这个文件里的内容作为循环变量他是一行一行读取的 do useradd ${i} echo 用户创建成功 doneMysql安装#case语句基本语法 case 变量 in 模式1) 执行操作1 ;;#双分号代表结束 模式2 | 模式3) #多条件用|分割 执行操作2 ;; *)#默认分支其他情况 执行操作 ;; esac #结束标记MySQL5.7默认没有在CentOS官方的仓库中无法直接通过yum指令去安装我们需要手动添加yum仓库。rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022然后我们就可以开始安装mysql了我们要安装的是MySQL5.7社区版服务指令如下yum -y install mysql-community-server提示找不到这个包我按照这个指令操作但是现实没有相对应的mysql包于是我又去求助了万能的deepseek大人添加MySQL官方Yum仓库# 下载MySQL仓库安装包适用于CentOS 7 wget https://repo.mysql.com/mysql80-community-release-el7-11.noarch.rpm # 如果wget不可用用curl替代 curl -O https://repo.mysql.com/mysql80-community-release-el7-11.noarch.rpm安装仓库包rpm -Uvh mysql80-community-release-el7-11.noarch.rpm检查仓库是否启用yum repolist enabled | grep mysql安装MySQL服务器yum install mysql-community-server -y由于我忘记了root密码所以采取以下方法进行操作我这里用的是mysql8如果是mysql5.7的话好像会有出入应该是字段会不一样我看过帖子的目测vi /etc/my.cnf到文件最下方输入skip-grant-tables然后wq退出。然后按照正常方法进入mysql由于我们输入了skip-grant-tables跳过验证所以我们可以无需密码就进入mysql。把mysql.user表中属于root的authentication_string填写为空然后再退出。update user set authentication_string WHERE User root AND Host localhost;回到my.cnf把skip-grant-tables删除然后重启。重新设置密码如果直接在第四步设置由于skip-grant-tables的存在会导致操作失败UPDATE user SET authentication_string 要设置的密码 WHERE User root AND Host localhost;权限管理创建用户CREATE USER usernamehost IDENTIFIED BY password;创建本地用户CREATE USER devlocalhost IDENTIFIED BY !Aa123456创建远程登录用户CREATE USER consumer% IDENTIFIED BY !Aa123456要注意的是主机地址可以是localhost本地%任意ip或者具体ip密码需要复合安全策略8位及以上含大小写字母、数字、符号给用户授权格式GRANT AUTHORITY_LIST ON DATABASE.TABLE TO USERNAMEHOST全局权限GRANT ALL PRIVILEGES ON *.* TO USERNAMEHOST剩下的就是正常按照按照sql语句中的关键字作为权限符SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,DROP,INDEX……列级权限会跟上述格式有些出入在这里举个例子GRANT SELECT(ID,NAME),UPDATE(PRICE) ON MYDB.ORIDYCTS TO USERNAMEHOST要注意的是输入完以后要使用FLUSH PRIVILEGES来刷新权限,如果要撤销权限的话只用吧GRANT改成REVOKE就可以了数据库备份mysql使用mysqldump工具来备份使用mysqldump可以到处数据库结构和数据生成sql语句便于数据迁移和备份。我安装的版本默认已经提供了mysqldump别的版本尚且不知基本语法我在实操的时候发现-p[password]的这种方法不知道为什么一直报错但是直接-p再输入密码就是好的。mysqldump -u[username] -p[password] [option] [databasename] [tablename] backupname.sql如果要备份多个表只用将[tablename]变成table1 table2这样子就行了可以使用--where进行筛选mysqldump -u root -p [databasename] table1 table2 --whereid1000 backupfilename.sql备份单个数据库mysqldump -u root -p --single-transaction --routines --events databasename backupfilename.sql--single-transaction 确保InnoDB表一致性--routines和--events 包含存储过程和定时任务MySQL高级特性MySQL是可以多实例运行的就是可以在一台服务器上运行多个MySQL。他的资源是隔离的可以针对不同的性能进行调优由于是多实例每个实例都有独立的数据目录、配置文件、端口号、日志文件独立的进程和资源调配cpu、内存设置mysql开机自启sudo systemctl enable mysqld创建第二个实例的数据目录sudo mkdir -p /data/mysql2 sudo chown -R mysql:mysql /data/mysql2 #创建日志目录 sudo mkdir -p /var/log/mysql2 sudo chown -R mysql:mysql /var/log/mysql2多个实例共用一个启动文件配置文件[mysqld] basedir /usr/local/mysql datadir /data/mysql socket/tmp/mysql2.sock port3307 log-error/data/mysql2/mysql-error.log pid-file/data/mysql2/mysql.pid skip-name-resolve1 symbolic-llinks0 explicit-defaults_for_timestamp1 key_buffer_size256M server-id2初始化实例mysqld --defaults-file/etc/my.cnf.d/mysql2.cnf --initialize --usermysql然后在我们配置的log-error的地方会生成密码我们查看文件获取密码ammmm多实例报错了过两天补Redis安装redisyum update yum install epel-release yum -y install redisredis的配置文件位于/etc/redis/redis.conf或者/etc/redis.confredis默认只能本地访问如果要让别人访问的话就要修改bind配置修改成0.0.0.0设置一个访问密码的话就要修改requirepass,我找到的话是在480行被注释掉了设置开机自启systemctl start redissystemctl enable redisredis提供了专门得命令端叫做redis-cli一般设置redis的键值set key value get keyHash一般具有极高的唯一性用于快速检索。列表一般用于消息队列支持从两端插入和弹出属性如PUSH和RPRP。通过LRANGE命令可以获取列表中指定范围的元素实现数据的分页和批量处理。BLPOP和BRPOP命令允许用户对列表进行阻塞式弹出常用于实现消息队列。集合是redis中的一种数据类型用于存储不重复的无序字符串redis提供了SADD、SMEMBERS命令来添加获取集合中的元素。可以运用于如用户的关注列表。有序集合Zset一般会关联一个二double类型的分数根据分数进行排序。ZSet提供了丰富的操作命令如ZADD添加元素、ZRANGE获取指定范围元素、ZREVRANK获取元素的逆序排名等。Redis的主从复制redis主从复制可以避免单点损坏和数据丢失。原理其实就是redis允许将数据从A复制到B,当A节点发生故障可以由B节点接管。

相关新闻

TMS320C6421 DSP复位机制与时钟系统配置实战详解

TMS320C6421 DSP复位机制与时钟系统配置实战详解

1. 项目概述与核心价值 在嵌入式DSP系统开发中,尤其是像TMS320C6421这样功能复杂的定点数字信号处理器,最让人头疼的往往不是算法实现,而是系统上电和复位后那一瞬间的“黑盒”状态。你是否遇到过这样的场景:精心编写的代码&#…

2026/7/27 8:40:01 阅读更多 →
斯特林数C++实现:从数学原理到高精度计算与动态规划优化

斯特林数C++实现:从数学原理到高精度计算与动态规划优化

1. 项目概述:从数学理论到C实现 斯特林数,这个名字对于很多刚接触组合数学或者算法竞赛的朋友来说,可能既熟悉又陌生。熟悉是因为它在很多高级算法和数学问题中频频现身,比如划分问题、容斥原理、多项式转换;陌生则是因…

2026/7/27 8:40:01 阅读更多 →
AI降重工具评测与学术论文优化技巧

AI降重工具评测与学术论文优化技巧

1. AI降重工具的核心价值与学术应用场景论文降重是学术写作中绕不开的关键环节。去年帮导师审阅研究生论文时,我发现超过60%的修改意见都集中在重复率问题上。传统人工降重不仅耗时费力,还容易破坏原文的学术逻辑。现在AI工具已经能智能重组句式、替换学…

2026/7/27 8:39:01 阅读更多 →

最新新闻

专科生论文AI降重实战:千笔AI工具解析与应用指南

专科生论文AI降重实战:千笔AI工具解析与应用指南

1. 专科生论文写作的AI困境与解决方案 作为一名经历过专科论文写作的过来人,我深知专科生在学术写作中面临的特殊挑战。与本科生相比,专科生往往接受学术训练的时间更短,写作经验更少,却面临着同样严格的论文审核标准。近年来&…

2026/7/27 8:53:08 阅读更多 →
开源大模型驱动的智能呼叫中心架构与实践

开源大模型驱动的智能呼叫中心架构与实践

1. 项目概述 呼叫中心系统正在经历从传统PBX到AI驱动的智能化转型。开源大模型的出现为这一领域带来了革命性的可能性——我们不再需要依赖昂贵的商业解决方案,就能构建具备自然语言理解、多轮对话和智能路由能力的现代呼叫中心。 这个开源项目将大语言模型与传统C…

2026/7/27 8:53:08 阅读更多 →
AI驱动自建CRM:中小企业替代Salesforce的成本效益分析

AI驱动自建CRM:中小企业替代Salesforce的成本效益分析

这次我们来看一个值得关注的现象:美国小企业正在掀起Salesforce的"退订潮",转而使用AI技术自建软件来大幅压缩成本。这个趋势背后反映的是AI工具成熟度提升和中小企业对成本敏感度的双重变化。对于技术从业者来说,这个现象意味着新…

2026/7/27 8:53:08 阅读更多 →
AM57xx硬件设计实战:从系统规划到PCB布局的避坑指南

AM57xx硬件设计实战:从系统规划到PCB布局的避坑指南

1. 项目概述在嵌入式硬件设计的江湖里,TI的AM57xx系列处理器(比如AM574x、AM572x)绝对算得上是“明星选手”。它集成了强大的ARM Cortex-A15/A7核心、DSP以及丰富的工业级外设,从工业网关到医疗影像设备,再到车载信息娱…

2026/7/27 8:53:08 阅读更多 →
5分钟掌握ZenTimings:AMD Ryzen内存监控的终极指南

5分钟掌握ZenTimings:AMD Ryzen内存监控的终极指南

5分钟掌握ZenTimings:AMD Ryzen内存监控的终极指南 【免费下载链接】ZenTimings 项目地址: https://gitcode.com/gh_mirrors/ze/ZenTimings 你是否曾经在AMD Ryzen平台上调整内存参数后,系统变得不稳定却不知道问题出在哪里?或者你想…

2026/7/27 8:53:08 阅读更多 →
SpringBoot+Vue3智能门禁系统开发实践

SpringBoot+Vue3智能门禁系统开发实践

1. 项目背景与核心需求高校校园的车辆进出管理一直是个让人头疼的问题。传统的人工登记方式效率低下,高峰期经常造成校门口拥堵;而普通的IC卡识别系统又存在代刷、冒用等安全隐患。我在某高校信息化部门工作时,就经常接到保卫处关于车辆管理系…

2026/7/27 8:52:07 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:54 阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/27 6:31:56 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻