个人近期学习总结(新手,大神勿喷)

1.2.3. OSI七层模型
1.2.3.1. 简介

OSI(Open System Interconnection)共分为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层七层,其具体的功能如下。
1.2.3.2. 物理层

提供建立、维护和释放物理链路所需的机械、电气功能和规程等特性
通过传输介质进行数据流(比特流)的物理传输、故障监测和物理层管理
从数据链路层接收帧,将比特流转换成底层物理介质上的信号

1.2.3.3. 数据链路层

在物理链路的两端之间传输数据
在网络层实体间提供数据传输功能和控制
提供数据的流量控制
检测和纠正物理链路产生的差错
格式化的消息称为帧

1.2.3.4. 网络层

负责端到端的数据的路由或交换,为透明地传输数据建立连接
寻址并解决与数据在异构网络间传输相关的所有问题
使用上面的传输层和下面的数据链路层的功能
格式化的消息称为分组

1.2.3.5. 传输层

提供无差错的数据传输
接收来自会话层的数据,如果需要,将数据分割成更小的分组,向网络层传送分组并确保分组完整和正确到达它们的目的地
在系统之间提供可靠的透明的数据传输,提供端到端的错误恢复和流量控制

1.2.3.6. 会话层

提供节点之间通信过程的协调
负责执行会话规则(如:连接是否允许半双工或全双工通信)、同步数据流以及当故障发生时重新建立连接
使用上面的表示层和下面的传输层的功能

1.2.3.7. 表示层

提供数据格式、变换和编码转换
涉及正在传输数据的语法和语义
将消息以合适电子传输的格式编码
执行该层的数据压缩和加密
从应用层接收消息,转换格式,并传送到会话层,该层常合并在应用层中

1.2.3.8. 应用层

包括各种协议,它们定义了具体的面向用户的应用:如电子邮件、文件传输等

1.2.3.9. 总结

低三层模型属于通信子网,涉及为用户间提供透明连接,操作主要以每条链路( hop-by-hop)为基础,在节点间的各条数据链路上进行通信。由网络层来控制各条链路上的通信,但要依赖于其他节点的协调操作。

高三层属于资源子网,主要涉及保证信息以正确可理解形式传送。

传输层是高三层和低三层之间的接口,它是第一个端到端的层次,保证透明的端到端连接,满足用户的服务质量( QoS)要求,并向高三层提供合适的信息形式。
1.3. 域名系统
1.3.1. 简介
DNS是一个简单的请求-响应协议,是将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP协议的53端口。

1.3.2. 术语

1.3.2.1. mDNS
Multicast DNS (mDNS),多播DNS,使用5353端口,组播地址为 224.0.0.251 或 [FF02::FB] 。在一个没有常规DNS服务器的小型网络内可以使用mDNS来实现类似DNS的编程接口、包格式和操作语义。mDNS协议的报文与DNS的报文结构相同,但有些字段对于mDNS来说有新的含义。
启动mDNS的主机会在进入局域网后向所有主机组播消息,包含主机名、IP等信息,其他拥有相应服务的主机也会响应含有主机名和IP的信息。
mDNS的域名是用 .local 和普通域名区分开的。

1.3.2.2. FQDN
FQDN (Fully-Qualified Domain Name) 是域名的完全形态,主要是包含零长度的根标签,例如 www.example.com. 。

1.3.2.3. TLD
Top-Level Domain (TLD) 是属于根域的一个域,例如 com 或 jp 。

TLD一般可以分为 Country Code Top-Level Domains (ccTLDs) 、Generic Top-Level Domains (gTLDs) 以及其它。

1.3.2.4. IDN
Internationalized Domain Names for Applications (IDNA) 是为了处理非ASCII字符的情况。

1.3.2.5. CNAME
CNAME即Canonical name,又称alias,将域名指向另一个域名。

1.3.2.6. TTL
Time To Live,无符号整数,记录DNS记录过期的时间,最小是0,最大是2147483647 (2^31 - 1)。

1.3.4. 域名系统工作原理

DNS解析过程是递归查询的,具体过程如下:

用户要访问域名www.example.com时,先查看本机hosts是否有记录或者本机是否有DNS缓存,如果有,直接返回结果,否则向递归服务器查询该域名的IP地址
递归缓存为空时,首先向根服务器查询com顶级域的IP地址
根服务器告知递归服务器com顶级域名服务器的IP地址
递归向com顶级域名服务器查询负责example.com的权威服务器的IP
com顶级域名服务器返回相应的IP地址
递归向example.com的权威服务器查询www.example.com的地址记录
权威服务器告知www.example.com的地址记录
递归服务器将查询结果返回客户端

