《网络攻防实践》第一周作业

《网络攻防实践》第一周作业

学习Linux 基础入门(新版)

第一节 Linux系统简介

第一节为介绍Linux的发展历史,了解到Linux也是一个从很早就开始发展的操作系统。本节为科普性知识简介,没有任何问题。

第二节 基本概念及操作

第二节学习了Linux的基础操作,tab键补全命令在实际使用过程中十分有用,节省了编码时间。man命令对于Linux系统的初学者,是一个十分强大全面的帮助文档。本节最后的小练习十分有趣,4种输出图形的字符中,figlet输出的图形最好看,这种小实验增加了学习Linux的兴趣。

第三节 用户及文件权限管理

第三节,学习到了Linux中,也可以建立多个用户,还可以为用户划分用户组,深深感到这种划分十分便于管理多个不同权限的用户。在Linux中更改文件的用户权限,只需一行简单命令就可以实现不简单的功能,在windows中类似的实现需要多次点击鼠标,体会到了用命令行使用操作系统的高效便捷。

第三节的作业更加巩固了所学到的知识。

第四节 Linux 目录结构及文件基本操作

第四节学习了Linux目录结构和Linux的文件操作。Linux的文件结构与windows下的文件结构很不一样,对于初学者还需要一定的时间学习理解。Linux下可以批量新建、重命名文件,方便了需要大量新建、重命名的情况。在之后的实验中,发现cat命令经常会用到。第四节作业完成截图如下。

在第四节的最后提到了vim编辑器的学习。作为初学者,并不了解vim编辑器,于是学习了vim编辑器相关四节课内容。学习到vim编辑器与world很不一样,全程无鼠标操作,最不习惯的是上下左右调整方向只能用hljk。通过在其它方面的学习,了解到vim编辑器可以升级,上下左右移动方向可以直接只用上下左右箭头键,便捷了许多。

第五节 环境变量与文件查找

学习到了在Linux中环境变量的概念,可以简单理解为在当前进程中的子进程是否有效,有效则为环境变量,否则不是。在比较三个文件环境变量显示内容不同的过程中,运用到了vim编辑器的搜索功能,简单使用。

学习了如何写一个简单的shell脚本文件,对环境变量的操作,用4种不同命令查找文件。

本节最后的小实验揭秘了酷炫的黑客帝国中的场景是如何实现的。

第六节 文件打包与压缩

从本节学习到了Linux下本件的打包与压缩有多种形式,比windows下多出8种。压缩文件还有不同的压缩级别。通过学习这节内容,可以学以致用到Ubuntu下安装jdk和eclipse,从官网下载Linux系统下专用的压缩包,解压到相应的目录。这种只需解压缩的便捷的安装过程与windows下安装软件很不一样。六节最后还是一个有趣的小实验。

第七节 文件系统操作与磁盘管理

本节学习了Linux下简单的文件系统操作和磁盘管理。本节的学习内容操作不是很难,学习过程中不由得产生了什么时候会需要在Linux下创建虚拟硬盘、挂载的需求。这一问题留待对Linux更深入的学习实践。本节的作业任然是一个有趣的小实验,通过对该命令的学习,选择了多种动物形象中的卡通形象helloKitty。

第八节 Linux下的帮助命令

本节相对于第二节更加详细的学习了Linux下的帮助命令。了解到在不同的实验环境中,自带的帮助命令不同。bash下才有help和info。命令也有内建命令和外部命令的区别。

第九节 Linux任务计划crontab

本节学习了可以在固定的间隔时间执行指定的系统指令或shell、script 脚本的crontab命令,对于一些需要在固定时间间隔执行的程序可以将它写成shell脚本,用crontab命令自动执行。

第十节 命令执行顺序控制与管道

本节学习了命令执行可以放在一起,不用一条一条等待执行。管道的概念略抽象,是进程间的通信机制。学习到多个有大用处的小命令。

第十一节 简单的文本处理

本节是上一节内容的延续。本节学习了tr、col、join、paste四个文本处理命令。这些命令可以大大简化文本处理,许多需要鼠标重复复制粘贴的工作,只需要一个paste命令或者join就可以根据自己的需要将文件合在一起。

本节的游戏小作业。

第十二节 数据流重定向

本节学习了数据流重定向,简单来说就是将原本在标准输出输出的数据重定向到另一个文件中。文件可以永久重定向,同时重定向到多个文件。还可屏蔽重定向后的输出。

