目录

一、自定义10个定时任务的示例:

二、图文并茂说明Linux进程和内存概念

三、图文并茂说明Linux启动流程

四、自定义一个systemd服务定时去其他服务器上检查/tmp/下文件的个数,如果发现数量有变化就记录变化情况到文件中。

五、写Linux内核编译安装博客

六、总结5个自我觉得比较有用的awk的使用场景,比如在什么情况下用awk处理文本效率最高,发散题,至少写1个


一、自定义10个定时任务的示例:

#每周三凌晨三点执行data命令
0 3 * * 3  data
#每周的工作日1:30,执行/backup
30 1 * * *  /backup
#每两小时取出当前系统/proc/meminfo
* */2 * * *  /proc/meminfo
#每月1、10、22日的20:00重启apache
0 20 1,10,22 * *   systemctl restart httpd
#每月20号的23:30执行/tmp下的test.sh脚本
30 23 20 * *  /tmp/test.sh
#早上5点到晚上11点之间,每隔2个小时清理/var/www/html目录一次
0 5-11/2 * * *  cat /dev/null > /var/www/html
#每月1号的4点重启http服务
0 4 1 * *  systemctl restart httpd
#每天早上8点到下午18点每隔2小时的每30分钟 查看系统时间
30 8-18/2 * * * date
#每天3点30分和12点30分执行/tmp下的hello.sh脚本
30 3,12 * * * /tmp/hello.sh
#12月30号23:30分重启主机
30 23 30 12 * reboot

二、图文并茂说明Linux进程和内存概念

进程:process运行中的程序的一个副本,是被载入内存的一个指令集合,是资源分配的单位

进程具有三种基本状态:

1、就绪状态。某些进程“万事俱备”(必要资源),只差CPU。(就绪队列)

2、执行状态。某进程占有CPU并在CPU上执行其程序。

3、阻塞状态。某些进程由于某种原因不能继续运行下去,等待处 理问题。也称为等待状态或封锁状态。如:请求I/O。(多个等待队列)

进程具有特征:

动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的。

并发性:任何进程都可以同其他进程一起并发执行。

独立性:进程是系统进行资源分配和调度的一个独立单位。

结构性:进程是由程序、数据和进行控制块三部分组成。

 线程:线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位。一个进程可以有一个或多个线程,各个线程之间共享程序的内存空间(也就是所在进程的内存空间)。一个标准的线程由线程ID、当前指令指针(PC)、寄存器和堆栈组成。而进程由内存空间(代码、数据、进程空间、打开的文件)和一个或多个线程组成。

进程和线程的区别

线程是程序的最小单位,而进程是操作系统分配的最小单位;

一个进程可以有一个或多个线程组成,线程是一个进程中代码的不同执行路线;

进程之前相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段、数据集、堆等)及一些进程的资源(如打开文件和信号),某进程内的线程在其他进程不可见;

调度和切换:线程上下文切换比进程上下文切换要快得多。

三、图文并茂说明Linux启动流程

Centos 6启动流程

1.加载BIOS的硬件信息,获取第一个启动设备

2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息

3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备

4.核心执行init程序,并获取默认的运行信息

5.init程序执行/etc/rc.d/rc.sysinit 文件,重新挂载根文件系统

6.启动核心的外挂模块

7.init执行运行的各个批处理文件(scripts)

8.init执行/etc/rc/d/rc.local

9.执行/bin/login程序,等待用户登录

10.登录之后开始以shell控制主机

grub功能和组成

bootloader:引导加载器,引导程序

Windows:ntloader,仅是启动OS

linux:功能丰富,提供菜单,允许用户选择要启动系统或不同的内核版本,把用户选定的内核装载到内存中的特定空间中,解压,展开,并把系统控制权移交给内核

linux的bootloader

lilo:linux loader,早期的bootloader,功能单一

grub:guand unified bootloader,centos 5,6 grub 0.97:grub legacy,centos 7以后使用grub 2.02

grub启动阶段

primary boot loader

1st stage :MBR的前446个字节

1.5 stage:MBR之后的扇区,让stage1中的BootLoader能识别stage2所在的分区上的文件系统

