Linux VIM,引导流程解析
Vim/Vi没有菜单,只有命令
注:熟记vi命令身怀绝技的朋友请路过,以防走火入魔。感觉见到VI命令就头疼难记的兄弟们,结合心法实际操练。(其中只包括插入、定位、删除、剪切、复制命令)
--------------------------------------------------------------------------------
行头尾上,用IAO 插入
标前后下,用i a o ;
--------------------------------------------------------------------------------
哥俩(gg)争到第一行 , 定位
大哥(G)无奈落尾行 ;
牛哥(nG)定位真够牛 ,
n变数字行间走 ;
美元(﹩)贬值到行尾,
零是(0)初始到行首 ;
--------------------------------------------------------------------------------
光标定位所在处 , 删除
爱克斯(x)删除要记住 ;
牛擦(nx)这人是裁缝,
精准剪掉标后符 ;
弟弟(dd)业内他最强,
定为哪行删哪行;
的哥(dG)本领也不赖,
从行到尾删的快;
大弟(D)一直张着嘴,
咬掉光标到行尾 ;
--------------------------------------------------------------------------------
复制有个小二歪(yy), 复制
以下几行用牛二歪(nyy);
--------------------------------------------------------------------------------
弟弟(dd)绝技属剪切 , 剪切
前加数字向下剁;
--------------------------------------------------------------------------------
大P小p只管粘 , 粘贴
行上行下不能颠。
先开启忽略大小写:set ic,再/string,当不需要搜索忽略大小写时:set noic,n是往后移动搜索结果,N是往前移动
应用实例
导入文件:r文件名 例如 r /etc/issue
导入命令执行的结果,如导入当前时间:r !date
在Vi中执行命令:!命令 :!ls /root
定义快捷键:map快捷键触发命令
范例: :map ^p I#<ESC> ^p必须是用ctrl+v+p敲 出来
取消快捷键是unmap ^p
:map ^B 0x
连续行注释 :n1,n2s/^/#/g 表示从n1到n2行增加#
:n1,n2s/^#//g 表示把n1到n2行首的#去掉
:n1,n2s/^/\/\//g 表示在n1到n2行首增加//
替换:ab sammail samlee@lampbrother.net 当在vi里面输入semmail时会变成后面的邮件地址
改变vim的配置文件 vi ~/.vimrc
系统引导流程
固件firmware(cmos/bios) → post加电自检
↓
自举程序bootloader(GRUB) → 载入内核
↓
载入内核kernel →驱动硬件
↓
启动进程init
↓
读取执行配置文件/etc/inittab
常用固件设置
安全设置
可引导介质列表
可引导介质搜索顺序
电源管理
启动细节显示
……
固件设置实例
Date查看的是软件的时钟,hwclock是硬件时钟,硬件和软件时钟不同步的话必须调到一致,
内核 hwclock –htcosys 设置硬件时钟同步系统时钟 hwclock –systohtc 设置系统时钟同步到硬件时钟,如果硬件和系统时钟都错了的话,使用hwclock –set –date=””来设置硬件时间,或者man date,可以看到date的用法,使用date 121511302010.38设置系统时间
Linux版本 比如2.2.16 第二个2,即第2为,如果为偶数代表是正式版,为奇数代表是测试版
Init的工作
Init启动后读取inittab文件,执行缺省运行级别,从而继续引导过程。在unix系统中,普通进程每次开机后PID都不一定是一样的,但init是第一个可以存在的进程,它的PID恒为1,但它也必须向一个更高级的功能负责:PPID为0的内核调度器(kernel scheduler),从而获得CPU时间。
Linux的运行级别
使用vi /etc/inittable查看
1模式类似windows的安全模式,1模式只有root可以登录,而且没有图形界面,如果linux无法正常启动,则可以选择进入1模式修复,2和3模式基本一样,都是字符界面,区别是2没有网络文件系统这个服务,NFS是用于实现windows和linux之间的文件共享,现在很少使用NFS了,推荐使用FTP,SSH服务,4是没有使用,但是可以自己定义一个运行级别,5是系统缺省的运行级别
Inittab文件剖析
运行级的切换:
1. 查看当前的运行级
N是指NOW,S是指进行过切换了的当前运行级别
2. 运行级的切换
#init[0123456Ss]或 #telinit[0123456Ss]
telinit是一个软链接,s表示切换到单用户模式
在inittab中,所有条目采取以下格式:
id:run-levels:action:process
id:标识符,一般为两位字母或数字
run-levels:指定运行级别,可以指定多个,为空表示所有级别都运行
actino:指定运行状态
process:指定要运行的脚本/命令
ctrlaltdel:按下ctrl+alt+del时执行process指定的命令
action常用取值:
initdefault:指定系统缺省启动的运行级别
sysinit:系统启动执行process中指定的命令
wait:执行process中指定的命令,并等其结束再运行其他命令
once:执行process中指定的命令,不等待其结束
ctrlaltdel:按下ctrl+alt+del时执行process指定的命令
powerfail:当出现电源错误时执行process指定的命令,不等待其结束
powerokwait:当电源恢复时执行process指定的命令
respawn:一旦process指定的命令中止,便重新运行该命令
id:3:initdefault:
指定系统默认运行级别为3,如果想系统启动后自动运行X WINDOWS,则将上面的3改为5
#system initialization
si::sysinit:/etc/rc.d/rc.sysinit
启动脚本/etc/rc.d/rc.sysinit,完成系统服务程序启动,如系统环境变量设置,设置系统时钟,加载字体,检测加载文件系统,生成系统启动信息日子文件等。只要系统启动都会执行/etc/rc.d/rc.sysinit这个脚本,如果想执行某个操作,则可以在/etc/rc.d/rc.sysinit的末尾后面添加脚本代码,这样每次系统启动就会自动执行脚本了
/etc/rc.d/rc的作用是判断默认运行级别,调用相应的/etc/rc.d/rc num脚本,执行相应运行级别目录中的服务程序,完成相应运行级别的初始化设置
/etc/rc.d/init.d
该目录下包含各个运行级别的服务程序脚本,如何启动某个服务看下图
/etc/rc.d/rc[0123456].d
分别存放对应于运行级别的服务程序脚本的符合链接,链接到inint.d目录中的相应脚本
S表示start,表示在此运行级别要启动,K表示不启动 数字表示启动的顺序,数字越小越优先启动,最后一部分是脚本的名称
Firmware
|
Bootloader
|
Kernel
|
Init
|
/etc/inittab
|
Initdefault
|
/etc/rc.d/rc.sysinit
|
/etc/rc.d/rc
|
/etc/rc.d/rcN.d N=0-6
|
Username password
Linux有6种终端,按ctrl+alt+F1-F6可以在不同的终端切换,按ctrl+alt+F7是切换到图形终端,如果在虚拟机里面是切换不了的,因为键位设置有冲突,要在vmware里面更改键位设置才行
/etc/rc3.d实际上是rc.d/rc3.d的软链接,但是在unix下是实际存放在/etc/rc3.d下的
转载于:https://blog.51cto.com/nizhuan/724127
Linux VIM,引导流程解析相关推荐
- Linux基础自学记录六-引导流程解析2
第5讲.Linux引导流程解析 9.GRUB配置文件 GRUB的配置文件默认在/boot/grub/grub.conf,/etc/grub.conf是它的软链接:在备份系统时,/boot目录首先应做 ...
- 兄弟连Linux在线课堂:第5讲Linux系统引导流程
兄弟连Linux在线课堂:第5讲 Linux系统引导流程 大家好,我是李明,Linux爱好者,我计划推出一套Linux学习的在线课及视频教程,课程内容主要针对Linux初学者,大概每周一讲,差不多在春 ...
- 兄弟连Linux在线课堂:第5讲 Linux系统引导流程
大家好,我是李明,Linux爱好者,我计划推出一套Linux学习的在线课及视频教程,课程内容主要针对Linux初学者,大概每周一讲,差不多在春节前完成Linux基础入门与系统管理部分,总计分为十讲,内 ...
- Linux开机引导流程
linux开机引导流程: 1.BIOS开机自检 BIOS程序首先检查,计算机硬件能否满足运行的基本条件,这叫做"硬件自检"(Power-On Self-Test),缩写为POST. ...
- linux的引导流程
随着Linux的应用日益广泛,特别是在网络应用方面,有大量的网络服务器使用Linux操作系统.由于Linux的桌面应用和Windows相比还有一定的差距,所以在企业应用中往往是Linux和Window ...
- 简述linux系统引导流程,简单介绍如何用WinGrub 引导Linux系统简述
以下主要介绍我的第一次安装Linux系统遭遇,以及怎么度过这个遭遇的,希望对大家有所帮助.不喜欢的可以略过. 一.开篇叙述我第一次安装Linux系统和接下来的经历 开篇:按照北南兄弟的<FC4菜 ...
- Linux系统启动引导流程
启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘信息.内存信息.时钟信息.PnP特性等等.在此之后,计算机 ...
- Linux——系统引导流程学习简单笔记
开启电源: 固件 firmware(CMOS/BIOS) → POST 加电自检 对硬件就行检查 ↓ 自举程序 BootLoader(GRUB) → 载入内核 ↓ 载入内核 Kernel 1:驱动硬件 ...
- 平述factory reset ——从main system到重引导流程
关于Android或linux的引导流程,网上大都是从开机开始讲述的,或者直接跳过bootloader引导阶段,直接从init进程开始说起.这里我从手机正常运行状态开始,到重启状态以及重启之后的状态略 ...
最新文章
- 250相当于什么显卡_GTX1660Ti显卡搭配知识:GTX1660Ti配什么CPU和主板?
- 原生态纯JavaScript 100大技巧大收集---你值得拥有
- java面试④数据库部分
- python qq模块_常用的Python模块
- [Leetcode Week15]Populating Next Right Pointers in Each Node
- java注解:@Deprecated(不建议使用的,废弃的);@SuppressWarnings(忽略警告,达到抑制编译器产生警告的目的)
- mysql json数组拆分表_MaxCompute将json数组拆分成多行
- (13) css浮动补充
- C/C++中使用的正则表达式库
- python3中input()方法报错traceback变量未定义的解决方法
- matlab min函数_数学建模与MATLAB非线性规划
- 盖洛普 打破一切常规心得体会(汇集)
- 网易我的世界qq版服务器维护中,网易《我的世界》官方发布Hypixel中国版服务器停止运营公告...
- 教师对php作品评语通用,期末教师给学生的评语
- 实战攻防之紫队视角下的实战攻防演习组织
- 当case when then else end 语句遇上sum或count等统计函数
- 冒泡排序算法基本思路
- DSP期末复习核心考点
- 说说微信红包算法,为什么你总是抢的那么少?
- 任鸟飞FPS类型游戏绘制和游戏安全,反外挂研究(二)