本节火焰小实验。

第十三节 正则表达式基础

本节介绍了之前提到的正则表达式。正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为 regex、regexp 或 RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。正则表达式中有很多语言规范,还需要长时间的练习。

第十四节 Linux 下软件安装

本节介绍了apt、dpkg两种不同的软件安装及相关命令。其中apt命令在前面几节中经常使用,使用最多的就是sudo apt-get install**。通过这一节的学习,了解了更多关于apt命令的内容。还知道了除了apt外还有dpkg同样用来安装软件。本节的小作业。

第十五节 Linux进程之初步了解

本节讲述了在Linux系统操作环境下如何查看当前系统中的进程。关于进程、线程的概念在本科操作系统课程中有详细学习,所以本节学习起来并不困难。

本节实验遇到的问题

在使用ps命令查看当前系统中进程时,并没有像文档中显示init,经过查阅ps命令参数后,增加了-a参数显示当前所有进程,显示出了init进程。
下图为没有显示出init进程。

下图为显示出init进程。

如上图所示,init是由进程0这个初始化进程来创建而出的子进程,而其他的进程基本是由 init 创建的子进程,或者是由它的子进程创建出来的子进程。所以 init 是用户进程的第一个进程也是所有用户进程的父进程或者祖先进程。
本节还学习了与工作控制相关的命令,将当前工作放到后台运行ll &,将当前工作停止并放到后台ctrl z,删除工作kill。

第十六节 Linux进程之管理控制

top 工具是我们常用的一个查看工具,他能实时的查看我们系统的关键一些关键信息的变化已经进程在进程中的实时变化。

由第一行的数据可知实验楼的Linux环境已经启动了119天2小时31分钟,有趣的数字。load average的值每个都超过了2,,超过 CPU 工作能力的 2了。
本节还更加详细的学习了ps命令。

第十七节 Linux之日志系统

日志数据可以是有价值的信息宝库,也可以是毫无价值的数据泥潭。它可以记录下系统所产生的所有行为,并按照某种规范表达出来。在apt文件夹中的日志信息,有个日志文件history.log与,history.log主要记录了进行了那个操作,相关的依赖有哪些。由下图可看到系统开始于2016年8月18日。

日志相关的还有一个还有常用的命令logger,logger是一个shell命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入信息。

在GIT@OSC上创建一个项目

1、在码云上创建自己的账号。

2、在Linux下安装Java和ecplise。
(1)安装jdk
下载jdk,直接从官网下载然后解压。

$tar -zxvf /home/k/work/jdk-8u101-linux-x64.gz -C /home/k/work

此处我解压到了指定的文件夹。用上了学习过的tar解压命令。
(2)编辑profile文件,设置环境变量:

$sudo vim /etc/profile 

在文件末尾添加下列内容,注意将home路径替换成你的:

export WORK_SPACE=/home/k/work/
export JAVA_HOME=$WORK_SPACE/jdk1.8.0_101
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

(3)使环境变量生效,并验证 Java 是否安装成功
生效环境变量

$source /etc/profile
$java -version         /*如果打印出如下版本信息,则说明安装成功*/
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

(4)在官网下载ecplise包并解压的想要的文件下

$cd ~/work/
$tar -xzf eclipse-jee-neon-2-linux-gtk-x86_64.tar.gz

就可以使用了

3、用Java写helloworld程序并编译运行

4、在码云上创建自己的项目
在项目中新建自己的项目,如图:

建好后如图所示

部署公钥。

5、在Ubuntu中上传修改的项目到码云
注意的是基于码云中已有的项目。
(1)进入工作空间

cd ~/workspace/

(2)克隆项目到本地

$git clone https://git.oschina.net/L_JIDA/LYN20169208.git /*注意换为自己的地址*/

(3)进入项目

$cd LYN20169208/

(4)用cp命令将要加入的文件放入项目中
如图:

此处为刚写的helloworld文件。
(5)添加所有文件

$git add -A

(6)填写修改的东西

$git commit -m "your_user.name_or_user.email commit modify helloworld file"/*helloworld为我要添加的文件*/

注意这里需要先设置好user.name和user.email,不然会报错,如图;

(7)push

 $git push origin master

大功告成。上传结果如下图;

posted on 2017-03-05 12:10  your_victory  阅读(390)  评论(2编辑  收藏  举报

导航