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/2 | 19/20 | ||