哈工大操作系统实验1

文章介绍了在Linux环境中使用sed命令删除文件特定行,vim编辑器的复制、粘贴和删除操作,以及dd命令用于文件转换。此外,讨论了Linux-0.11目录下的bootsect.s文件及其功能,涉及内核启动过程,并提到了如何挂载和编辑模拟文件系统。
摘要由CSDN通过智能技术生成
  • 实验常用命令
    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操作系统文件,如图所示:

![在这里插入图片描述](https://img-blog.csdnimg.cn/179a98259a514efd8ae403baf07494e0.png
比如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函数:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值