Linux架构之各个目录的功能
/bin 存放二进制的可执行文件,如ls、mkdir、cat等,常用的命令都是存放在这里的。
/etc 存放系统管理和配置文件
/home 存放所有用户的根目录,例如user用户的主目录就是/home/user
/usr 用于存放系统应用程序,比较重要的是/usr/local是本地系统管理员软件安装目录,安装系统级应用
/usr/x11r6 用于存放X window的目录(X Window是Linux的一个图形用户接口)
/usr/bin 用于存放众多应用程序
/usr/sbin超级用户的管理程序
/usr/doc Linux文档
/usr/include 下开发和编译应用程序所需要的头文件
/usr/lib 常用的动态链接库和软件包的配置文件
/usr/man 帮助文档
/usr/src 源代码,Linux内核的源代码存放在/usr/src/linux中
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的库
/opt 额外安装的可选应用程序包所放的位置,一般可以把tomcat安装在这
/proc虚拟文件系统目录、是系统内存的映射、可以直接访问这个目录来获取系统信息
/root 超级用户(系统管理员)的主目录
/sbin存放二进制可执行文件,只有root才能访问,存放的是系统管理员使用的系统级别的管理命令和程序,如ifconfig
/dev存放设备文件
/mnt 临时文件系统的安装点、让用户临时挂载其它文件系统(挂载的意思就是磁盘或分区创建好一个文件系统后需要挂载到一个目录上才能使用,Windows、MAC会自动挂载,Windows称之为C盘D盘。Linux需要手动挂载或者配置系统自动挂载)
mount /dev/sda3(要挂载的分区) /mnt(挂载点)
不带任何后缀的mount命令是显示所有挂载点。
/boot存放系统引导时使用的文件
/lib存放跟文件系统中的程序运行所需要的共享库及内核模块(共享库又叫动态链接库,作用类似Windows里的.dll文件,存放了
/tmp 存放临时文件
/var用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,如服务的日志文件等。
/lost+found 平时是空的,存放因系统非正常关机而留下孤儿
MAC地址的作用
MAC地址也叫物理地址、硬件地址,由设备制造商出厂时烧录在网卡上
我理解的IP地址和MAC地址的区别是,MAC地址是划分子网的,可以大大减少路由器的计算量。
但是MAC地址不可替代IP地址,因为如果只用MAC地址的话路由器需要记住所有的子网,共2的48次幂个,是不可能做到的。
IP地址也不能代替MAC地址,因为在设备在上线以后才能根据它在哪个子网来分配IP地址,在设备还没有IP地址的时候或者还在分配IP地址的时候我们还需要MAC地址来区分设备。
OSI七层模型中,二层通信和三层通信的区别, mac地址表和arp表的区别
osi七层模型分为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
实际模型是基于TCP/IP协议的四层结构,即物理层、数据链路层、网络层、应用层。物理层的设备就是物理线路(网线、光纤等),数据链路层就是二层交换机工作层面,三层则是路由器、三层交换机工作层面,四层就是操作系统及应用软件(里面也可细分为会话、表示、应用层)。
比特流:是一种内容分发协议,采用高效的软件分发系统和点对点的传输协议完成大文件传输,一般的下载服务器为每个提出下载申请的用户提供下载服务,而比特流协议的工作方式是先为一个用户提供下载服务,再由这个用户转发给其它用户,这样可以同时处理多个大体积文件,且不用占用大量带宽。
MAC表是MAC地址和接口之间对应的表
arp表是MAC地址与IP地址对应的表
路由表是路由与接口对应的表
TCP/UDP协议了解, TCP和UDP的区别, 三次握手和四次挥手,以及tcp的keepalive机制
TCP/UDP协议是传输层的服务协议
TCP是面向连接的字节流服务,是一个比较可靠的数据传输协议,定义了确认信息的格式和计算机为了确认数据到达而采取的措施,就像先为传输段和到达段建立好了一个数据传输管道。
UDP是一个面向数据报的数据传输协议,提供的是非面向连接的不可靠的服务,不提供报文到达确认、排序、流量控制等,它只是把应用程序传给IP层的数据报发送出去,不能保证它们到达目的地
三次握手流程:
第一次握手:客户端向服务器端发送一个SYN包(SYN=j),进入SYN_SEND状态,等待服务器确认。
第二次握手:服务器端收到SYN包,确认客户端的SYN(ACK=j+1),同时自己也发送一个SYN(SYN=k),即SYN+ACK包,此时服务器进入SYN_RECV状态
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=k+1),发送完毕后,客户端和服务器进入ESTABLISHED状态,完成三次握手。
四次挥手流程:
客户端发送一个FIN,用来关闭客户到服务器的数据传送。
服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
服务器关闭与客户端的连接,发送一个FIN给客户端。
客户端发回ACK报文确认,并将确认序号设置为收到序号加1。
tcp的keepalive机制
很多多层协议都有heartbeat机制,客户端每隔一段时间向服务器端发送一个数据包用来告诉服务器自己还活着,一般都是很小的数据包或者是一个只包含包头的空包。
TCP自带心跳机制就是KEEPALIVE,系统默认设置的2小时的心跳频率。但是它检查不到机器断电、网线拔出、防火墙这些断线。而且逻辑层处理断线可能也不是那么好处理。一般,如果只是用于保活还是可以的。
过程就是客户端下一个定时器定时发一个空包给服务器,服务器再返回一个同样的空包。如果一定时间内服务器没有收到空包就默认此客户端掉线了。
心跳包主要是用来检查send命令检查不到的中间节点故障,以及在有些节点(防火墙)会自动把一定时间内没有数据传输的客户端断掉的情况下,心跳包可以用于维持长连接、保活。
什么是默认路由,DNS的作用
默认路由(Default route),是对IP数据包中的目的地址找不到存在的其他路由时,路由器所选择的路由
dns是由多个dns服务器组成的分层分布式系统。DNS服务器是注册加入DNS的任何计算机。它有一个域名和IP地址的索引,当被请求时,它可以告诉您与域名相关联的当前IP地址。
它的主要功能是将熟悉的地址(域名)“翻译”成计算机能理解的IP地址。此过程称为DNS域名解析。DNS服务器通常由Internet服务提供商(ISP)提供资金,如电信/移动宽带。他们在全国各地建立了许多DNS服务器组。
什么是文件系统, linux常用文件系统有哪些
文件系统是在存储设备上管理规划文件的结构,具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
Linux操作系统使用虚拟文件系统(VFS)向上和用户进程文件访问系统调用接口,向下和具体不同文件系统的实现接口,VFS屏蔽了具体文件的实现细节,向上提供统一的操作接口,通过VFS可以实现任意的文件系统,所以Linux支持十多种文件系统类型,比如Btrfs、JFS、 ReiserFS、ext、ext2、ext3、ext4、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。
对称加密和非对称加密,SSL证书
1. 对称加密
对称加密加密和解密使用同一个秘钥,所以叫做对称加密。对称加密只有一个秘钥,作为私钥。常见的对称加密算法:DES,AES,3DES等等。
2. 非对称加密
非对称加密:加密和解密使用不同的秘钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。私钥加密的信息,只有公钥才能解密。常见的非对称加密算法:RSA,ECC。
SSL证书是数字证书的一种,是遵守SSL协议由受信证书机构颁发的,SSL证书在客户端浏览器和web服务器之间建立一条SSL通道。
http协议和https协议的区别
HTTP 超文本传输协议,以明文方式传送信息,被截取后很轻易就知道了传送的信息
HTTPS安全套接字层超文本传输协议,在HTTP的基础上添加了SSL/TLS协议,SSL/TLS依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。