-
LINUX内核网络中的软中断KSOFTIRQD
1. 前言 之前分享过Linux内核网络数据包的接收过程,当执行到网卡通过硬件中断(IRQ)通知CPU,告诉它有数据来了,CPU会根据中断表,调用已经注册的中断函数,这个中断函数会调到驱动程序(NIC Driver)中相应的函数。驱动先禁用网卡的中断,表示驱动程序已经知道内存中有数据了,告诉网卡下次再收到数据包直接写内存就可以了,不要再通知CPU了,这样可以提高效率,避免CPU不停的被中断。 由于硬中断处理程序执行的过程中不能被中断,所以如果它执行时间过长,会导致CPU没法响应其它硬件的中断,于…
-
Iptables 介绍与使用
连接跟踪(conntrack) 连接跟踪是许多网络应用的基础。例如,Kubernetes Service、ServiceMesh sidecar、 软件四层负载均衡器 LVS/IPVS、Docker network、OVS、iptables 主机防火墙等等,都依赖连接跟踪功能。 连接跟踪,顾名思义,就是跟踪(并记录)连接的状态。例如,图 1.1 是一台 IP 地址为 10.1.1.2 的 Linux 机器,我们能看到这台机器上有三条 连接: 机器访问外部 HTTP 服务的连接(目的端口 80) …
-
Linux启动流程
每次打开 Linux PC 时,它都会经历一系列阶段,然后最终显示提示输入用户名或密码的登录屏幕。每个 Linux 发行版在典型的启动过程中都会经历 4 个不同的阶段。 每次打开 Linux PC 时,它都会经历一系列阶段,然后最终显示提示输入用户名或密码的登录屏幕。每个 Linux 发行版在典型的启动过程中都会经历 4 个不同的阶段。 用户登录提示 在本指南中,我们将重点介绍 Linux 操作系统从开机到登录的各个步骤。请注意,本指南仅考虑了当前使用的GRUB2引导加载程序和systemdin…
-
12 个超实用的 vim 编辑技巧
vim 是一个很好用的编辑器,应用十分广泛。但关于 vim,总有一些你不知道的事情,我们需要持续不断的学习。 我经常使用 vim,也经常在各大社区、论坛看到 vim 专家用户分享经验,今天我们就总结其中常用的一部分,分享给大家。 1,使用内置帮助(built-in help) 使用 vim 的内置帮助是一个好习惯(虽然很多朋友更喜欢在网上搜索相关的使用方法)。查看帮助的语法如下表格所示: 2,以普通用户身份打开,以 root 用户身份保存 在编辑系统文件或者受权限保护的文件的时候,很容易会忘记在…
-
Linux中这些杀毒软件你听说过吗?
或许你会有所疑问:如果 Linux 如此安全,为什么我们还需要安装防病毒软件呢? 你的想法是对的!但是,Linux 为全球超过 70%的 Web 服务器提供支持。黑客极有动机来制造强大的病毒来渗透这些服务器安全系统。尽管它不像 Windows 那样简单,但是考虑到 Linux 的默认安全设置,这也不是没有可能。 脚本的意外执行会感染您的系统,这正是自动化防病毒系统可以提供帮助的地方。它可以始终监视您的系统活动,并在可能引起问题之前阻止任何恶意活动! 现在,让我们来看看有哪些适用于 Linux 的…
-
一篇文章彻底搞定Linux信号!
1.信号是什么? 信号其实就是一个软件中断。 例: 输入命令,在 Shell 下启动一个前台进程。 用户按下 Ctrl-C,键盘输入产生一个硬件中断。 如果 CPU 当前正在执行这个进程的代码,则该进程的用户空间代码暂停执行, CPU 从用户态切换到内核态处理硬件中断。 终端驱动程序将 Ctrl-C 解释成一个 SIGINT 信号,记在该进程的 PCB 中(也可以说发送了一个 SIGINT 信号给该进程)。 当某个时刻要从内核返回到该进程的用户空间代码继续执行之前,首先处理 PCB 中记录的信号…
-
运维人必知必会的find命令7种用法!
可以很肯定地说,find 命令是 Linux 后台开发人员必须熟知的操作之一,除非您使用的是 Windows Server。 对于技术面试,它也是一个热门话题。让我们看一道真题: 如果你的 Linux 服务器上有一个名为 logs 的目录,如何删除该目录下最后一次访问时间超过一年的日志文件呢?🤔 这种情况很常见,但令人惊讶的是,并非每个开发人员都能在面试中清楚地写出这个命令。 答案:首先我们需要使用 cd 命令进入对应的目录,然后,命令如下: find . -type f -atime +365…
-
VMware 虚拟化全系脑图
图源网络,侵删
-
MySQL中的 utf8 并不是真正的UTF-8编码 ! !
一、报错回顾 将emoji文字直接写入SQL中,执行insert语句报错; INSERT INTO `csjdemo`.`student` (`ID`, `NAME`, `SEX`, `AGE`, `CLASS`, `GRADE`, `HOBBY`) VALUES ('20', '陈哈哈😓', '男', '20', '181班', '9年级', '看片儿'); [Err] 1366 - Incorrect string value: '\xF0\x9F\x98\x93' for colu…
-
34个Linux Shell脚本,一定能帮到你!
(1)用户猜数字 #!/bin/bash # 脚本生成一个 100 以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了, # 猜小了或猜大了,直至用户猜对脚本结束。 # RANDOM 为系统自带的系统变量,值为 0‐32767的随机数 # 使用取余算法将随机数变为 1‐100 的随机数 num=$[RANDOM%100+1] echo "$num" # 使用 read 提示用户猜数字 # 使用 if 判断用户猜数字的大小关系:‐eq(等于),‐ne(不等于),‐gt(大于),‐ge(大…