如何用 C 语言编写一个 Shell

如何用 C 语言编写一个 Shell

Shell,或者说 Unix shell,本质上是一个命令行解释器。它是一个计算机程序,允许用户通过命令行与操作系统交互。Shell 有两种界面形式:命令行界面 (CLI) 和图形用户界面 (GUI)(例如 Windows 中的文件浏览器)。常见的 CLI 有 `sh`、`zsh`、`bash` 等,其中 `sh` 是第一个流行的 shell,`bash` 是 Linux 系统自带的 shell,而 `zsh` 则是最受欢迎的 shell 之一。
阅读更多
复现康威的生命游戏

复现康威的生命游戏

康威生命游戏(英语:Conway's Game of Life),又称康威生命棋,是英国数学家约翰·何顿·康威在1970年发明的细胞自动机。它最初于1970年10月在《科学美国人》杂志上马丁·葛登能的“数学游戏”专栏出现。
阅读更多
如何实现一个内存分配器?
如何创建一个随意折腾的 Linux 沙盒环境?

如何创建一个随意折腾的 Linux 沙盒环境?

项目式学习(Project Based Learning)能够快速检验和提高一个人的编程水平,而学习过程中又不可避免地会编写运行一些 Demo。然而,如果直接使用 Windows 或者 MacOS 多少会面临环境部署问题,因此拥有一个能随意折腾地 Linux 沙盒对我来说开始变得尤为迫切。因此,在本篇博客中,我将介绍如何在 Windows 上轻松创建一个 Linux 沙盒。
阅读更多
Java 扫盲(二)集合
Java 扫盲(一)基础中的基础

Java 扫盲(一)基础中的基础

根据 TIOBE,Java 直到 2023 年依然是主流编程语言。在 Java 8 以前掌握这门语言是一件比较简单的事情,但在 8 之后学习曲线开始变陡,即使经过多次减负学习成本也在慢慢增加,尤其需要耗费在学习各种框架的原理和应用之上。_Java 扫盲系列_不会像官方 Doc 一样事无巨细地对语法絮絮叨叨不停,而是会按我个人喜好将其拆解分析,着重于方法论上。

阅读更多