本文是一份我在 Linux 上工作时发现的一些关于命令行的使用的小技巧的摘要。有些小技巧是非常基础的,而另外一些则是相当复杂的甚至晦涩难懂的。...本文为 Linux 所写,除了仅限 MacOS X 系统节。其它节中的大部分内容都适用于其它 Unix 系统或 MacOS 系统,甚至 Cygwin。...学会使用 apt-get,yum,dnf 或 pacman (取决于你使用的 Linux 发行版)来查找或安装软件包。...尤其注意“cached”的值,它指的是 Linux 内核用来作为文件缓存的内存大小,因此它与空闲内存无关。...查看你当前使用的系统,使用 uname , uname -a (Unix/kernel 信息) 或者 lsb_release -a (Linux 发行版信息)。
Linux 命令行的艺术 熟练使用命令行是一种常常被忽视,或被认为难以掌握的技能,但实际上,它会提高你作为工程师的灵活性以及生产力。...本文是一份我在 Linux 上工作时,发现的一些命令行使用技巧的摘要。有些技巧非常基础,而另一些则相当复杂,甚至晦涩难懂。...本文主要为 Linux 所写,但在仅限 OS X 系统章节和仅限 Windows 系统章节中也包含有对应操作系统的内容。...值得留意的是“cached”的值,它指的是 Linux 内核用来作为文件缓存的内存大小,而与空闲内存无关。...注意 OS X 系统是基于 BSD UNIX 的,许多命令(例如 ps,ls,tail,awk,sed)都和 Linux 中有微妙的不同( Linux 很大程度上受到了 System V-style Unix
本文基于 Linux-2.6.26 版本 什么是进程调度 一般来说,在操作系统中会运行多个进程(几个到几千个不等),但一台计算机的 CPU 资源是有限的,如 8 核的 CPU 只能同时运行 8 个进程。...为了解决这个问题,Linux 实现了 组调度 这个功能。那么什么是 组调度 呢? 组调度 的实质是:调度时候不再以进程作为调度实体,而是以 进程组 作为调度实体。...如下图所示: cgroup 相关的知识点可以参考文章:《cgroup介绍》 和 《cgroup实现原理》 在 Linux 系统启动时,会创建一个根进程组 init_task_group。...在分析之前,为了对 完全公平调度算法 有个大体了解,建议先看看这篇文章:《Linux完全公平调度算法 》。 1. 进程组 在 Linux 内核中,使用 task_group 结构表示一个进程组。...Linux 调度的时候,就是从上而下(从根进程组开始)地筛选出最优的进程进行运行。 2.
项目 1986年 发明patch的larry wall开始开发Perl语言 一开始unix系统被AT&T SUN IBM掌控,一份源码许可证要4万美元 1991年 linus torvalds 宣布了linux...1995年,linux找到了自己的杀手级应用----开源的web服务器Apache 用自由软件是因为它运行得更好,而不是说“用自由软件是因为所有软件都该是自由的” “开源”明显要用一个意识形态中性的公众标签来取代
想一想,进程调度其实是一个非常复杂的问题,想使用一种算法来实现良好的进程调度是不可能的,Linux内核实现了好几种调度算法。...SCHED_FIFO 1 #define SCHED_RR 2 #define SCHED_BATCH 3 #define SCHED_IDLE 5 #define SCHED_DEADLINE 6 Linux
每当我们操作文本编辑器的时候,要快速让文本编辑器处于运行状态,在我们没有操作文本编辑器的时候,应该尽量让视频剪辑器运行 这就是进程调度解决的问题,这也是衡量一个操作系统的优秀与否的一个重要指标 本篇文章讲解Linux...很明显,这一部分需要具体的调度算法来实现,Linux将调度算法的实现抽象成调度类 在滴答定时器的中断处理中,通过调度类去实现相应的计算,然后判断current进程是否需要被抢占,如果需要被抢占,那么就在...current进程设置需要重新调度的标志,如下图所示: 实时上,Linux内核的调度类不仅仅只有一个,因为内核同时实现了多种调度算法,但是我们这里强调总体框架,暂不讨论这里细节问题 到此,进程切换的第一步设置
本文所讲的共享内存为System V版的消息队列 大家好,我是Yui_,一位努力学习C++/Linux的博主~ 如果文章知识点有错误的地方,请指正!...分享给更多人:欢迎分享给更多对 Linux 感兴趣的朋友,一起学习!...如果你没有看过我的共享内存文章,推荐一看,会对你理解消息队列也是有帮助的哦~ 【Linux】「共享内存揭秘」:高效进程通信的终极指南-CSDN博客 还是老样子,我们先创建一个共享区域:common.hpp
6 、图解快速搭建Linux集群 6.1 集群概念 根据百度的解释: 集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。
最好具备一些Linux编程的基础,比如,如何打开一个文件;如何读写一个文件;如何关闭一个文件等等。 什么是Page Cache? Page Cache到底是属于内核还是属于用户?...怎么观察Page Cache 在Linux上直接查看Page Cache的方式: /proc/meminfo free /proc/vmstat 命令 内容其实是一致的。
之前我写过有关 Linux 文件系统源码分析的文章,但从源码角度分析文件系统略显枯燥(对新手不友好),所以这次主要通过图文的方式来讲解 Linux 文件系统的原理,而不用陷入源代码的深渊之中。...在 Linux 内核中,每个数据块定义为 4KB 的大小,所以一个 128GB 的硬盘可以分为 33554432 个数据块,内核就是以数据块的编号来对硬盘进行读写操作的。...为了让用户在使用上更方便和直观,Linux 内核抽象出两个概念来管理硬盘中的数据:文件(File) 和 目录(Directory)。 文件:用于保存数据。...四、总结 本文通过 MINIX 这种简单的文件系统来介绍怎么设计一个文件系统,虽然 Linux 系统有多种文件系统,但其基本思想都是怎么有效地管理硬盘的数据。
如下图所示: 但由于 Linux 内核有个名为 内存页反向映射 的功能,所以内存整理就变得简单起来。 接下来,我们将会分析内存碎片整理的原理与实现。...注:本文使用的是 Linux-2.6.36 版本的内存 1. 内存碎片整理时机 当要申请多个地址联系的内存页时,如果申请失败,将会进行内存碎片整理。
信号的概念当在终端输入kill -l时,你就可以看到在Linux下的所有信号了。一共62个信号,其中1~31号信号为普通信号,用于分时操作系统;剩下的34~64号信号为实时信号,用于实时操作系统。...关于32号和33号在 Linux 系统中,信号编号从 1 开始到 31 是传统的 标准信号,而从 34 开始的信号是 实时信号。...这种设计是 Linux 内核的一种历史兼容性处理。...有的,有的以下表格引用自:Linux中的31个普通信号 信号编号信号名 信号含义
概述 本文主要阐述内核(linux-3.12)的文件系统预读设计和实现。
本文使用 Linux-2.6.23 内核作为分析对象。 1. 环形缓冲区(Ring Buffer) 在内核中,管道 使用了环形缓冲区来存储数据。...如下图所示: 在 Linux 内核中,使用了 16 个内存页作为环形缓冲区,所以这个环形缓冲区的大小为 64KB(16 * 4KB)。...管道对象 在 Linux 内核中,管道使用 pipe_inode_info 对象来进行管理。
如图获取到安装包地址:https://nodejs.org/dist/v13.11.0/node-v13.11.0-linux-x64.tar.xz 2....安装Node 下载 wget https://nodejs.org/dist/v13.11.0/node-v13.11.0-linux-x64.tar.xz 解压 tar -xvf node-v13.11.0...-linux-x64.tar.xz 进目录 cd node-v13.11.0-linux-x64/bin 测试是否安装成功 ....加软链 添加 node,npm软链 ln -s /www/node-v13.11.0-linux-x64/bin/node /usr/local/bin/node ln -s /www/node-v13.11.0...-linux-x64/bin/npm /usr/local/bin/npm 测试 cd ~ node -v ?
Linux命令mcookie:随机数生成的艺术在Linux的广阔世界中,每个命令都有其独特的用途和价值。...与其他命令结合使用:mcookie可以与其他Linux命令结合使用,以实现更复杂的操作。了解并熟悉这些命令的使用方法,将帮助你更好地利用mcookie的功能。...总之,mcookie是一个强大而实用的Linux命令,它为我们提供了一种简单、方便的方式来生成随机的128位十六进制数。
一张图解决你所有Linux命令:
linux下彻底卸载mysql 图解教程 http://blog.itblood.com/completely-uninstall-the-mysql-under-linux-graphic-tutorials.html
那么,当可用内存不足时,Linux 内核是怎么处理的呢? 本文将会介绍,当可用内存不足时,Linux 内核的处理方式。...本文使用 Linux-2.6.23 版本内核。 swap 这个单词是 交换 的意思,顾名思义就是把某些进程所占用的内存交换(写入)到硬盘,然后把内存释放给操作系统,这样操作系统就有更多可用的内存。...为了解决这个问题,Linux 内核引入了 LRU内存淘汰算法,用过 Memcached 或者 Redis 的同学应该都了解过 LRU算法。...在 Linux 内核中,每个 内存区(zone) 都会维护着一个 active_list 和一个 inactive_list。...LRU算法状态流转 我们最后以一张状态流转图来描述 LRU 算法的过程: 三、总结 本文主要介绍了 Linux 内核内存回收过程中使用的 LRU 算法的原理,在下一篇文章中,我们将会介绍 Linux
领取专属 10元无门槛券
手把手带您无忧上云