最近看到这个github仓库flash-linux0.11-talk,觉得还算是蛮有意思的,加上网络编程的课程又有抄写一段tcp协议实现代码或者交一篇linux内核源码阅读的笔记,还是比较讨厌这种低效率的抄写的所以就想写篇文章记录一下粗浅阅读源码后的大概了解...进入linux内核前的准备 开机 如果问电脑是如何一步一步开始运行操作系统的,那么第一件事情当然是按下开机键啦。...那么对于linux0.11来看,这个512Byte大小的启动程序就是/boot目录下的bootsect.s这个文件。按下开机键后,它会被编译成二进制文件,并且被存放在硬盘中的0盘0道1扇区。...前面的mov语句表示,页目录表的前4个页目录项,分别指向4个页表。...现在只有四个页目录项,也就是将前 16M 的线性地址空间,与 16M 的物理地址空间一一对应起来了。
Linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PI|sort -rn -k +3|head Linux下获取占用内存资源最多的
为了解决性能问题,你登入了一台 Linux 服务器,在最开始的一分钟内需要查看什么? 在 Netflix 我们有一个庞大的 EC2 Linux 集群,还有非常多的性能分析工具来监控和调查它的性能。...即使这些工具帮助我们解决了大多数问题,我们有时还是得登入 Linux 实例,运行一些标准的 Linux 性能工具来解决问题。...在 Linux 上,这些数值既包括正在或准备运行在 CPU 上的进程,也包括阻塞在不可中断 I/O(通常是磁盘 I/O)上的进程。...0 0 200890208 73712 591860 0 0 0 0 15898 4840 98 1 1 0 0 vmstat(8),是 “virtual memory stat” 的简称,几十年前就已经包括在...(在我们当前使用的)vmstat 输出的第一行数据是从启动到现在的平均数据,而不是前一秒的数据。所以我们可以跳过第一行,看看后面几行的情况。 检查下面各列: r:等待 CPU 的进程数。
提示:公众号展示代码会自动折行,建议横屏阅读 摘要 本文(有码慎入)主要介绍Linux任务调度相关的发展历史和基本原理。...本文在介绍过程中,会引用Linux的代码实现作为说明,同时阐述其中的一些趣闻轶事。...在Linux当中,每一个任务都是由一个c语言的struct描述,中,我们可以找到相关的信息。...这一部分一直以来都是Linux内存管理的核心,黑客们看起来不太愿意去动这一部分代码。...在介绍如何调度之前,还是有先温习一下Linux对于链表的经典实现方式(一直被模仿)。
一 head && tail 查看文件前5行 head -n 5 /tmp/tmpfile 查看文件后5行 tail -n 5 /tmp/tmpfile 从100行开始,显示200行,即显示100-299
Linux服务器每周会产生一次全局备份文件,大小约100G左右,需要定期清理。 工作时间网站访问大,服务器I/O高的时候删除大数据会对服务器状态产生不好的影响。于是想利用计划任务自动执行。...2013-12-30 -maxdepth 1:设置查找目录深度为1,只在/backup目录下查找,如不加此参数会将下级目录中的文件都列出 -type d:设置查找类型为目录 -mtime +28:查找28天前的目录...提醒: 使用命令前,应先在服务器上试用查找部分的命令,如只查找出要清理的目录,则可以继续。 不排除某些系统会将./目录查找出来,一定要看清楚,防止出现意外情况。
3.3 Linux中的进程 每个操作系统都有自己对应的PCB模块,那我们来看一下linux 的PCB是什么样子: struct task_struct{ //Liunx 进程控制模块 } 在linux...在根据进程的概念我们可以理解linux的进程为: 进程 = 内核task_ struct结构体 + 程序的代码和数据 深入理解 现在我们来进入到linux中来看看进程的Task_struct本身内部的属性都有哪些...现在,linux 启动!!! . / 的本质就是让系统创建进程并运行 (此外每个指令也是一个可执行程序) 我们自己写的代码形成的可执行程序 == 系统命令 == 可执行程序。...在Linux 中大部分的执行操作本质都是运行进程!!!...现在我们再来看看Linux中的“任务管理器”,让我们一起来看看然后才能查看进程 ps ajx 可以查看我们的进程,为了方便演示我们使用grep 来进行一下筛选: ps ajx | grep myprogress
在AI领域,国际数据公司IDC发布的《中国人工智能云服务市场研究报告(2019)》报告显示,腾讯云AI公有云市场份额进入国内前三,人脸识别API调用量国内第一。
另外的核心 icmp 给ip站岗的 不严格意义上的网络层报文 来管差错类型值不同 查询的 是一个信号的排头兵 先遣部队,迅捷刺猴
i]; if(temp>0){ sb.push(temp+unit[i]); } /*一下控制最多输出几个时间单位: 一个时间单位如:N分钟前...两个时间单位如:M分钟N秒前 三个时间单位如:M年N分钟X秒前 以此类推 */ if(sb.length>=1){...break; } } document.write(sb.join("")+"前"); } 一帮还在习惯不动脑子就直接上if-else的该好好想想了。
; find /tmp -mtime +30 -type f -name "*" -exec rm -rf {} \; /tmp --设置查找的目录; -mtime +30 --设置修改时间为30天前;
du -h //以可读格式计算磁盘空间使用情况的命令 sort //对文本文件进行排序的命令 -r //反转结果 -h //用可读格式打印输出 head //输出文件开头部分的命令 n -10 //打印前
find /tmp -mtime +30 -type f -name "*" -exec rm -rf {} \; /tmp --设置查找的目录; -mtime +30 --设置修改时间为30天前;
Linux Shell/terminal 命令非常强大,即使一个简单的命令就可能导致文件夹、文件或者路径文件夹等被删除。...在一些情况下,Linux 甚至不会询问你而直接执行命令,导致你丢失各种数据信息。...其他发行版本的 Linux,则是在作为根目录命令时会有危害。 ? 1....Linux Fork Bomb Command : (){ :: & };: 以 Fork Bomb 闻名,是一个拒绝服务攻击的 Linux 系统。...当收到 tar 文件,定期创建一个新的保护目录,然后在解压前将接受的 tar 文件放到这个目录中,你可以避免成为 tar bomb 的受害者。 6.
前 言 继Linux系统之后,本书中将开始介绍Linux企业级服务的部署。本书将先从网络参数设置讲起,逐一介绍各个服务的原理及部署方式。...Linux服务部分的课程与Linux系统部分截然不同,Linux系统中学习重点更偏向于命令的记忆与基本系统理论的掌握,而服务部分则偏重于各个服务的通信原理、协议功能及配置文件中各个配置项的熟悉,较为繁琐...好在Linux原理简单、逻辑清晰,配置文件中设置对错分明,只要静心思考,学习终会有所收获 另外,学习本书,容易陷于钻研实验步骤的误区,以实验成功为主要目标。...所以必须有了深厚的理论知识,才能在各种Linux版本、各种繁复的需求中,有清晰的思路,即便配置变化很大,也可以抽丝剥茧般逐步理清步骤。...最后,既然本书开始讲解Linux中各网络服务的部署,除了需要有Linux系统的基础知识外,还必须有网络通信原理(即OSI、TCP/IP协议原理)的知识。
参考文章: 【计划任务定时删除文件(共7篇)】 【Linux 删除指定时间前的文件】 【Linux crontab 定时任务整理笔记】
上电后,片上的 BootROM code 会将启动的 bin 文件拷贝到 ocram 中运行, ocram 通常只有4kb,甚至更小。所以将 uboot 中放到...
在一些情况下,Linux 甚至不会询问你而直接执行命令,导致你丢失各种数据信息。...其他发行版本的 Linux,则是在作为根目录命令时会有危害。 1....Linux Fork Bomb Command :(){ :: & };: 以 Fork 炸弹 闻名,是一个拒绝服务攻击的 Linux 系统。:(){ :: & };: 是一个 bash 函数。...所以当你在 Linux 界面执行这个命令时一定要注意。 推荐《Linux fork 炸弹解析,Linux Fork Bomb》 2....当收到 tar 文件,定期创建一个新的保护目录,然后在解压前将接受的 tar 文件放到这个目录中,你可以避免成为 tar bomb 的受害者。 6.
在开发后台管理系统时,经常会遇到这样一种需求,查询前多少天、多少周、多少月的数据,虽然 UI框架有自带的组件可以实现这些功能,但是操作起来却不是很方便,而且这些都是查询最近时间的数据,没有必要用日期组件...获取日查询选项 这里仅获取前30天的下拉选项: // 获取天的选项 getDayOptions(){ let timeList = []; for(let i=1;i<31;i++){...time.setTime(time.getTime()-24*60*60*1000*i); let day = this.formatTime(time); let name ='<em>前</em>'...获取月查询选项 这里仅获取前6个月的下拉选项: // 获取月的选项 getMonthOptions(){ let timeList = []; for(let i=0;i<6;i++){...this.formatTime(new Date(A)); dayB = this.formatTime(new Date(B)); name= '<em>前</em>'
mtime n: 最后一次文件内容修改发生在 n天 至 (n+1)天-mtime +n: 最后一次文件内容修改发生在 (n+1)天 之外2、使用 find 命令 先找到n天之外的文件(这里假设找到 3天前的文件
领取专属 10元无门槛券
手把手带您无忧上云