20145212《信息安全系统设计基础》第1周学习总结
20145212 《信息安全系统设计基础》第1周学习总结
教材学习内容总结
本学期我们要掌握很多个Linux系统中的命令,因此在我们还不熟悉这个系统的时候,我们就需要学会在命令行中获取帮助。
-
man命令:
man是manul的缩写,可以通过mam mam来查看帮助
-
cheat命令:
cheeat命令像是一个小抄一样,为我们这些Linux初学者提供了一份详细的命令行备忘单。具体来说,cheat是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能。
但是,cheat命令不是Linux系统初始自带的,需要我们安装。老师给出的链接对cheat的安装解释很详细,按照教程,进行安装即可使用。
安装完成后对cheat的试用如图:
-
其余几个重点指令及其作用:
·find/locate:查找一个文件在系统中的什么位置,locate是神速版本的find(Windows下Everything和locate功能类似)。
·grep:可以对文件全文检索,比如你接手一个C语言项目,里面有上百个C源文件,想找找main函数在那个文件中,你可以通过grep -n main *.c,快速找到main在哪个C文件中并指出在第几行。grep支持正则表达式,正则表达式也是一个重要的元知识。可以通过cheat grep学习grep命令。
·whereis/which:告诉你使用的命令工具装在什么地方。Linxu初学者会不习惯Linux的文件系统,C盘呢?D盘呢?用apt-get install安装程序好象也不用我们选择安装位置,程序装在哪了?比如:我们在Linux下上网使用firefox浏览器,大家可以使用whereis firefox或更精确的使用which firefox来看看结果。
·apt-cache:可以在使用apt-get install安装一个程序时先找找软件源的库里有没有这个程序,有才可以安装。
学习中的问题和解决过程
- 在安装cheat的过程中,出现了一个小插曲:
经过查询,发现是因为在UBUNTU下安装软件和在WIN下不一样。WIN系统下一般都是默认用管理员作为用户,所以安装软件时不提示权限的问题。
在UBUNTU下安装软件,是需要提升权限的。因为登陆时只是一个普通用户。
而提升为root用户所需要的操作其实很简单,可以通过终端输入sudo apt-get install +(需要安装的名称),输入密码后即可安装,也可以直接通过sudo su命令直接切换到root用户下进行操作。具体如图:
解决完这个问题之后,接下来的安装过程很顺利。
课后作业中的问题和解决过程
-
在虚拟机中安装DDD软件
DDD,全称是Data Display Debugger,对于Linux系统中的编程人员来说,它就是windows系统下面的visual studio ,功能强大,数Linux世界中少数有图形界面的程序调试工具。
-
在连接不上网络的情况下无法安装ddd软件
-
如何查找系统中大于50M的文件(并且显示出来)?
通过find命令:find -size +50M -print,但是通过实践操作,发现并没有任何显示,表示系统中没有超过50M的文件存在。
查找超过10M的,依旧没有。
查找小于5M的,结果如图:
查找超过100k的,结果如图:
-
查找系统中两天前修改过的且小于5M的文件
-
这里在后来检查的时候发现了问题,因为输出的目录显示的完全是两天内改动过的文件,我发现我将+2写成了-2,这点小错误实在不应该犯,重新输入命令后正确的显示如下:
-
如何查看系统信息:
1.通过more /proc/cpuinfo | grep "model name"命令查看CPU信息
2.通过grep MemTotal /proc/meminfo命令查看内存信息
3.通过getconf LONG_BIT命令查看系统位数
4.通过more /etc/issue命令查看Linux版本 -
结果如图:
-
请建立一个目录,里面建立两个子文目录,如何一条命令删除三个目录?
使用mkdir命令可以创建一个目录,而对于建立子目录,可以使用参数-p,具体如下图:
-
在上图中,我在当前目录下创建了一个目录abc,并且通过-p参数在abc这个目录下又建立了子目录a和b。
-
用命令删除这三个目录,如图:通过rm -rf 目录名,可以删除该目录及其下的所有子目录,并且不做提示强行删除。
(通过查询:-r 就是向下递归,不管有多少级目录,一并删除;-f 就是直接强行删除,不作任何提示的意思)
-
如何把一个目录及子目录拷贝到自己的主目录中
1.我建立的主目录名称是alovera;需要拷贝的目录是a,其下有aa、bb、cc三个子目录,我还在建立的基础上尝试进入目录,一切顺利,操作如下:
2.使用cp命令拷贝,结果如下
-
在这里出现了问题,cp命令略过了aa,aa没有被成功的拷贝,通过查询资料,可以使用-r来解决这个问题,成功结果如下;
有趣的命令们
-
banner命令的安装和使用:
可以用于输出图形字符
-
fortune命令的安装和使用
随机输出一句话,或者是一句英文名言,或者是一首唐诗宋词来,如果没有唐诗宋词,那就需要用fortune-zh
- xeyes命令、cowsay、sl命令
这几个命令貌似没有什么实际用途,但是很有趣
补充
一些很常用的小命令:
Ctrl+c
强行终止当前命令,不终止终端。
Ctrl+d
键盘输入结束或退出终端
Ctrl+s
暂定当前程序,暂停后按下任意键恢复运行
Ctrl+z
将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a
将光标移至输入行头,相当于Home键
Ctrl+e
将光标移至输入行末,相当于End键
Ctrl+k
删除从光标所在位置到行末
Alt+Backspace
向前删除一个单词
Shift+PgUp
将终端显示向上滚动
Shift+PgDn
将终端显示向下滚动
mv
实现文件重命名
- 在文件打包与压缩实验中,有一个有趣的小作业,让我们通过安装libaa-bin完成一个小火焰的模拟
其他(感悟、思考等,可选)
上周对于Linux系统的安装简直让人焦头烂额……因为我电脑本身容量的问题经常导致安装过程进行到一半的时候系统崩溃,出现诸如内存不能为written的问题……一番整理清除文件之后,终于将系统安装完成。而这一周的学习内容,则是初步让我接触了这个崭新的操作系统。
在本周的学习中,我除了接触了要求的几个命令之外,还接触了一些很实用的参数,如-r就是向下递归、-f就是强制命令等等。这些小参数的使用也使得我们的操作更加便利和灵活。
Linux系统无疑是比Windows更专业更适合程序开发的系统,我们在这周的接触只是皮毛而已,但是我却感觉十分有趣,每当输入一个命令,看着一行行英文跳出来的时候,都有一种很新鲜的感受。这周感觉就像是刚刚学会C语言的时候,看见自己编写出来一个程序运行成功时一样。很期待这门课接下来会带给我什么样的体验。## 学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 2/2 | 8/12 |