首页 运维 网络学院 查看内容

Linux VIM,引导流程解析

2012-1-4 15:47 825 0

摘要: Vim/Vi没有菜单,只有命令 注:熟记vi命令身怀绝技的朋友请路过,以防走火入魔。感觉见到VI命令就头疼难记的兄弟们,结合心法实际操练。(其中只包括插入、定位、删除、剪切、复制命令) ---...
关键词: 运行 命令 系统 脚本 时钟 级别 process etc 文件 rc

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 [email protected] 当在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下的
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部