secondary bootloader:2nd stage,分区文件/boot/grub/

centos 7启动流程

1.UEFi或BIOS初始化,运行POST开机自检

2.选择启动设备

3.引导装载程序,centos 7是grub2,加载装载程序的配置文件

/etc/grub.d/

/etc/default/grub

/boot/grub2/grub.cfg

4.加载initramfs驱动模块

5.加载内核选项

6.内核初始化,centos 7使用systemd代替init

7.执行initrd.garget所有单元,包括挂载 /etc/fstab

8.从initramfs根文件系统切换到磁盘根目录

9.systemd执行默认target配置,配置文件/etc/systemd/system/default.target

10.systemd执行sysinit.target初始化系统及basic.target准备操作系统

11.systemd启动multi-user.target下的本机与服务器服务

12.systemd执行multi-user.target下的/etc/rc.d/rc.local

13.systemd执行multi-user.target下的getty.target及登录服务

14.systemd执行graphical需要的服务

运行级别

四、自定义一个systemd服务定时去其他服务器上检查/tmp/下文件的个数,如果发现数量有变化就记录变化情况到文件中。

vim /lib/systemd/system/find.service[Unit]
Description=check tmp
[Service]
TimeoutStartSec=0
ExecStart=/bin/sh -c  "ssh root@192.168.50.131  sh /shell/check_tmp.sh"   #基于key验证
ExecStop=ps auxf | grep [check]_tmp.sh |awk '{print $2}' |xargs kill -9 2>/dev/null
ExecReload=/bin/kill -s HUP $MAINPID
[Install]
Wantedby=multi-user.target

systemctl daemon-reload
systemctl enable --now find.service

五、写Linux内核编译安装博客

#下载linux内核 https://www.kernel.org/
#将下载的内核包上传到linux


yum -y install gcc make ncurses-devel flex bison openssl-devel
elfutils-libelf-devel bc perl
tar xf linux-5.18.9.tar.xz -C /usr/local/src
cd /usr/local/src/linux-5.18.9
cp /boot/config-$(uname -r) .config
vim .config
#修改下面三行
# CONFIG_MODULE_SIG=y #注释此行
CONFIG_SYSTEM_TRUSTED_KEYS="" #修改此行
# CONFIG_DEBUG_INFO_BTF=y     #更改内核版本名称make menuconfigGeneral setup  ➡️  Local version - append to kernel release ➡️ -m67-magedu ➡️ savemake -j 8    #多少核就写多少,此处很慢
make modules_install
make installreboot

六、总结5个自我觉得比较有用的awk的使用场景,比如在什么情况下用awk处理文本效率最高,发散题,至少写1个

​AWK的工作流程

1.通过关键字 BEGIN 执行 BEGIN 块的内容,即 BEGIN 后花括号 {} 的内容。

2.完成 BEGIN 块的执行,开始执行body块。

3.读入有 \n 换行符分割的记录。

4.将记录按指定的域分隔符划分域,填充域,$0 则表示所有域(即一行内容),$1 表示第一个域,$n 表示第 n 个域。

5.依次执行各 BODY 块,pattern 部分匹配该行内容成功后,才会执行 awk-commands 的内容。

6.循环读取并执行各行直到文件结束,完成body块执行。

7.开始 END 块执行,END 块可以输出最终结果。

awk非常的优秀,运行效率高,而且代码简单,对格式化的文本处理能力超强。基本上grep和sed能干的活awk全部都能干,而且干得更好。

