系统编程第一周学习
知识归纳
Ubuntu下常用快捷键
Ctrl+Alt+T: 打开终端
Ctrl+D: 键盘输入结束或退出终端
Ctrl+S: 暂定当前程序,暂停后按下任意键恢复运行
Ctrl+C: 中断程序运行
Ctrl+Z: 将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+A: 将光标移至输入行头,相当于Home键
Ctrl+E: 将光标移至输入行末,相当于End键
Ctrl+K: 删除从光标所在位置到行末
Ctrl+Shift+T: 新建标签页
Alt+数字N: 终端中切换到第N个标签页
Alt+Backspace: 向前删除一个单词
Tab: 终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成
上下键盘: 切换命令历史,刚输入一个很长的命令,按上键就可以恢复
Shift+PgUp: 将终端显示向上滚动
Shift+PgDn: 将终端显示向下滚动
Linux核心命令
Linux中命令格式为:command [options] [arguments] []表示是可选的,即组成结构为:命令 [选项] [参数]
man命令
man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。
常用选项:
-a:在所有的man帮助手册中搜索
-k:根据关键字搜索联机帮助,是一种模糊搜索
-f:关键字精确搜索,等价于whatis指令,显示给定关键字的简短描述信息
-P:指定内容时使用分页程序
-M:指定man手册搜索的路径
参数:
数字:指定从哪本man手册中搜索帮助
关键字:指定要搜索帮助的关键字
cheat命令
在linux上,man命令几乎是万能的,但它却不是最高效的。由于它给出的帮助信息很长,在短时间内不好理解,所以在这种情况下,用cheat命令更方便,cheat命令简单来说,就是告诉你一个命令如何使用。它没有提供其他额外多余的信息,只通过使用实例告诉你一个命令如何使用。
Ubuntu上没有自带cheat命令,大家可以参照娄老师提供的文章进行安装配置。用 Markdown编辑器 所展示的欢迎页。
常用选项:
-name:按照文件名查找文件
-perm:按照文件权限来查找文件
mtime -n +n:按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前
-newer file1 ! file2:查找更改时间比文件file1新但比文件file2旧的文件
-type:查找某一类型的文件,诸如:b - 块设备文件,d - 目录,c - 字符设备文件,p - 管道文件,l - 符号链接文件,f - 普通文件
-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计
-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找
Linux 目录结构及文件基本操作
使用cd ..指令返回上一级目录,使用cd ~或者cd /home/<你的用户名>进入home目录,使用pwd获取当前路径提供了专属福利:
Linux 目录结构及文件基本操作
使用cd ..指令返回上一级目录,使用cd ~或者cd /home/<你的用户名>进入home目录,使用pwd获取当前路径。
以"home"目录为起点,分别以绝对路径和相对路径的方式进入/usr/local/bin目录:
使用touch命令创建空白文件,其主要是来更改已有文件的时间戳的(如最近访问时间,最近修改时间),但其在不加任何参数的情况下,只指定一个文件名,则可以创建一个为指定文件名的空白文件(不会覆盖已有同名文件),也可以同时指定该文件的时间戳。
使用mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性,使用-p参数,同时创建父目录(如果不存在该父目录)。
使用cp命令复制一个文件或目录到指定目录,如果直接使用cp命令,复制一个目录的话,会出现错误,要成功复制目录需要加上-r或者-R参数,表示递归复制。
使用rm命令,删除一个文件或目录;如果想忽略提示,直接删除文件,可以使用-f参数强制删除;要删除一个目录,也需要加上-r或-R参数。
使用mv命令,移动文件(剪切),mv 源目录文件 目的目录;文件重命名:mv 旧的文件名 新的文件名;使用rename命令可以批量重命名。
使用cat,tac和nl命令查看文件:这两个命令都是用来打印文件内容到标准输出(终端),其中cat为正序显示,tac倒序显示;使用more和less命令分页查看文件;使用head和tail命令查看文件。
教材的学习
vim、gedit以及emacs三种编辑器
其中,利用emacs所编写的程序如下图所示
file:///D:/Huawei%20Share/Screenshot/capture_20230910163625610.bmp
file:///D:/Huawei%20Share/Screenshot/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20230910163813.png
所完成的结果如图所示
file:///D:/Huawei%20Share/Screenshot/capture_20230910115207390.bmp
file:///D:/Huawei%20Share/Screenshot/capture_20230910163302627.bmp
file:///D:/Huawei%20Share/Screenshot/capture_20230910095038059.bmp
使用CHATGPT完成任务的学习
使用GPT完成了解知识
在学习的过程中遇到的问题如果不知道怎么做可以询问GPT去了解
file:///D:/Huawei%20Share/Screenshot/capture_20230828182555749.bmp
使用GPT完成改错
如果在运行的过程中我们遇到了问题可以通过询问GPT去进行改正问题
file:///D:/Huawei%20Share/Screenshot/capture_20230910095655244.bmp
使用GPT完成对于学习内容的闻讯和回答
file:///D:/Huawei%20Share/Screenshot/capture_20230909200552641.bmp
结语
学习总结
系统编程的第一步内容是理解计算机的底层结构和工作原理,包括处理器、内存、磁盘和输入输出设备等,其次就是掌握编程语言,系统编程通常使用基础的语言,如C语言。熟悉这些语言的语法和特性,对我们的学习有着十分重要的帮助,最后是学习操作系统原理,操作系统是系统编程的核心组成部分。了解操作系统的基本原理,包括进程管理、内存管理、文件系统和设备驱动程序等,可以帮我们编写高效、可靠的系统级代码。