首页 > 代码库 > 《信息安全系统设计基础》第1周学习总结

《信息安全系统设计基础》第1周学习总结

20145336张子扬 《信息安全系统设计基础》第1周学习总结

教材学习内容总结

在linux中快捷键

  • CTRL+ALT+T:打开终端,天天使用终端,用鼠标打开太低效了
  • CTRL+SHIFT+T:新建标签页,编程时有重要应用
  • ALT+数字N:终端中切换到第N个标签页,编程时有重要应用
  • Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成
  • 上下键盘:切换命令历史,刚输入一个很长的命令,按上键就可以恢复
  • CTRL+C:中断程序运行
  • Ctrl+Z: 将当前程序放到后台运行,恢复到前台为命令fg
  • Ctrl+A: 将光标移至输入行头,相当于Home键
  • Ctrl+E: 将光标移至输入行末,相当于End键
  • Ctrl+K: 删除从光标所在位置到行末

 

在linux命令行中,命令格式一般为:

command [options] [arguments] //命令 【选项】(可选)【参数】(可选)ls命令:显示当前文件夹的文件ls.命令:这里.是一个参数,指当前文件,和命令有所冲突,语句和ls是一样的效果ls -a .命令:显示当前文件夹所有文件包括隐藏文件和目录

如果你想创建多个文件

$ touch love_{1..10}_linux.txt

技术分享

查找时可以使用*和?来代替未知或者忘记的字符

man

在 Linux 环境中,如果你遇到困难,可以使用man 命令,它是Manual page的缩写。

在man的手册中一般包括以下及部分内容

  • name(名称):该命令或函数的名称,接着是一行简介
  • synopsis(概要):对于命令,正式的描述它如何运行,以及需要什么样的命令行参数。对于函数,介绍函数所需的参数,以及哪个头文件包含该函数的定义。
  • description(说明):命令或者函数功能的文本描述
  • examples(示例):常用的示例
  • see also(参见):相关的命令或者函数列表

查找到后你可以使用n键切换到下一个关键字所在处,shift+n为上一个关键字所在处。使用Space(空格键)翻页,Enter(回车键)向下滚动一行,或者使用j,k(vim编辑器的移动键)进行向前向后滚动一行。按下h键为显示使用帮助(因为man使用less作为阅读器,实为less工具的帮助),按下q退出,如果想获得更详细的帮助,可以使用info命令。如果只想查看某个具体参数的作用,可以使用--help。

man -k:可以帮助我们学习代码,像是一个搜索引擎。可以结合man -k key|grep来实现关键词查找。man -k等价于apropos。man -f cmd可以查看命令的基本功能,等同于whatis。

 

cheat

cheat命令可以提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能。

它比man命令提供的信息更加简单,但是同样更加易懂,用实例来告诉你这一条命令应该如何使用。

cheat命令在linux里并没有安装,需要自己安装

 

find

find命令可以查找一个文件在系统的位置

技术分享

locate

locate是神速版的find

技术分享

grep

grep可以对全文件进行全文检索,比如寻找main函数在那个文件中,可以通过grep -n main*.c,快速找到main在那个c文件中并指出第几行。

 

whreris和whicd

whereis和which命令可以快速找到文件安装的位置

我对linux自带的firefox浏览器进行了实验操作:

技术分享

 

apt-cache

apt-cache可以在使用apt-get install安装一个程序时先找软件源库中是否有这个程序

用户的创建

可以使用who am i来查找当前的用户

技术分享

如果你想要新建一个用户,可以使用sudo adduser xxx来进行创建新用户

技术分享

技术分享

 

教材学习中的问题和解决过程

在一开始使用vmware虚拟机时,更新了虚拟机,不知为何虚拟机奔溃了

技术分享

在网上寻找了原因,需要在安装目录文件中删去三个文件,虚拟机回复正常

技术分享

课后作业中的问题和解决过程

在使用man命令时,man 手册的内容很多,涉及了 Linux 使用过程中的方方面面,为了便于查找,是做了分册(分区段)处理的,在Research UNIX、BSD、OS X 和 Linux 中,手册通常被分为8个区段,安排如下:

技术分享

我在命令行中尝试了一下man printf,man 1 printf,man 3 printf

技术分享

技术分享

技术分享

 

实现banner的安装

banner是一个可以输出图形字符的linux命令,但使用之前需要先安装

$ sudo apt-get update

$ sudo apt-get install sysvbanner

技术分享

 

其他(感悟、思考等,可选)

第一次接触linux系统,带给我的新奇的感觉,新奇的是它带个用户不同于windows系统的体验。在windows系统中,用户可以通过键盘,鼠标在图形界面上进行操作。但在linux系统中,我们更多的是使用键盘输入在命令行中完成对计算机的操作,不再依赖于图形化界面。这种模式对于用户来说更难掌握,需要更加丰富的知识才能进行操作,同样当你熟练运用linux后,它的效率也会比windows系统高很多的。

在linux系统中都是使用命令行输入命令对计算机进行操作,在命令行中基本是纯英语的,由于我英语水平不高,有些命令行的提示还得去百度,很尴尬。

我觉得刚开始学一门新知识都是比较费劲的,应为你不仅要去学习相对应的知识,还要去适应它的 学习方法。学习linux我觉得对于每一条命令,动手去操作,了解它的用途,对应的参数,每种选项有什么效果,就像学英语要像先记单词一样。而老师建议我们去熟练掌握man方法,cheat方法就是让我们掌握查字典的方法。久而久之,我们就能够掌握自主学习的方法。

本周进度有点慢,因为在准备复习,在下周要加快进度,多动手操作。

学习进度条

 代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积) 重要成长
目标5000行30篇400小时  
第一周/1/219/20 
     

 

参考资料

  • 《深入理解计算机系统V2》学习指导
  • ...

《信息安全系统设计基础》第1周学习总结