- 实验常用命令
Linux删除文件某一行,使用命令sed:
sed -i "nd" filename
- 如果当前Vi/Vim处于插入或其他任何模式,可以按 Esc 键返回到正常模式,也称为命令模式。键入 u 撤消上一次更改。
- vim在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为1、2、3……,在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴。
- 将光标移动到要复制的文本开始的地方,按 v 进入可视模式。
将光标移动到要复制的文本的结束的地方,按 y 复制,并退出可视模式。
移动光标到粘贴的地方,按p粘贴。 - vim中删除多行,将光标移动到需要删除的行,按一下ESC键,确保退出编辑模式,在dd命令前面加上要删除的行数。例如,如果要删除第4行以下的3行,请按下 3 dd。
linux-0.11目录下存放的是linux操作系统文件,如图所示:
比如Linux-0.11/boot 目录下存放着 bootsect.s 和 setup.s文件。
oslab/hdc目录下是和 0.11 内核一模一样的文件系统,
通过sudo ./mount-hdc 进行挂载,就可以通过编辑hdc文件夹中的文件,实现对linux.11中的文件进行编辑
对bootsect.s功能的一些理解:
$ dd bs=1 if=bootsect of=Image skip=32
linux的dd命令,以bootsect为输入,以每次1byte的速度写到文件Image中,并跳过开头的32byte才开始写入
当前的工作路径为 /home/shiyanlou/oslab/linux-0.11/boot/,将刚刚生成的 Image 复制到 linux-0.11 目录下,此时Image被替换成了由bootsect文件生成的Image文件
$ cp ./Image ../Image
因此当执行 oslab 目录中的 run 脚本,可以看到执行到打印提示信息就停止了
$ ../../run
参考bootsect程序的功能如下,也可以知道bootsect代码完成在屏幕上的显示功能,再经过一列操作后就会将系统控制权交给setup函数: