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/10/18 12:58:55 阅读更多 →
斯特林数C++实现:从数学原理到高精度计算与动态规划优化

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

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

2026/10/19 11:55:37 阅读更多 →
AI降重工具评测与学术论文优化技巧

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

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

2026/10/17 22:34:16 阅读更多 →

最新新闻

lingbot-map:自然语言驱动的空间语义理解系统

lingbot-map:自然语言驱动的空间语义理解系统

1. “lingbot-map”不是地图SDK,而是一个语义驱动的空间认知原型系统第一次看到“lingbot-map”这个名字时,我下意识去查了主流地图服务商的开放平台文档、GitHub上热门的地理可视化库,甚至翻了几个开源GIS项目的命名惯例——结果一无所获。它…

2026/10/21 4:15:42 阅读更多 →
思维链原理与三大模型实测:从Prompt到Agent多步推理落地指南

思维链原理与三大模型实测:从Prompt到Agent多步推理落地指南

思维链这个词,这两年在大模型圈子里几乎是绕不开的热词。我自己在调Agent、做复杂任务拆解的时候,也明显感受到:同一个模型,用不用思维链,效果差距就像实习生直接交作业和逐步汇报思路之间的差距。很多朋友问我说Claud…

2026/10/21 4:15:42 阅读更多 →
人脸识别实战指南:从One-Shot学习到工程部署踩坑总结

人脸识别实战指南:从One-Shot学习到工程部署踩坑总结

人脸识别这块内容,我在整理某知名深度学习公开课程的笔记时反复啃过好几遍。课程原话讲得精简,逻辑也很清晰,但真到项目里去落地,中间会冒出不少课程里没有细讲的工程细节。这篇文章把我对课程笔记的深入理解、在实际项目中补充验…

2026/10/21 4:15:42 阅读更多 →
YOLOv5s部署实战:PyTorch转ONNX再到OpenVINO的CPU推理全流程

YOLOv5s部署实战:PyTorch转ONNX再到OpenVINO的CPU推理全流程

最近刚把一个 YOLOv5s 目标检测模型完整走了一遍部署链路:从 PyTorch 预训练权重转成 ONNX,再用 OpenVINO 变成推理加速模型,最后在 Windows 10 上用 Python 做实际推理测试。整个过程在 CPU 上完成,没有碰 GPU,效果却…

2026/10/21 4:15:42 阅读更多 →
用Metal优化Transformer推理:从CPU 4.9到GPU 31.5 tok/s的完整实践

用Metal优化Transformer推理:从CPU 4.9到GPU 31.5 tok/s的完整实践

把Transformer模型的推理链路整体搬到苹果芯片的GPU上,用Metal从头组织计算图和算子,这件事我从去年底开始做,前后改了四版。最终效果是解码吞吐从CPU路线的个位数涨到了30 tokens/s,同一个约1.1B参数的decoder-only模型&#xff…

2026/10/21 4:15:42 阅读更多 →
系统化提升个人技能:从技能地图到学习闭环

系统化提升个人技能:从技能地图到学习闭环

今年我陆续和朋友聊了十几场关于个人成长的私话,发现大家焦虑的点出奇一致:不是没在学,而是学的东西太多太散——今天刷两节剪辑课,明天收藏几个AI工具,后天又报名一个Excel进阶班,忙活大半年,最…

2026/10/21 4:14:42 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起:用户到底在追求什么“封号重开”这四个字,放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流,背后是大量的时间和精力成本。正常情况下,没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”,而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时,就意识到:单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/20 9:50:45 阅读更多 →