Q | A |
---|---|
这个作业属于哪个课程 | 网络攻防 |
这个作业的要求在哪里 | 《网络攻防》假期作业要求 |
我在这个课程的目标是 | 学习并了解网络攻防的相关知识 |
这个作业在哪个具体方面帮助我实现目标 | 学习并掌握markdown使用方法,提前学习了Linux的常用命令,熟练虚拟机安装方法 |
作业一
(1)你对网络攻击和防御了解多少?该课程需要计算机和网络相关的基础知识,你原专业是什么专业,目前你掌握多少基础知识?
(2)作业要使用Markdown格式,Markdown入门参考(需掌握)
-
网络攻击是指针对计算机信息系统、基础设施、计算机网络或个人计算机设备的,任何类型的进攻动作。对于计算机和计算机网络来说,破坏、揭露、修改、使软件或服务失去功能、在没有得到授权的
情况下偷取或访问任何一计算机的数据,都会被视为于计算机和计算机网络中的攻击
-
常见的计算机网络防御技术包括网络防火墙技术、网络加密技术、入侵检测技术和网络安全扫描技术
-
我本科的原专业是通信工程,计算机和网络相关的课程上过《计算机网络》,毕业设计是关于数据包分析的所以对wireshark较熟悉
-
已基本掌握Markdown使用方法
————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
作业二
(1)学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己笔记本上安装Linux操作系统(也可以使用VMWare安装虚拟机,安装方法自己百度)
-
本科时使用过VM安装虚拟机,这次实践了一下用VB安装虚拟机
-
在安装过程中发现教程中给出的下载地址下载速度过慢,在家里只能达到几百K的下载速度,因此在网上找了新的下载资源ubuntu-16.04-desktop-amd64
(2)通过实践学习别出心裁的Linux命令学习法,掌握Linux命令的学习方法
(3)参考上面的学习方法通过实践学习Linux 基础入门(新版)课程,掌握常用的Linux命令,重点是3/4/5/6/7/8节
Linux 基础入门(新版)课程第二章
- 使用Tab键来进行命令补全
- 其他一些常用快捷键
按键 | 作用 |
---|---|
Ctrl+d | 键盘输入结束或退出终端 |
Ctrl+s | 暂停当前程序,暂停后按下任意键恢复运行 |
Ctrl+z | 将当前程序放到后台运行 |
Ctrl+a | 将光标移至输入行头,相当于Home键 |
Ctrl+e | 将光标移至输入行末,相当于End键 |
Ctrl+k | 删除从光标所在位置到行末 |
Alt+Backspace | 向前删除一个单词 |
Shift+PgUp | 将终端显示向上滚动 |
Shift+PgDn | 将终端显示向下滚动 |
- 使用历史输入命令。使用键盘上的方向上键↑,恢复之前输入过的命令
- 一次创建多个文件,查找忘记文件名的文件
- man命令
区段 | 说明 |
---|---|
1 | 一般命令 |
2 | 系统调用 |
3 | 库函数,涵盖了C标准函数库 |
4 | 特殊文件(通常是/dev中的设备)和驱动程序 |
5 | 文件格式和约定 |
6 | 游戏和屏保 |
7 | 杂项 |
8 | 系统管理命令和守护进程 |
Linux 基础入门(新版)课程第三章
- who命令常用参数
参数 | 说明 |
---|---|
-a | 打印能打印的全部 |
-d | 打印死掉的进程 |
-m | 同am i,mom likes |
-q | 打印当前登录用户数及用户名 |
-u | 打印当前登录用户登录信息 |
-r | 打印运行等级 |
- 创建用户实验
使用 pwd 命令可以获取当前目录的绝对路径
- 查看自己属于哪个用户组
方法一:使用groups命令
方法二:查看 /etc/group 文件
- 将其它用户加入 sudo 用户组
使用 usermod 命令:
sudo usermod -G sudo lilei
- 查看文件权限
- 更改文件所有者
- 修改文件权限
每个文件的三组权限(拥有者,所属用户组,其他用户)
方法一:二进制数字表示
方法二:加减赋值操作
- adduser 和 useradd 的区别是什么?
答:useradd 只创建用户,创建完了用 passwd lilei 去设置新用户的密码。adduser 会创建用户,创建目录,创建密码(提示你设置),做这一系列的操作。其实 useradd、userdel 这类操作更像是一
种命令,执行完了就返回。而 adduser 更像是一种程序,需要输入、确定等一系列操作。
作业:添加一个用户 loutest,使用 sudo 创建文件 /opt/forloutest,设置成用户 loutest 可以读写
首先添加loutest用户,并赋予他sudo权限
使用sudo命令创建文件/opt/fortest(第一次实验时操作未完成预期结果,故更换文件名二次实验),将文件所有者变更为loutest用户,再运用加减赋值操作设置为仅loutest用户可读写。
注:在更改文件读写权限时遇到如下问题,再思考后发现,在指令前加sudo就可以以最高权限运行指令了,完成实验目标。
Linux 基础入门(新版)课程第四章
-Linux文件的基本操作
新建、复制、删除、移动、重命名文件
查看文件、查看文件类型
vim编辑器基础课程学习
- 进入vim编辑器
vim 文件名
-
普通模式中按i进入插入模式
-
从普通模式输入:进入命令行模式,输入w回车,保存文档。输入:w 文件名可以将文档另存为其他文件名或存到其它路径下
-
其它几种退出方式
命令 | 说明 |
---|---|
:q! | 强制退出,不保存 |
:q | 退出 |
:wq! | 强制保存并退出 |
:w <文件路径> | 另存为 |
:saveas 文件路径 | 另存为 |
:x | 保存并退出 |
:wq | 保存并退出 |
- 删除文本信息
命令 | 说明 |
---|---|
x | 删除游标所在的字符 |
X | 删除游标所在前一个字符 |
Delete | 同x |
dd | 删除整行 |
dw | 删除一个单词(不适用中文) |
d$或D | 删除至行尾 |
d^ | 删除至行首 |
dG | 删除到文档结尾处 |
d1G | 删至文档首部 |
- 行间跳转
命令 | 说明 |
---|---|
nG(n Shift+g) | 游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:set nu以显示行号) |
gg | 游标移动到到第一行 |
G(Shift+g) | 到最后一行 |
-
普通模式中的复制、粘贴、剪切
-
yy复制游标所在的整行(3yy表示复制3行)
-
y$ 复制至行尾。含光标所在处字符
-
yw 复制一个单词,yw 复制一个单词
-
yG 复制至文本末,y1G 复制至文本开头
-
p(小写)代表粘贴至光标后,p(小写)代表粘贴至光标后
-
dd 删除命令就是剪切,ddp 交换上下行
-
-
字符的替换和撤销(普通模式下)
命令 | 说明 |
---|---|
r+<待替换字母> | 将游标所在字母替换为指定字母 |
R | 连续替换,直到按下Esc |
cc | 替换整行,即删除游标所在行,并进入插入模式 |
cw | 替换一个单词,即删除一个单词,并进入插入模式 |
C(大写) | 替换游标以后至行末 |
~ | 反转游标所在字母大小写 |
u{n} | 撤销一次或n次操作 |
U(大写) | 撤销当前行的所有修改 |
Ctrl+r | redo,即撤销undo的操作 |
- 快速查找
普通模式下输入 / 然后键入需要查找的字符串 按回车后就会进行查找
- 使用vim编辑多个文件
vim 1.txt 2.txt
命令行模式下输入 :n (N)编辑 2(1).txt 文件,可以加 ! 即 :n! 强制切换,之前一个文件的输入没有保存,仅仅切换到另一个文件
- 进入vim后打开新文件
命令 | 说明 |
---|---|
:e 3.txt | 打开新文件3.txt |
:e# | 回到前一个文件 |
:ls | 可以列出以前编辑过的文档 |
:b 2.txt(或者编号) | 可以直接进入文件2.txt编辑 |
:bd 2.txt(或者编号) | 可以删除以前编辑过的列表中的文件项目 |
:e! 4.txt,新打开文件4.txt | 放弃正在编辑的文件 |
:f | 显示正在编辑的文件名 |
:f new.txt | 改变正在编辑的文件名字为new.txt |
- 恢复文件
vim -r
进入文档后,输入:ewcover 1.txt
来恢复
- 视窗操作
命令 | 说明 |
---|---|
:sp 1.txt | 打开新的水平分屏视窗来编辑1.txt |
:vsp 2.txt | 打开新的垂直分屏视窗来编辑2.txt |
- 文档加密
vim -x file
输入密码,确认密码,这样在下一次打开时,vim就会要求输入密码
注:至此,vim编辑器的基础课程全部学习完毕,继续linux第四章的学习
作业1: 创建一个 homework 目录,建立名为 1.txt~10.txt 文件,并删除 1.txt~5.txt
首先创建名为homework的目录
mkdir homework
用ls命令查看,可以看到homework目录创建完成
再进入homework目录,创建1~10.txt文件
cd homework
touch {1..10}.txt
最后用rm命令删除1~5.txt文件
rm {1..5}.txt
作业2:Linux 的日志文件在哪个目录
存放在/var/log目录下
Linux常用操作脑图
Linux 基础入门(新版)课程第五章
- 设置环境变量
declare xxx
- 读取变量的值
echo $xxx
- 修改变量
变量设置方式 | 说明 |
---|---|
${变量名#匹配字串} | 从头向后开始匹配,删除符合匹配字串的最短数据 |
${变量名##匹配字串} | 从头向后开始匹配,删除符合匹配字串的最长数据 |
${变量名%匹配字串} | 从尾向前开始匹配,删除符合匹配字串的最短数据 |
${变量名%%匹配字串} | 从尾向前开始匹配,删除符合匹配字串的最长数据 |
${变量名/旧的字串/新的字串} | 将符合旧字串的第一个字串替换为新的字串 |
${变量名//旧的字串/新的字串} | 将符合旧字串的全部字串替换为新的字串 |
- 变量生效
可以使用 source 命令来让其立即生效
source .xxx
- 搜索文件
命令 | 说明 | 特点 |
---|---|---|
whereis | 只能搜索二进制文件(-b),man 帮助文件(-m)和源代码文件(-s) | 简单快捷 |
locate | 它可以用来查找指定目录下的不同文件类型 | 快而全 |
which | 只从 PATH 环境变量指定的路径中去搜索命令 | 小而精 |
find | 不但可以通过文件类型、文件名进行查找而且可以根据文件的属性(如文件的时间戳,文件的权限等)进行搜索 | 精而细 |
- find搜索文件与时间相关的命令参数
参数 | 说明 |
---|---|
-atime | 最后访问时间 |
-ctime | 最后修改文件内容的时间 |
-mtime | 最后修改文件属性的时间 |
Linux 基础入门(新版)课程第六章
- 文件压缩
上面命令将目录 /home/shiyanlou/Desktop 打包成一个文件,并查看了打包后文件的大小和类型。第一行命令中,-r 参数表示递归打包包含子目录的全部内容,-q 参数表示为安静模式,即不向屏幕输出
信息,-o,表示输出文件,需在其后紧跟打包输出文件名。后面使用 du 命令查看打包后文件的大小。
- 设置压缩级别
zip -r -n(1~9) -q -o xxx.zip /home/xxx/xxx
这里添加了一个参数用于设置压缩级别 -[1-9],1 表示最快压缩但体积大,9 表示体积最小但耗时最久
注:这里只能使用绝对路径,否则不起作用。
- du命令查看压缩文件
通过man手册查看可知
-
h, --human-readable (意义可读)
-
d, --max-depth(所查看文件的深度)
-
解压zip文件
unzip xxx.zip
表示将xxx文件解压到当前目录
- 打包工具
上面命令中,-P 保留绝对路径符,-c 表示创建一个 tar 包文件,-f 用于指定创建的文件名,注意文件名必须紧跟在 -f 参数之后
-
zip:
-
打包 :zip something.zip something (目录请加 -r 参数)
-
解包:unzip something.zip
-
指定路径:-d 参数
-
-
tar:
-
打包:tar -cf something.tar something
-
解包:tar -xf something.tar
-
指定路径:-C 参数
-
作业:创建一个名为 test 的文件,分别用 zip 和 tar 打包成压缩包,再解压到 /home/shiyanlou 目录
Linux 基础入门(新版)课程第七章
- 查看磁盘和目录的容量
使用df
命令查看
作业:找出当前目录下面占用最大的前十个文件
-
du命令
- -a:显示目录占用空间的大小,还要显示其下目录占用空间的大小
-
sort命令
-
-n: 按照字符串表示的数
-
-r:按照反序排列
-
-
head命令
- -n: 取出前多少行
所以命令语句为du -a | sort -n -r | head -n 10
Linux 基础入门(新版)课程第八章
-
内建命令
是 shell 程序的一部分,其中包含的是一些比较简单的 Linux 系统命令,这些命令是写在bash源码的builtins里面的,由 shell 程序识别并在 shell 程序内部完成运行,通常在 Linux 系统加载
运行时 shell 就被加载并驻留在系统内存中。而且解析内部命令 shell 不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit 等等。
-
外部命令
是 Linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调入内存。虽然其不包含在
shell 中,但是其命令执行过程是由 shell 程序控制的。外部命令是在 Bash 之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如:ls、vi等。
- help命令
当使用help ls
时得到以下结果
因为 help 命令是用于显示 shell 内建命令的简要帮助信息。帮助信息中显示有该命令的简要说明以及一些参数的使用以及说明,help命令只能用于显示内建命令的帮助信息,不然就会得到刚刚得到的结果
如果时外部命令,则使用 --help
,例如 ls --help
- man命令
使用man ls
,得到以下结果
得到的内容比用 help 更多更详细,而且man命令没有内建与外部命令的区分。