目录
- 前言
- 作业一
- 作业二
- 安装教程
- Linux命令学习方法
- Linux常用命令
- 实验二 基本概念及操作
- 实验三 用户及文件权限管理
- 实验四 Linux 目录结构及文件基本操作
- 实验五 环境变量与文件查找
- 实验六 文件打包与解压缩
- 实验七 文件系统操作与磁盘管理
- 实验八 Linux下的帮助命令
前言
问题 | 答案 |
---|---|
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/besti/19attackdefense |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10228 |
我在这个课程的目标是 | 学习网络攻防的相关知识,并能进行实践操作 |
这个作业在哪个具体方面帮助我实现目标 | 学习Markdown格式的用法,学习了基于VirtualBox虚拟机安装linux系统,了解了linux基础命令 |
作业正文... | 见后文具体内容 |
其他参考文献 | https://gitee.com/afei_/MarkdownDemo (Markdown格式的学习) |
作业一
(1)你对网络攻击和防御了解多少?该课程需要计算机和网络相关的基础知识,你原专业是什么专业,目前你掌握多少基础知识?
(1) 对网络攻击和防御不太了解,原专业是通信工程,目前不掌握相关基础知识。
(2)作业要使用Markdown格式,Markdown入门参考(需掌握)
(2) 已进行Markdown格式的学习,并为了更好地了解Markdown格式的编写,查询了相关的网站
作业二
你自己动手安装过操作系统吗?如果没有话现在动手学一下吧。
安装教程
(1)学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己笔记本上安装Linux操作系统(也可以使用VMWare安装虚拟机,安装方法自己百度)
(1)选择在VirtualBox虚拟机安装Ubuntu图文教程,因为之前曾经学习使用VMWare虚拟机。安装途中遇到的问题是家里网速太慢,下载Ubuntu系统太慢。所以我自己在网上找了个Ubuntu下载地址。但是在visualbox安装ubuntu18过程中不能输入名字,密码问题,即卡在注册页面,后来在CSDN博客上 找到了解决方法 ,在visualbox软件设置中更改Ubuntu的主板内存和处理器核心数,将主板内存修改为2048MB,处理器核心数为2核。修改后重新安装即可成功。
但是在安装增强功能时,未能加载虚拟光盘,后来在网上搜索解决方法,但是尝试后失败了,重新启动后黑屏了,无法进入桌面,迫不得已重新安装系统。这告诉我在系统完好时要学会备份。
Linux命令学习方法
(2)通过实践学习别出心裁的Linux命令学习法,掌握Linux命令的学习方法
(2)如果使用图形界面,使用Linux操作系统与windows系统没有太大区别,学习Linux系统首先要学习使用命令行,命令行的好处主要是可以批处理并自动化。采用Ubuntu系统,有几个快捷键可以提高使用命令行的效率,如下:
CTRL+ALT+T :打开终端
CTRL+SHIFT+T :新建标签页
ALT+数字N :终端中切换到第N个标签页
Tab :终端中命令补全或给出提示
CTRL+C :中断程序运行
命令有很多,重点是如何掌握众多命令,我采取的是先掌握基础的linux命令,然后根据不断实践学习积累Linux命令,同时查看Linux帮助文档。
- 在#或$符后面输入命令,有的时候命令后面还会跟着选项(options)或参数(arguments)即(command [options] [arguments]),了解linux命令行的基本格式。
- 知道man的使用,毕竟命令那么多无法记全,需要学会使用帮助文档。帮助文档比较多,在不断实践中掌握各自的用途。
- 了解cheat的用法,辅助man的使用,但是cheat 命令不是Linux自带的,需要自己安装。cheat提供显示Linux命令使用案例,包括该命令所有的选项。
Linux常用命令
(3)参考上面的学习方法通过实践学习Linux 基础入门(新版)课程,掌握常用的Linux命令,重点是3/4/5/6/7/8节。
实验二 基本概念及操作
在实验楼中用的是xfce桌面自带的终端,直接在上面实践了一些基本命令,并且运用了之前学习的快捷键,不得不说,方便了许多,同时还学习了有趣的输出图形字符命令banner和printerbanner。
touch:新建文件
cd:进入一个目录
pwd:查看当前目录
实验三 用户及文件权限管理
Linux 是一个可以实现多用户登录的操作系统,不同的用户可以同时登录同一台主机,共享主机的一些资源,但分别有自己的用户空间,存放各自的文件。实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于Linux系统的用户管理和权限机制,不同用户不可以轻易地查看、修改不属于自己的文件。
who am i / who mom likes :显示当前的用户名
sudo adduser 用户名:创建新用户(创建用户需要root权限)
su -l :切换到用户user,执行时需输入目标用户密码
ls /home :查看所有用户
Linux里每个用户都属于一个用户组,就是一组用户的集合,共享一些资源和权限,一个用户可以属于多个用户组的。
groups :查看用户组(冒号之前表示用户,之后表示用户组)
cat:读取指定文件内容并打印到终端输出。
sudo deluser 用户 选项 :删除该用户,不同的选项删除不同的内容
- linux里面一切皆文件,通过ls -l列出一长格式的文件,其中前10个空,第一个为文件类型,第2-4位为拥有者权限,第5-7位为所属用户组权限,第8-10位为其他用户权限,其中分别用‘r’,‘w’,‘x’表示允许读,写,执行权限。一个目录同时具有读权限和执行权限才可以打开并查看内部文件,一个目录要有写权限才允许在其中创建其它文件。
作业
- 添加一个用户 loutest,使用 sudo 创建文件 /opt/forloutest,设置成用户 loutest 可以读写。截图并把操作过程写入实验报告。
实验四 Linux 目录结构及文件基本操作
FHS(Filesystem Hierarchy Standard 文件系统层次结构标准),FHS 定义了两层规范,第一层是/下面的各个目录应该要放什么文件数据,例如 /etc 应该放置设置文件,/bin 与 /sbin则应该放置可执行文件;第二层则是针对 /usr 及 /var 这两个目录的子目录来定义,例如 /var/log 放置系统日志文件,/usr/share 放置共享数据等等。
tree/ :查看标准文档
绝对路径,就是以根" / "目录为起点的完整路径,以你所要到的目录为终点;相对路径,就是相对于你当前的目录的路径,相对路径是以当前目录.为起点,以你所要到的目录为终点
cd .. :进入上一级目录
cd ~ :进入home目录
touch:创建空白文件
mkdir:创建一个空目录,也可同时指定创建目录的权限属性,使用-p参数,同时创建父目录
cp: 将一个文件复制到指定目录,使用-r/-R参数复制目录
rm:删除文件,使用参数-f强制删除,使用-r/-R删除目录
mv: 移动文件(剪切),或将文件重命名
cat,tac:查看文件,前者为正序显示,后者为倒序显示,加上-n参数显示行号
nl:查看文件,添加行号并打印
- 一个有趣的代码,Linux命令行果然很有意思
作业
创建一个 homework 目录,建立名为 1.txt~10.txt 文件,并删除 1.txt~5.txt 。
Linux 的日志文件在哪个目录
linux日志文字在/var/log
实验五 环境变量与文件查找
变量名只能是英文字母、数字或者下划线,且不能以数字作为开头。
declare : 创建变量,使用=号赋值运算符
echo $ 变量:读取变量的值
set:显示当前 Shell 所有变量,包括其内建环境变量,用户自定义变量及导出的环境变量。
env:显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。
export:显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量。
echo $PATH :查看环境变量的内容为了与普通变量区分,通常我们将环境变量名设为大写。按变量的生存周期来划分,Linux 变量可分为永久的和临时的。在/etc/bashrc 和 /etc/profile 两个文件夹下分别存放shell 变量和环境变量。如果想要添加一个永久生效的环境变量,只需要打开 /etc/profile,在最后加上添加的环境变量。
创建简单的可执行shell脚本
添加自定义路径到PATH路径:> $ PATH= $PATH
unset :删除环境变量
source :让环境变量立即生效
whereis:直接从数据库中查询。whereis 只能搜索二进制文件,man帮助文件和源代码文件
locate:快,全,来查找指定目录下的不同文件类型
which : 小而精,确定是否安装了某个指定的软件
find:可以通过文件类型、文件名进行查找而且可以根据文件的属性进行搜索有趣的时间雨
作业
- 找出 /etc/ 目录下的所有以 .list 结尾的文件
实验六 文件打包与解压缩
- 文件打包和解压缩,常用的压缩方式, .zip,.7z .rar,.gz,.xz,.bz2,.tar,.tar.gz,*.tar.xz,等等
zip something.zip something:打包文件,如下图中-r 参数表示递归打包包含子目录的全部内容,-q 参数表示为安静模式,即不向屏幕输出信息,-o参数表示输出文件,需在其后紧跟打包输出文件名。还可以设置压缩级别参数,使用-e参数创建加密压缩包
du:查看打包后文件的大小
unzip something.zip:解压文件夹
tar -cf something.tar something :打包
tar -xf something.tar :解包
作业
- 创建一个名为 test 的文件,分别用 zip 和 tar 打包成压缩包,再解压到 /home/shiyanlou 目录。
实验七 文件系统操作与磁盘管理
df:查看磁盘容量
du:查看目录容量
mkfs:格式化磁盘
mount:挂载磁盘到目录树
unmount:卸载已挂载磁盘
dd of=test bs=10 count=1 #输出到文件
dd if=/dev/stdin of=/dev/stdout bs=10 count=1 #输出到标准输出
dd if=/dev/zero of=virtual.img bs=1M count=256 #在/dev/zero里创建一个256M 的空文件
sudo mkfs.ext4 virtual.img #将虚拟磁盘镜像格式化为ext4文件系统
sudo mount:#查看主机下已经挂载的文件系统
sudo umount /mnt #查看已挂载设备名或者挂载点
sudo fdisk -l #查看硬盘分区表消息
sudo fdisk virtual.img #进入磁盘分区模式
作业
- 找出当前目录下面占用最大的前十个文件。
实验八 Linux下的帮助命令
内建命令实际上是shell 程序的一部分,包含的是一些比较简单的Linux系统命令,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。而且解析内部命令shell不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit 等等。
外部命令是 Linux 系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调入内存。不包含在 shell中,但是其命令执行过程是由shell程序控制的。外部命令是在Bash 之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如:ls、vi等。
使用type区分是内建还是外部
- 根据不同的需求使用帮助命令man,help,info