1.3.5. 根服务器

根服务器是DNS的核心,负责互联网顶级域名的解析,用于维护域的权威信息,并将DNS查询引导到相应的域名服务器。

根服务器在域名树中代表最顶级的 . 域, 一般省略。

13台IPv4根服务器的域名标号为a到m,即a.root-servers.org到m.root-servers.org,所有服务器存储的数据相同,仅包含ICANN批准的TLD域名权威信息。
1.3.6. 权威服务器

权威服务器上存储域名Zone文件,维护域内域名的权威信息,递归服务器可以从权威服务器获得DNS查询的资源记录。

权威服务器需要在所承载的域名所属的TLD管理局注册,同一个权威服务器可以承载不同TLD域名,同一个域也可以有多个权威服务器。
1.3.7. 递归服务器

递归服务器负责接收用户的查询请求,进行递归查询并响应用户查询请求。在初始时递归服务器仅有记录了根域名的Hint文件。
1.3.8. DGA

DGA(Domain Generate Algorithm,域名生成算法)是一种利用随机字符来生成C&C域名,从而逃避域名黑名单检测的技术手段,常见于botnet中。一般来说,一个DGA域名的存活时间约在1-7天左右。

通信时,客户端和服务端都运行同一套DGA算法,生成相同的备选域名列表,当需要发动攻击的时候,选择其中少量进行注册,便可以建立通信,并且可以对注册的域名应用速变IP技术,快速变换IP,从而域名和IP都可以进行快速变化。

DGA域名有多种生成方式,根据种子类型可以分为确定性和不确定性的生成。不确定性的种子可能会选用当天的一些即时数据,如汇率信息等。
1.3.9. DNS隧道

DNS隧道工具将进入隧道的其他协议流量封装到DNS协议内,在隧道上传输。这些数据包出隧道时进行解封装,还原数据。

Linux
第一章
#date时间日期
#date +"%y" 年19
#date+"%Y" 年2019

参数 作用
%t 跳格[Tab键]
%H 小时(00~23)
%I 小时(00~12)
%M 分钟(00~59)
%S 秒(00~59)
%j 今年中的第几天
#pidof +服务名称:查到具体的服务号码
Killsll 服务名称
reboot命令
reboot命令用于重启系统,其格式为reboot。
poweroff命令
poweroff命令用于关闭系统,其格式为poweroff。
wget命令
wget命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。
top命令
top命令用于动态地监视进程活动与系统负载等信息,其格式为top。
kill命令
kill命令用于终止某个指定PID的服务进程,格式为“kill [参数] [进程PID]”。
killall命令
killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [服务名称]”。
第二章
free命令
free用于显示当前系统中内存的使用量信息,格式为“free [-h]”。

# uname:主机名称 系统版本号 系统发布时间、架构
# uptime:系统当前时间、开机时间、负载情况(users:用户)
# free:+参数(h);计算机的内存使用量————Swap空闲内存
#who:当前登录人的信息
#last:历史登录记录(辅助查看是否被入侵:可被更改)
# !+编号:可重复执行对应的命令
#sosreport:收集信息,提供给第三方厂商运用(俩次回车后,计算机信息形成一个压缩包,可发送给他人)

# pwd:当前目录工作的命令 # cd:切换目录的命令 #ls:目录内有哪些文件
例:cd 目录
cd ~
cd - (返回到上一次所在的目录)
cd … (返回上一级目录)
/root到home目录的转换
#cshrc:显示出隐藏文件
linux系统中,以点号开头的文件都是隐藏文件
linux系统中的一切都是文件
# ls -al:显示当前目录的所有文件信息
# cat(tab) anaconda-ks.cfg:查看文件内的信息(多查于小文件)

#more:多用于大文件(当不清楚文件是大是小,也用more)
#head -n 15 文件名称:只显示文件的前15行信息
#tail -f -------------------:显示后15行
#wc -l +文件名称:统计文件行数
-w----------:字节数
wc的参数以及作用
参数 作用
-l 只显示行数
-w 只显示单词数
-c 只显示字节数

#stat+文件名称:时间(查看时间、修改时间、更改时间)
access查看时间 modify修改时间(最后一次修改) change最后一次更改文件属性的时间

