吐槽:
某某命令是什么,某个配置文件的路径,呃。。。。你难道不知道有--help和Tab这种东西吗?
linux系统的启动过程是怎么样的?
grub引导>加载内核>启动init进程依据inittab文件设定运行级别
怎么查看磁盘IO占用情况?
一般是用iotop工具
查看内存使用情况有哪些方法?
top 和 free 命令
强行杀掉一个进程用什么命令?
kill -9
怎么查看文件的大小?
ls -lh 或者 du -sh
使用什么命令查看 ip 地址?
ifconfig 或者 ip add li
排除网络故障一般用哪几个命令?
ping tcpdump telnet netstat
怎么创建一个软链接?
ln -s
怎么改变一个文件的权限?
chomd
linux对用户的资源限制怎么实现?
在limits.conf配置文件中配置或者ulimit命令临时限制
怎么禁止ssh用户使用密码登陆?
在sshd_config 中password登陆的选项设置成弄no
怎么拒绝192.168.1.1访问本机的8080端口?
iptables 在INPUT链中设置
iptables -A INPUT -s 192.168.1.1 -p tcp --dport 80 -j DROP
路由转发经过iptables哪个链?
FORWARD链
同步文件一般用哪个工具?
rsync
逻辑卷怎么创建?
使用lvm 创建pv>vg>lv
你处理复杂文本一般会用什么?
awk sed grep 或者python内置的一些方法
下面是难点:
一个文件删除了但是发现空间却没释放是怎么回事?
有可能有进程正在使用这个文件,linux系统中存储数据分为两部分为数据部分和指针部分,指针位于文件系统的元数据当中(metadata)
数据被删除后指针也会被删除,但是有进程在使用这个文件指针就会被进程锁定,所以内核就认为文件并没有被删除
linux系统中的inode是什么?满了会有什么后果
因为文件都存储在硬盘的块上面,必须找到一个地方储存文件的元信息,比如创建者创建时间文件大小等等,存储文件元数据的地方就是inode
linux内核中并没有文件名的概念,是用inode号码还识别文件的,如果inode号码满了新文件将无法获得inode号码导致无法存储
能简单介绍一下文件描述的作用吗?
linux系统将所有设备都当作文件来处理,而用文件描述符来标识每个文件对象
一个进程启动后系统中会有一个已打开文件描述符表,记录着所有该进程打开的文件描述符
默认情况下,启动一个进程后,会打开三个文件,分别是标准输入、标准输出、标准错误分别使用了0、1 、2号文件描述符
linux有哪些I/O模型?
阻塞I/O、非阻塞I/O、I/O复用、信号驱动I/O、异步I/O
linux 下的有哪些IO多路复用模型?有什么区别?
select 、poll、epoll
select 每次都把fd(文件描述符)从用户态拷贝到内核态,而且每次要遍历内核中的fd,开销比较大,另外支持的fd数量太小了,默认是1024
poll跟select很像只不过支持的fd不太一样
epoll是对select和poll的改进,弥补了以上缺点,通过epoll_ctl函数实现句柄只拷贝一次,epoll_ctl会为fd指定一个回调函数从而避免遍历,epoll不受fd的数量限制具体跟系统的配置有关
iptables和netfilter是什么关系?
netfilter是linux内核的一个数据包处理模块,具有网络地址转换、数据包修改、数据包过滤的功能,还定义了5个数据数据挂载点,使得我们有机会更改数据包路由、方向、和内容
五个数据点分别是PREROUTING、INPUT、OUTPUT、FORWORD、POSTROUTING
而netfilter的规则是存在内核内存中的,用户无法直接访问到,netfilter会开放一个xtables的接口,这时候就需要一个在用户态可以修改netfilter规则的工具那就是iptables