【操作系统】lab0复习||知识点梳理

Linux基本操作命令

ls -a 不隐藏任何以.开头的文件 -l 列出文件的全部详细信息
touch 新建文件
mkdir 新建目录(文件夹)
cd 进入任何目录
rmdir 删除目录
rm 删除文件或目录 -r递归删除目录及内容 -f 强制删除
cp 源文件 目录 拷贝文件 -r递归复制目录内全部文件
mv 源文件 目录 移动文件 可用于改名操作
man 展示命令信息
cat 打印文件内容到终端

grep [选项]… PATTERN [FILE]…
选项(常用):
-a 不忽略二进制数据进行搜索
-i 忽略文件大小写差异
-r 从文件夹递归查找
-n 显示行号

find -name 文件名
使用find命令并加上-name选项可以在当前目录下递归地查找符合参数所示文件名的文件,并将文件的路径输出至屏幕上。

tree [选项] [目录名]
选项(常用):
-a 列出全部文件
-d 只列出目录

chmod abc 文件
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限
abc为三个数字,分别表示拥有者,群组,其他人的权限。r=4,w=2,x=1,用这些数字的加和来表示权限。例如chmod 777 file和chmod a=rwx file效果相同

diff [选项] 文件1 文件2
常用选项
-b 不检查空格字符的不同
-B 不检查空行
-q 仅显示有无差异,不显示详细信息

sed [选项]‘命令 输入文本
选项(常用):
-n:使用安静模式。在一般sed的用法中,输入文本的所有内容都会被输出。加上-n参数后,则只有经过sed 处理的内容才会被显示。
-e: 进行多项编辑,即对输入行应用多条sed命令时使用。
-i:直接修改读取的档案内容,而不是输出到屏幕。使用时应小心。
命令(常用):
a :新增,a后紧接着\,在当前行的后面添加一行文本
c :取代,c后紧接着\,用新的文本取代本行的文本
i :插入,i后紧接着\,在当前行的上面插入一行文本
d :删除,删除当前行的内容
p :显示,把选择的内容输出。通常 p 会与参数 sed -n 一起使用。
s :取代,格式为s/re/string,re表示正则表达式,string为字符串,功能为将正则表达式替换为字符串。

awk ‘$1>2 {print $ 1, $ 3}’ my.txt
这个命令的格式为awk ‘pattern action’ file,pattern为条件,action为命令,file为文件。命令中出现的$n代表每一行中用空格分隔后的第n项。所以该命令的意义是文件my.txt中所有第一项大于2的行,输出第一项和第三项。
awk -F, ‘{print $2}’ my.txt
-F选项用来指定用于分隔的字符,默认是空格。所以该命令的 $n就是用,分隔的第n项了。

编辑器之神-vim

http://coolshell.cn/articles/5426.html/ vim学习攻略

输入命令就是model模式,修改内容就是insert模式
model转insert:按I insert转model:按Esc
model模式下,按:进入底部命令模式,可输入操作命令
:w 保存 :q退出
一键执行:wq 保存并退出

配置:
vim ~/.vimrc
set tabstop=4 #设置Tab宽度为四个空格
set tags=tags;
set autochdir
#在命令行界面执行ctags -R *,之后在函数名称上按下“ctrl+]”即可实现跳转功#能

GCC编译器

GCC,一套免费、开源的编译器,诞生并服务于GNU 计划,最初名称为GNU C Compiler,后支持了更多编程语言而改名为GNU Compiler Collection,如你所见,简称没变,
很多我们熟知的IDE/集成开发环境的编译器用的便是GCC 套件,例如Dev-C++,Code::Blocks 等。我们的实验将使用mips-C 交叉编译器。

常用命令(极简青春版)

-o + 文件名 指定生成的文件名,默认对象名(见makefile博客)
-c + 源文件 只执行编译操作,不执行链接操作
-I +相对路径 列出编译时需要包含的头文件目录

makefile

Git

三个区:工作区、暂存区、对象库。
工作区:工作的区域(有道理吧)
暂存区:有点像写了一会文档顺手点了一个保存,但没有提交到本地仓库
对象库:本地仓库中的版本,还能随时回调

git add 加入追踪文件目录
git commit 提交当前暂存区到版本库
git rm --cached < file > 删除暂存区文件,工作区不变
git checkout HEAD < file > 用 HEAD 指向的 master 分支中的指定文件替换暂存区和以及工作区中的文件
git checkout – < file >从暂存区取回文件到工作区
git reset --hard < hash-code >

这条指令就是让我们可前进,可后退。它有两种用法,第一种是使用 HEAD 类似形 式,如果想退回上个版本就用 HEAD^,上上个的话就用 HEAD^^,当然要是退 50 次 的话写不了那么多^,可以使用 HEAD~50 来代替。第二种就是使用我们神器 Hash 值, 用 Hash 值不仅可以回到过去,还可以“回到未来”。

branch

分支就是为你的代码创建一个平行宇宙。当前分支由HEAD指针保存。

git branch < branch-name > 创建分支
git checkout < branch-name > 切换分支
git branch -d(D) < branch-name > 删除分支 —D是强制删除

太烦了呀太烦了!

shell脚本

命令组成的可执行文件

首行添加:#!/bin/bash
编写完成后添加x权限

执行:bash 文件 参数1 参数2
$n代表第n个参数,$0就是bash 文件
$# 传递的参数个数
$* 一个字符串显示传递的全部参数
shell中的函数也用类似的方式传递参数。
举个栗子:

fun(){
        echo $1
        echo $2
        echo "the number of parameters is $#"
    }
    fun 1 2

”流程控制“详见指导书。

重定向和管道

‘>’表示将命令的输出重定向到文件
‘>>’表示将命令的输出追加到文件,不覆盖文件原来的内容
‘|’用于连接命令,将前面命令的输出发送到后面的命令

咿咿呀呀终于写完了啊啊啊啊啊

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
北航操作系统课程设计的Lab0旨在帮助学生熟悉实际的操作系统开发环境和相关工具的使用。在这个实验中,我们首先需要安装Linux操作系统并进行相关配置,以便进行后续的实验操作。 在Lab0中,我们需要安装和配置虚拟机软件,如VirtualBox或VMware,以创建一个类似操作系统的虚拟环境。然后,我们需要从北航操作系统课程设计网站下载并安装提供的操作系统实验环境,如ucore OS等。 安装完成后,我们需要熟悉Linux系统的基本命令,并了解与操作系统开发相关的编译工具链,如gcc和make。这些工具在操作系统的编译和运行过程中起着至关重要的作用。我们将学习如何使用gcc编译C语言程序,并使用make工具自动化编译过程。 在实验中,我们还将学习如何通过交叉编译和链接,将编译生成的操作系统镜像加载到虚拟机中并运行。我们将通过VirtualBox或VMware的网络设置,将虚拟机与宿主机连接起来,以便进行操作系统的调试和测试。 通过完成Lab0,我们将能够顺利地进行后续的操作系统实验,掌握操作系统开发的基本技能和工具。我们将能够编写C语言的系统代码,实现操作系统的基本功能和特性。此外,我们还将学习到操作系统的底层原理和相关的调试技巧。 总而言之,北航操作系统课程设计的Lab0是一个重要的起点,它帮助我们搭建实验环境、熟悉操作系统开发工具和命令,并为后续的实验打下坚实的基础。通过此实验,我们将能够更深入地理解操作系统的工作原理,并为我们未来的学习和研究提供良好的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值