#cut -d : -f 1(导出第一行的所有信息)
cut-d 间隔符 -f列数 文件名称
# diff-- drief a.txt b.txt:俩个文件内容是否相同(比较文件)
#touch 文件名:新建文件(可以修改文件的时间)
#history:修改记录 #mkdir+文件名:新建文件
例:# mkdir -p a/b/c/d/e:嵌套文件
#ps aux ps命令 – 显示进程状态
ps命令的参数以及作用
参数 作用
-a 显示所有进程(包括其他用户的进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
find命令
find命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”。
find命令中的参数以及作用
参数 作用
-name 匹配名称
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前)
-ctime -n +n 匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比文件f1新但比f2旧的文件
–type b/d/c/p/l/f 匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-prune 忽略某个目录
-exec …… {}; 后面可跟用于进一步处理搜索结果的命令(下文会有演示)

在Linux系统中,有下面5种进程名称:
R(运行):进程正在运行或在运行队列中等待。
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态。
D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。
Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。
T(停止):进程收到停止信号后停止运行。
#cd /文件夹名
#ls:显示出文件夹中的所有文件
#ls /l:显示文件夹下的日期与文件
#Mkdir a /b/c/d:创建文件夹
#MV 源文件+目标文件:做剪切工作(也可以重新命名)

#rm:删除文件 rm -rf:删除一个目录 rm -rf /:清空磁盘
#rm
-r目录
-f强制(不进行二次确认)

#cp:复制文件
#dd:
-if=输入来源 -of=输出来源 -bs=数据大小 -count=次数

#tar czvf
Z=gzip j=bzip2

ls :显示指定工作目录下的文件与信息
-a 显示所有文件及目录 (包括以“.”开头的隐藏文件)
-l 使用长格式列出文件及目录信息
-r 将文件以相反次序显示(默认依英文字母次序)
-t 根据最后的修改时间排序
-A 同 -a ,但不列出 “.” (当前目录) 及 “…” (父目录)
-S 根据文件大小排序
-R 递归列出所有子目录

第三章
4个最常用的转义字符如下所示。
反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串。
单引号(’’):转义其中所有的变量为单纯的字符串。
双引号(""):保留其中的变量属性,不进行转义处理。
反引号(``):把其中的命令执行后返回结果。
Linux系统中最重要的10个环境变量
变量名称 作用
HOME 用户的主目录(即家目录)
SHELL 用户在使用的Shell解释器名称
HISTSIZE 输出的历史命令记录条数
HISTFILESIZE 保存的历史命令记录条数
MAIL 邮件保存路径
LANG 系统语言、语系名称
RANDOM 生成一个随机数字
PS1 Bash解释器的提示符
PATH 定义解释器搜索用户执行命令的路径
EDITOR 用户默认的文本编辑器
解释文本
Vim中常用的命令
命令 作用
dd 删除(剪切)光标所在整行
5dd 删除(剪切)从光标处开始的5行
yy 复制光标所在整行
5yy 复制从光标处开始的5行
n 显示搜索命令定位到的下一个字符串
N 显示搜索命令定位到的上一个字符串
u 撤销上一步的操作
p 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面
Vim Practive.txt
末行模式中可用的命令
命令 作用
:w 保存
:q 退出
:q! 强制退出(放弃对文档的修改内容)
:wq! 强制保存退出
:set nu 显示行号
:set nonu 不显示行号
:命令 执行该命令
:整数 跳转到该行
s /one/two 将当前光标所在行的第一个one替换成two
s/one/two/g 将当前光标所在行的所有one替换成two
:%s/one/two/g 将全文中的所有one替换成two
?字符串 在文本中从下至上搜索该字符串
/字符串 在文本中从上至下搜索该字符串

tar命令的参数及其作用 tr命令 – 字符转换
参数 作用
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录
第四章
su命令 – 切换用户
-c或–command 执行完指定的指令后,即恢复原来的身份
-f或–fast 适用于csh与tsch,使shell不用去读取启动文件
-l或–login 改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname,此外,也会变更PATH变量
-m,-p或–preserve-environment 变更身份时,不要变更环境变量
-s或–shell 指定要执行的shell
–help 显示帮助信息
–version 显示版本信息
在这里插入图片描述
文件测试所用的参数
操作符 作用
-d 测试文件是否为目录类型
-e 测试文件是否存在
-f 判断是否为一般文件
-r 测试当前用户是否有权限读取
-w 测试当前用户是否有权限写入
-x 测试当前用户是否有权限执行
if条件测试语句可以让脚本根据实际情况自动执行相应的命令。从技术角度来讲,if语句分为单分支结构、双分支结构、多分支结构;其复杂度随着灵活度一起逐级上升。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述for循环语句允许脚本一次性读取多个信息,然后逐一对信息进行操作处理,当要处理的数据有范围时,使用for循环语句再适合不过了。
在这里插入图片描述
第五章

