20169214 2016-2017-2《网络攻防实践》第一周学习总结
《网络攻防实践》课程第一周学习总结
要学习linux系统,首先要弄清楚什么是linux。本质上来看,它是一个操作系统,包括系统调用和内核两层,处于硬件和应用程序之间,是整个计算机系统中的重要角色。另外,Linux 是一个可以实现多用户登陆的操作系统,比如用户A和用户B可以同时登陆同一台主机,他们共享一些主机的资源,但也分别有自己的用户空间,用于存放各自的文件。
一、通过实验楼学习《Linux 基础入门》
-
Linux的特色
操作系统的发展经历了批处理操作系统、交互式操作系统阶段,而后又出现了UNIX,既而,作为UNIX的升级改进版,Linux诞生。
Linux较Windows而言有它独特的优势,例如:更加稳定的系统,相对较少的系统资源占用,还有费用少,更安全等。另外,Linux大都为开源自由软件,用户可以修改定制和再发布,并兼具图形界面操作和完全的命令行操作,可以只用键盘完成一切操作,效率极高。
但也正因为如此,作为新手入门会比较困难,需要更进一步的学习和指导
-
Linux小技巧
语言学习过程中,勤奋刻苦是必须的,寻找一些小技巧更是会提升效率,让语言学起来少一些乏味,多一些惊喜。- CTRL+ALT+T:打开终端,天天使用终端,用鼠标打开太低效了;
- CTRL+SHIFT+T:新建标签页,编程时有重要应用;
- ALT+数字N:终端中切换到第N个标签页,编程时有重要应用;
- Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成;
- 上下键盘:切换命令历史,刚输入一个很长的命令,按上键就可以恢复;
- CTRL+C:强行终止当前程序。
- find查找一个文件在系统中的什么位置,locate是神速版本的find(相当于Windows下的神器Everything)。
- grep 可以对文件全文检索,比如在上百个C源文件想找出main函数在哪个文件中,就可以通过grep -n main *.c,快速找到main在哪个C文件中并指出在第几行。
-
Linux实践
-
输出简单的hello world:
-
首先通过touch命令创建文档1-1.c,然后利用文本编辑器gedit打开并编辑内容。touch 1-1.c
gedit 1-1.c
通过gcc生成可执行文件,然后实际执行,如下:
- ####学习中的乐趣
例如:有趣命令Banner,可以输出图形字符的命令
- ####注意点:
- 同一种表述可能含有不同的输入方式,例如,以下三种输入均表示“显示登录的用户是谁”。
另外,即使类似,但有无空格也可能影响命令的作用,例如:
whoami显示当前所处的用户
who am i是登录的用户
who显示当前所处的用户和登录的用户
再例如,cd 中间是有一个空格的,表示进入到“home”目录中,若直接写成“cd”是错误的。
- 如果直接使用cp命令,复制一个目录的话,会出现如下错误:
要成功复制目录需要加上-r或者-R参数,表示递归复制,就是说有点“株连九族”的意思。即为:$ cp -r father family。
- ####Linux的多用户特点
- Linux 是一个可以实现多用户登陆的操作系统,比如用户A和用户B可以同时登陆同一台主机,他们共享一些主机的资源,但也分别有自己的用户空间,用于存放各自的文件。以引进一个新用户lilei为例,如下。
创建新用户:
![](http://images2015.cnblogs.com/blog/1115768/201703/1115768-20170305155455079-1766303247.png)
登录新用户:
![](http://images2015.cnblogs.com/blog/1115768/201703/1115768-20170305155529532-453492983.png)
退出该用户用exit
删除该用户sudo deluser lilei --remove-home
- ####相对路径和绝对路径
绝对路径是以根"/"目录为起点的完整路径,以你所要到的目录为终点,表现形式如: /usr/local/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录。
相对路径是以当前目录 . 为起点,如果当前目录为 / 目录下的子目录,则可以省略这个 . 的(以后会讲到一个类似不能省略的情况;如果是终点是当前目录的上一级目录,则需要使用 .. ,比如你当前目录为“home”目录,根目录就应该表示为 ../../ ,表示上一级目录的上一级目录。
例如:我们以你的"home"目录为起点,分别以绝对路径和相对路径的方式进入 /usr/local/bin 目录:
- ####文件打包与解压缩
- ####dd命令与cp命令的区别
- 两者均有复制功能,但本质上是有差异的,整理如下:
- cp是对文件操作的,dd是对块进行操作的。详细来讲,就是cp是以字节方式读取文件,而dd是以扇区方式记取。所以dd方式效率要高些。
- cp命令拷贝过程中是整个文件的拷贝,操作对象最小单位是文件。dd拷贝可以以字节拷贝并且可以设置对数据拷贝的大小。
- cp命令可以拷贝文件夹,其实最终还是文件的拷贝,dd不可以拷贝文件夹。
- dd还可以完成文件在拷贝过程中的转换(字符的转换,字符的填充等),cp不可以,cp会改变文件本身的属性,比如读写权限,但文件内容不会改变。
- dd拷贝是通过扇区完成的,可以完成磁盘数据的完整拷贝。比如硬盘数据备份 dd if=/dev/stdin of=/dev/stdout 可以将stdin中的数据完整的拷贝到stdout中,实现数据从标准输入到标准输出的过度。cp不可以。
- ####help,man,info命令的区别
- 三者均有帮助功能,但应用范围和查询结果是有差异的,整理如下:
- help命令用于显示shell内部的帮助信息。help命令只能显示shell内部的命令帮助信息。
- man得到的内容比用 help 更多更详细,而且man没有内建与外部命令的区分。
- man内容大多数都是对命令的解释信息,还有一些相关的描述。Info是man指令的详细内容,包含多个区段和子区段,可以显示更完整的最新的GNU工具信息。
- help简明扼要,但只用于内建命令;man详细,包含解释与描述;info则更加具体,是man指令的详细内容。且后两者没有内外建命令的区分。
- ####其他常用命令
- man帮助命令。
- ls 显示文件列表命令。例如:ls -a为列出文件下所有文件,包括隐藏文件;ls -l 为列出文件的详细信息。
- cd 命令可以切换目录。在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录, - 表示上一次所在目录,~ 通常表示当前用户的"home"目录。
- pwd 命令可以获取当前所在路径(绝对路径)。
- cp(copy)命令复制一个文件或目录到指定目录。例如:将之前创建的"test"文件复制到"/home/shiyanlou/father/son/grandson"目录中,则为:$ cp test father/son/grandson。但不能直接使用cp命令复制一个目录,需要加上-r或者-R参数。
- rm(remove files or directories)命令,删除一个文件或目录,加上-f参数表示强制删除。
- mv(move or rename files)命令,移动文件(剪切)。
- cat,tac和nl命令查看文件这两个命令都是用来打印文件内容到标准输出(终端),其中cat为正序显示,tac倒序显示。
- grep 命令,在文本中或 stdin 中查找匹配字符串。它的一般形式为:grep [命令选项]... 用于匹配的表达式 [文件]... 例如:$ grep -rnI "shiyanlou" ~
- unip命令,去重,可用于过滤或输出重复行。
二、使用开源中国(码云)托管代码
-
创建账号
-
打开Git Bash,建立自己的用户名和邮箱,如下:
-
根据邮箱生成秘钥:
-
如果命令无误执行后,会在当前用户文件夹下,建立一个.ssh的文件夹,文件夹中有两个文件分别是id_rsa和id_rsa.pub,文件id_rsa.pub为生成的key
-
-
JDK安装
- 安装过程中有两点需要注意:安装路径可以不是C盘,但文件夹的命名一定不得含有中文,否则安装向导会被强制中断;另外一方面,JRE的根目录必须和JDK在同一路径下。
- 创建课程项目
-
测试运行
修改初始文件:
刷新如下:
三、通过网易云学习《文献管理与信息分析》
- 人的知识是有局限的,当我们在学习时总能遇到多多少少的问题,那么面临待解决的疑问,查阅资料成为日常学习中不可或缺的一部分。
- 众所周知,图书类资料比较系统,信息可靠,但是对信息飞速发展的现代化社会而言,难免品种较少,相对来说较容易过时,无法赶上快速发展社会的需要。这个时候,搜索引擎、社交网络等电子平台脱颖而出,由于快速、高效、且时效性好,成为资料搜索途径中的佼佼者。
- 我们要建立一种搜索意识。碰到问题要学会自己去解决,不管是通过搜索引擎阅览信息,还是在社交网络上交流分享,都将提升学习力和思考力,从而带来自身能力的提升。当然,查阅资料并不是仅局限于百度、谷歌等基本平台,要学会多角度、全方位的查阅、了解。
四、本周学习进度
- 「文献管理与信息分析」公开课,学习至章节2,课时14.
- Linux 基础入门(新版)」课程,学习至第17节。