linux操作系统启动流程及xshell相关
什么是xshell?
xshell是一个远程登录客户端程序,对应的服务端程序是openssh-server(默认端口22)
套接字客户端----网络----套接字服务端
xshell openssh-server
mac: iTerm2
打开命令行终端
ssh root@服务器的ip地址
windows: xshell
缓冲区设置:控制内容显示
上下翻页
shift+paUp
shift+PaDn
远程连接失败排错
测试网络连通性:ping 服务端ip地址
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭Selinux
setenforce 0 # 临时关闭,加载不生效
setenforce 1 # 开启,加载并生效
vim /etc/sysconfig/selinux中修改相关配置
修改SELINUX=disabled
查看Selinux
getenforce
systemctl start sshd # 开启ssh-server服务端
systemctl start network
二、操作系统的启动流程
# 1 加电
# 2 启动BIOS,检测启动项目
# 3 读取启动盘第一个扇区512bytes,包含MBR主引导记录(466引导程序bootloader->grub, 64分区信息,2结束标志)
# 4 grub启动
# 5 加载内核
读取运行级别
0 --> 关机
1 --> 单用户模式,不需要输入账号密码登录进操作系统后就是管理员账号,禁止远程登陆,破解管理员密码
2 --> 多用户模式,没有网络
3 --> 多用户模式,有网络
5 --> 图形界面模式
4 --> 系统保留的
6 --> 重启
查看启动级别
/etc/systemd/system/default.target
sentos7启动的第一个程序 ---> systemd
sentos6气动的第一个程序 ---> init
启动其他服务
系统密码破解
# 1 开机3秒内出现图下图1
# 2 开机进去之后3秒内按下e键进入到下面的第2张图
# 3 按照第2张图中修改,改完按ctrl+x
# 4 进去以后到第三张图执行如下命令
chroot /sysroot/
passwd root # 这条命令输完回车输入密码-->在回车输入密码
# 5 修改配置文件,输入vim /etc/sysconfig/selinux
把SELINUX=enforcing修改成 ---> SELINUX=disabled
# 6 重启
grub加密
sentos7.2+ 中引入了新的实用程序“grub2-setpassword"
0 linux操作系统启动流程图如下图1
1 执行grub2-setpassword命令
# grub2-setpassword
Enter password:
Confirm password:
2 如果现在重新启动系统并尝试修改引导条目,系统将要求提供凭据,但是可以在没有凭据的情况下修改引导条目。为了阻止未经授权的修改和未经授权的启动,我们需要对/boot/grub2/grub.cfg文件进行更改。打开文件并使用密码搜索需要保护的启动条目,它以menuentry开头。找到条目后,从中删除 --unrestricted参数
3 reboot重启验证,只有当输入正确的用户名和密码时,才能进入grub菜单或者修改引导条目。

光盘修复修改密码
# 1 重启或开机的时候一直按f2进入BIOS界面如下图一,进入Boot把CD-ROM Drive调到第一项,然后按f10保存退出
# 2 进入图二,选Troubleshooting
# 3 进入图三,选Rescue a CentOS system
# 4 进入图四,选1)Continue
# 5 到了图五,按回车即可
# 6 按照图六提示操作
# 7 修改启动项,改完之后重启计算机
ps:
sh-4.2# 这个是光盘里面的目录
bash-4.2# 这个是真正系统的目录
当我们想重启的时候应该退出到sh-4.2# 这个目录
ps:
进入光盘修复模式还可以修改grub密码
grub2-setpassword
vim /boot/grub2/grub.cfg加上--unrestricted跟grub加密相反
给BIOS加密
# 按下图设置
跨过BIOS加密
# 扣主板电池
防扣主板电池
# 锁住主板机柜
三、系统命令
1 什么是系统命令
shell解释器对系统接口封装的结果 系统命令/shell命令 --> shell解释器 --> 系统接口 --> 内核 --> 硬件 应用程序 --> 系统命令/shell命令 --> shell解释器 --> 系统接口 --> 内核 --> 硬件 应用程序 --> 系统接口 --> 内核 --> 硬件
2 为何要用系统命令
更加方便的使用计算机
3 补充:什么是shell
# 第一层意思 shell代表的是解释器,是对系统接口的封装 shell只是一种称呼,而bash解释器才是具体的一种shell # 第二层意思 shell这门编程语言(本质是一堆命令) 用shell语言写出来的文件通常称之为脚本程序
4 posix
posix(Portable Operation System Interface),linux系统支持poxis,全称是可移植的操作系统接口,posix是一种规范
5 shell交互式环境
#号代表管理员用户,$号代码普通用户 ~号代表当前用户的个人文件夹,家目录 # 新建用户 useradd jingxian # 用交互式修改密码 passwd jingxian # 回车,输入密码和确认密码即可 # 用非交互式修改密码 echo "123" | passwd egon --stdin ps: 一条命令的运行相当于运行了一个进程,进程运行过程产生的结果或数据放到了内存中,进程之前彼此隔离。由于进程之前彼此隔离,要想两个进程之前交互数据,这时用到了管道,管道的意思本质就是共享内存。
6 shell命令的语法格式
命令:就是一个单词,对应着一个功能/程序,运行一条命令其实就是启动了一个进程 选项:对命令的描述,控制着命令的具体运行 参数:命令的操作对象 ps: 硬盘知识补充 硬盘 --> 水桶 分区 --> 水桶的隔断 挂载点 --> 某一个具体的隔断 ls # 命令 ls -l # 命令+选项 ls /boot/ # 命令+参数 ls -l /boot/ # 命令+选项+参数 # 类似于你在下发命令:你面前有一个逃兵,你下命令 --> 用刀杀了他 ---> 其中“杀”相当于命令,“用刀”相当于选项,“他”相当于参数
1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?