Linux系统三种用户身份
1:管理员 root UID:0
2:系统用户 UID:1~999
RHEL5/6 UID:1~499
3:普通用户 UID:1000-65535
RHEL5/6 UID:500-65535

useradd用户命令(添加用户身份信息)
id命令可以显示真实有效的用户ID(UID)和组ID(GID)。UID 是对一个用户的单一身份标识。组ID(GID)则对应多个UID。
常用参数:
-g 显示用户所属群组的ID
-G 显示用户所属附加群组的ID
-n 显示用户,所属群组或附加群组的名称
-r 显示实际ID
-u 显示用户ID
–help 显示帮助
–version 显示版本信息

usermod命令中的参数及作用 – 修改用户账号
参数 作用
-c 填写用户账户的备注信息
-d -m 参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去
-e 账户的到期时间,格式为YYYY-MM-DD
-g 变更所属用户组
-G 变更扩展用户组
-L 锁定用户禁止其登录系统
-U 解锁用户,允许其登录系统
-s 变更默认终端
-u 修改用户的UID

Passwd:重置密码(回车俩次)
passwd命令中的参数以及作用
参数 作用
-l 锁定用户,禁止其登录
-u 解除锁定,允许用户登录
–stdin 允许通过标准输入修改用户密码,如echo “NewPassWord” | passwd --stdin Username
-d 使该用户可用空密码登录系统
-e 强制用户在下次登录时修改密码
-S 显示用户的密码是否被锁定,以及密码所采用的加密算法名称

useradd命令用于创建新的用户,格式为“useradd [选项] 用户名”。
groupadd命令用于创建用户组,格式为“groupadd [选项] 群组名”。
usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”。
passwd命令用于修改用户密码、过期时间、认证信息等,格式为“passwd [选项] [用户名]”。
userdel命令用于删除用户,格式为“userdel [选项] 用户名”。
在这里插入图片描述
#chmod权限 #chown属性
Chmod-r g+s 文件名
SBIT:粘滞位,保护位
Chmod-r o+t目录名
SUID 4 SGID 2 SBIT 1
chattr 设置
第六章
一切从/开始
inux系统中常见的目录名称以及相应内容
目录名称 应放置文件的内容
/boot 开机所需文件—内核、开机菜单以及所需配置文件等
/dev 以文件形式存放任何设备与接口
/etc 配置文件
/home 用户主目录
/bin 存放单用户模式下还可以操作的命令
/lib 开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数
/sbin 开机过程中需要的命令
/media 用于挂载设备文件的目录
/opt 放置第三方的软件
/root 系统管理员的家目录
/srv 一些网络服务的数据文件目录
/tmp 任何人均可使用的“共享”临时目录
/proc 虚拟文件系统,例如系统内核、进程、外部设备及网络状态等
/usr/local 用户自行安装的软件
/usr/sbin Linux系统开机时不会使用到的软件/命令/脚本
/usr/share 帮助与说明文件,也可放置共享文件
/var 主要存放经常变化的文件,如日志
/lost+found 当文件系统发生错误时,将一些丢失的文件片段存放在这里

常见的硬件设备及其文件名称
硬件设备 文件名称
IDE设备 /dev/hd[a-d]
SCSI/SATA/U盘 /dev/sd[a-p]
软驱 /dev/fd[0-1]
打印机 /dev/lp[0-15]
光驱 /dev/cdrom
鼠标 /dev/mouse
磁带机 /dev/st0或/dev/ht0

分区格式化挂载操作
在拿到一块全新的硬盘存储设备后要先分区,然后格式化,最后才能挂载并正常使用。当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是“挂载”。
mount命令中的参数以及作用
参数 作用
-a 挂载所有在/etc/fstab中定义的文件系统
-t 指定文件系统的类型

mount——设备+目录
mount 中的-a参数,它会在执行后自动检查/etc/fstab文件中有无疏漏被挂载的设备文件
umount命令-卸载操作 umount——设备/目录
/dev/sdb4 /media/haha xfs defaults(默认文件) 0 0

fdisk命令用于管理磁盘分区,格式为“fdisk [磁盘名称]”,它提供了集添加、删除、转换分区等功能于一身的“一站式分区服务”。
fdisk命令中的参数以及作用
参数 作用
m 查看全部可用的参数
n 添加新的分区
d 删除某个分区信息
l 列出所有可用的分区类型
t 改变某个分区的类型
p 查看分区表信息
w 保存并退出
q 不保存直接退出

Linux系统中用于格式化操作的命令是mkfs。

有多数转载内容,如有侵权,请告知。

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值