图文并茂说明Linux启动流程相关推荐

  1. Linux 进内核,arm linux 启动流程之 进入内核

    原标题:arm linux 启动流程之 进入内核 还是从编译链接生成vm 的过程来看吧,由一大堆.o文件链接而成,第一个就是 kernel/arch//kernel/head-armv.o ,而且我们 ...

  2. Linux 启动流程学习

    Linux 启动流程学习 开机自检(加载BIOS) 无论什么机器,在开机后都要进行通电自检(硬件),如果硬件有问题,则无法继续下去. (例如当内存条松动时或者损坏,就会发出嘀嘀嘀警报声).接着开始加载 ...

  3. RISC-V Linux 启动流程分析

    " Author:  通天塔 985400330@qq.com Date:    2022/05/15 Revisor: lzufalcon falcon@tinylab.org Proje ...

  4. 嵌入式linux内核启动过程,嵌入式Linux:ARM Linux启动流程

    ARM Linux启动流程大致为:bootloader---->kernel---->root filesystem.bootloader 是一上电就拿到cpu 的控制权的,而bootlo ...

  5. linux启动流程及自定义gurb

    linux 启动流程 POST BIOS(boot sequence) 所选择的启动设备次序的MBR中是否有引导程序, ----> MBR(bootloader) 提供内核列表 -------& ...

  6. 全志linux关机键,全志平台linux启动流程分析

    转载:全志平台linux启动流程分析 一.BROM阶段 机器上电之后会执行固化在BROM里面的一段引导程序,这个程序会依次遍历所有支持的启动介质,直到找到第一个支持的.目前支持的启动介质是sd/mmc ...

  7. 【树莓派不吃灰】命令篇⑥ 了解树莓派Boot分区,学习Linux启动流程

    目录 1. Linux启动过程 1.1 内核引导 1.2 运行init初始化进程 -- 初始化系统环境 1.3 运行级别 -- runlevel 1.4 系统初始化 -- 加载开机启动程序 1.5 用 ...

  8. 最详细最易理解的linux启动流程解读及相关问题,万字高能无废话

    linux启动流程 linux的启动流程是运维所必须非常理解的东西,因为它将会是我们在发生服务器开不起机等情况的主要排错手段,充分理解了liunx的启动流程能够助力我们对此类故障的快速定位和处理. 废 ...

  9. 嵌入式 Linux 启动流程和 bootloader 介绍

    目录 嵌入式 Linux 启动流程 简介 启动流程 Bootloader 简介 市面上可见的 bootloader 入式 Linux 启动流程 简介 对于一个 SoC 芯片而言,bootloader ...

  10. EBB-11、Linux启动流程

    一.Linux开机流程 (一)power on 开机后加载BIOS(Basic Input Output System,基本的输入输出系统),BIOS加载 CMOS中所存放的当前主机各项硬件配置.系统 ...

最新文章

  1. Angular开发者指南(五)服务
  2. sql的加减乘除运算_小白学sql(一)
  3. Dapr + .NET Core实战(三)状态管理
  4. 前端学习(1848)vue之电商管理系统电商系统的开发模式和技术选型
  5. 自旋锁SpinLock小案例
  6. 英雄联盟S11总决赛EDG夺冠,网友:立下的flag可以兑现了
  7. Web Server监视器 v0.75 - Free tool
  8. java找三个数最大_用Java程序找最大的数字(4)
  9. template 不能分别在.h和.cpp中定义模板
  10. OpenCV绘制多边形的代码
  11. 时序逻辑电路的设计与分析
  12. 类Dota2服务器架构
  13. mongodb 副本集Replica Set的keyfile验证
  14. Unity -- 正交/透视相机切换(2D/3D相机切换)
  15. 告诉你怎么用Python进行企业营运分析!盈利这么多?
  16. Win系统 - 微星 GS65 笔记本电脑开机黑屏
  17. python星空画法教程,PS后期打造一张惊艳的星空风景照片后期调色教程
  18. 计算机网络相关论文目录怎么弄,Word如何自动生成目录 论文排版必备小技巧
  19. 抖音服务器到底有多大,能够供那么多人同时刷?
  20. 车联网开发板_车联网开发.PDF

热门文章

  1. 沈劭劼居然还是大疆的....大疆真的可怕。大疆如果做一款室内无人机不分分钟秒杀其他。
  2. tms570ls1224用ecap模式测het产生的pwm
  3. 《图解TCP/IP》读书笔记
  4. css文本属性 首行缩进
  5. 弹力弹珠java_利用java编写一个弹球小游戏
  6. Heterogeneous Treatment Effect
  7. Rhythmbox中mp3中文乱码问题
  8. 用Python画个新冠病毒
  9. 倍加福光电传感器OBE10M-18GM60-SE5-V1
  10. 学生信息表 成绩表+12章练习