linux基础知识点

linux面试准备
 
linux的文件类型  linux中一切皆文件
linux基础知识点_第1张图片
 
 
软连接和硬链接
1)硬链接
由于 Linux 下的文件是通过索引节点(inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配 inode 。每添加一个一个硬链接,文件的链接数就加 1 。
不足:1)不可以在不同文件系统的文件间建立链接;2)只有超级用户才可以为目录创建硬链接。
2)软链接
软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。
不足:因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。
? 实际场景下,基本是使用软链接。详细的,胖友可以看看 《关于硬链接和软连接(符号链接)的区别》 。总结区别如下:
硬链接不可以跨分区,软件链可以跨分区。
硬链接指向一个 inode 节点,而软链接则是创建一个新的 inode 节点。
删除硬链接文件,不会删除原文件,删除软链接文件,会把原文件删除。
 

RAID 是什么?

RAID 全称为独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、 容量巨大的硬盘。RAID 通常被用在服务器电脑上,使用完全相同的硬盘组成一个逻辑扇区,因此操作系统只会把它当做一个硬盘。
RAID 分为不同的等级,各个不同的等级均在数据可靠性及读写性能上做了不同的权衡。在实际应用中,可以依据自己的实际需求选择不同的 RAID 方案。
 

网络

iptables 命令

iptables ,是一个配置 Linux 内核防火墙的命令行工具。功能非常强大,对于我们开发来说,主要掌握如何开放端口即可。例如:
把来源 IP 为 192.168.1.101 访问本机 80 端口的包直接拒绝:iptables -I INPUT -s 192.168.1.101 -p tcp --dport 80 -j REJECT 
开启 80 端口,因为web对外都是这个端口
iptables -A INPUT -p tcp --dport 80 -j ACCEP
另外,要注意使用 iptables save 命令,进行保存。否则,服务器重启后,配置的规则将丢失。
查看主机路由的三种基本方式
  1. route -n
  2. netstat -nr
  3. ip route
linux基础知识点_第2张图片
 
Linux抓包命令
在 Linux 系统下如何按照下面要求抓包:只过滤出访问 HTTP 服务的,目标 IP 为 192.168.0.111 ,一共抓 1000 个包,并且保存到 1.cap 文件中??
tcpdump -nn -s0 host 192.168.0.111 and port 80 -c 1000 -w 1.cap
 
 
 
Centos 设置静态IP
测试服务器OS: Centos 6.5 x64
本机OS: Ubuntu 14.04 x64
由于Virtualbox当时安装Centos 6.5的时候设置的是自动获取的IP,所以局域网内每次启动,IP有时候会变化
如果本地测试最好固定静态IP
#用户root登陆到服务器,编辑配置信息
vi /etc/sysconfig/network-scripts/ifcfg-eth0
设置如下内容,有则改之,无则添加
DEVICE=eth0          策略
BOOTPROT=static   静态IP
IPADDR=192.168.1.200  静态IP地址
GATEWAY=192.168.1.1  网关
NETMASK=255.255.255.0 子网掩码
ONBOOT=yes  
之后保存
linux基础知识点_第3张图片 然后重启网卡即可
service network restart
现在试试吧,IP已经变为192.168.1.200
直接远程登陆
 

 

【ubuntu 16.04】
首先需要修改 /etc/network/interfaces增加
auto ens33
iface ens33 inet static
address 192.168.88.181
netmask 255.255.255.0
gateway 192.168.88.2
(注意,ubuntu 16之后的网卡名字不再是 eth0 之类,而是其他名字,例如作者这里就是 ens33,还有 dns-server 这一行一定要写,否则会设置失败)
修改/etc/NetworkManager/NetworkManager.conf 文件,将 managed 设置为 true
设置 /etc/resolvconf/resolv.conf.d/base,增加
nameserver 223.5.5.5
nameserver 223.6.6.6
因为机器在重启后,真正读取dns 的配置是在 /etc/resolv.conf,但是 /etc/resolv.conf 的数据来源于 /etc/resolvconf/resolv.conf.d/base
用户可以通过以下命令查看 /etc/resolvconf/resolv.conf.d/base 的值是否被刷到 /etc/resolv.conf 上
resolvconf -u
1
重启网络服务
/etc/init.d/networking restart
 
 
 

设置 DNS 需要修改哪个配置文件?

全局的配置,可以在 /etc/resolv.conf 文件中配置。
指定网卡的配置,可以在 /etc/sysconfig/network-scripts/ifcfg-eth0 文件中配置。
一般来说,肯定是全局配置即可。
? /etc/hosts 文件什么做用?
 /etc/hosts 文中,我们可以配置指定域名和 IP 的映射关系。详细的,可以看看 《Linux环境下 /etc/hosts 文件详解》 文章。
 在 Linux 下如何指定dns服务器,来解析某个域名?
使用 dig 命令:dig @DNSip http://domain.com 。例如:
dig @8.8.8.8 www.baidu.com # 使用谷歌 DNS 解析百度
 
 
如何过滤与预防 网站数据库注入?
数据库网页端注入这种,可以考虑使用 nginx_waf 做过滤与预防。
 
 
 
针对网站访问慢,怎么去排查?
1、首先要确定是用户端还是服务端的问题。当接到用户反馈访问慢,那边自己立即访问网站看看,如果自己这边访问快,基本断定是用户端问题,就需要耐心跟客户解释,协助客户解决问题。
艿艿:不要上来就看服务端的问题。一定要从源头开始,逐步逐步往下。
2、如果访问也慢,那么可以利用浏览器的调试功能,看看加载那一项数据消耗时间过多,是图片加载慢,还是某些数据加载慢。
3、针对服务器负载情况。查看服务器硬件(网络、CPU、内存)的消耗情况。如果是购买的云主机,比如阿里云,可以登录阿里云平台提供各方面的监控,比如 CPU、内存、带宽的使用情况。
4、如果发现硬件资源消耗都不高,那么就需要通过查日志,比如看看 MySQL慢查询的日志,看看是不是某条 SQL 语句查询慢,导致网站访问慢。
? 怎么去解决?
1、如果是出口带宽问题,那么久申请加大出口带宽。
2、如果慢查询比较多,那么就要开发人员或 DBA 协助进行 SQL 语句的优化。
3、如果数据库响应慢,考虑可以加一个数据库缓存,如 Redis 等等。然后也可以搭建MySQL 主从,一台 MySQL 服务器负责写,其他几台从数据库负责读。
4、申请购买 CDN 服务,加载用户的访问。
5、如果访问还比较慢,那就需要从整体架构上进行优化咯。做到专角色专用,多台服务器提供同一个服务。

 

你可能感兴趣的:(初出茅庐)