《探秘Linux》
文章平均质量分 96
从0到1带你进入Linux的世界
迷茫的启明星
动态记录生活,文章记录学习。
展开
-
《Linux从练气到飞升》No.01 Linux常用指令
当涉及到Linux系统管理和开发,了解常见的Linux指令是至关重要的。无论你是一名初学者还是经验丰富的专业人士,掌握这些指令将极大地提升你在Linux环境下的工作效率和技能水平。在这篇博客中,我将为你详细介绍Linux中一些常用的指令,并提供实际的示例和使用技巧。无论你是想了解如何管理文件和目录,执行进程管理,配置网络设置,还是进行软件安装和更新,这里都会有你需要的答案。通过学习这些指令,你将能够更加自信地在命令行界面下操作Linux系统,并且更好地理解系统的工作原理。原创 2023-07-25 17:20:33 · 1595 阅读 · 59 评论 -
《Linux从练气到飞升》No.02 Linux权限管理
在讲述Linux权限管理之前,我们要了解什么是权限?在生活中最常见的权限相关的例子就是给视频网站充会员,没有会员就不让看,只能试看3分钟,而且就算是会员还有铂金和白金之分,这里面体现的权限的意思就是:一件事是否允许被你做,权限认证的是你的身份(是否是会员),而且也和事物的“属性”相关(不同的属性需要不同的权限、身份)。原创 2023-07-28 07:19:10 · 1715 阅读 · 64 评论 -
《Linux从练气到飞升》No.03 Linux 软件包管理器 yum
Yum(Yellowdog Updater, Modified)是一个广泛应用于Linux系统的包管理工具,它提供了一种简单、高效、安全的方式来安装、更新和删除软件包。Yum最初是为Red Hat Linux和Fedora开发的,后来也被许多其他Linux发行版所采用。原创 2023-07-29 07:00:00 · 836 阅读 · 78 评论 -
《Linux从练气到飞升》No.04 Linux编辑器:vim的使用和一键配置
本篇我们主要讲述了vim的基本操作和只需要几分钟的一键配置,那么多命令单靠记肯定是不可能的,不过是熟能生巧而已,在你需要的时候就拿出这篇文章查阅一下原创 2023-07-31 06:45:00 · 1272 阅读 · 69 评论 -
《Linux从练气到飞升》No.05 Linux编译器gcc/g++的使用及编译过程
本篇我们将讲述gcc/g++的使用以及它是如何完成一次编译的,因为指令比较简单,而且后文讲述编译过程的篇幅较长,我就先讲gcc/g++的使用,也方便需要的人查阅,但是编译过程才是更重要的知识原创 2023-08-01 06:45:00 · 1080 阅读 · 93 评论 -
《Linux从练气到飞升》No.06 Linux项目自动化构建工具 make/Makefile 【云边有个小卖部】上新啦
本篇讲述了make/makefile的使用,makefile中的依赖关系、依赖方法、make的原理、伪目标及特殊符号含义等内容,篇幅较长,也较为复杂,希望大家可以多动手来理解其含义~原创 2023-08-03 06:00:00 · 1337 阅读 · 85 评论 -
《Linux从练气到飞升》No.07 Linux第一个小程序-进度条的实现
前面几章我们讲述了Linux指令、权限管理、编辑器、编译器、软件包管理器、自动化管理工具,也写了简单的”Hello World“程序,但是没有实现过复杂一点的程序,光说不练假把式,今天就带大家来做一个小项目--进度条。原创 2023-08-04 22:28:30 · 4714 阅读 · 81 评论 -
《Linux从练气到飞升》No.08 Linux的版本管理工具 git
在我们学习编程过程中,总会碰到这样一种情况,我们在更改代码的时候,可能会发现,如果我们想要上一版的代码时,就会很尴尬,大部分人都不会把代码提前在电脑上备份,一方面消耗空间,另一方面当备份多的时候,难以管理,所以就有人借此建立了一个代码托管平台,发展到现在,最知名的就是githup,但是因为在国内,连接不稳定,然而国内我们一般都用gitee,他们的功能是差不多的,本篇内容为讲述gitee的使用,git三板斧,太复杂的操作以后再讲,此篇适合小白食用~原创 2023-08-07 06:50:02 · 1846 阅读 · 64 评论 -
《Linux从练气到飞升》No.09 Linux调试器-gdb使用
当我们在vscode等IDE上编写代码出错时,通常会进行调试,有些人会通过打印数据来找bug,有些人则会使用调试工具,然而当我们在Linux系统中编写代码时却无法这么方便的使用图形化界面调试工具,但还是有调试工具的——gdb,今天我们就来讲述gdb的使用~原创 2023-08-08 07:00:00 · 474 阅读 · 72 评论 -
《Linux从练气到飞升》No.10 冯洛依曼体系结构
本篇讲述了冯诺依曼体系结构的相关知识,包括冯诺依曼体系结构提出的背景、概念及设计。原创 2023-08-10 06:47:37 · 310 阅读 · 57 评论 -
《Linux从练气到飞升》No.11 初识操作系统
为什么要有操作系统?答:它负责管理和控制计算机的硬件资源,提供用户与计算机之间的接口,协调和调度各个程序的执行,以及确保系统的安全和稳定运行。简而言之,操作系统存在的目的是为了有效地管理计算机系统的资源,提供良好的用户体验,并保证系统的正常运行。原创 2023-08-11 08:15:24 · 454 阅读 · 56 评论 -
《Linux从练气到飞升》No.12 Linux进程概念
本篇主要讲述了进程的基本概念以及如何描述进程——PCB,并且讲述了如何通过系统调用获取进程标识符,如何创建子进程——初识fork,更为深入的讲解将在后面的文章进行讲述~原创 2023-08-12 06:58:51 · 624 阅读 · 69 评论 -
《Linux从练气到飞升》No.13 Linux进程状态
本篇从操作系统常见的进程状态来引入到Linux内核中的进程状态,他们中的状态有所不同,但是其内核是一样的。比如R表示运行态、S表示阻塞态、D表示磁盘休眠态、 T表示暂停状态、X表示死亡状、 G表示相似状态、他们组合起来,分别对应的阻塞、运行、挂起、终止这些状态。我们还讲述了在我们查看进程状态时看到的加号是什么意思?以及讲述了两种特殊的进程状态,僵尸进程和孤儿进程。原创 2023-08-15 10:21:22 · 1294 阅读 · 92 评论 -
《Linux从练气到飞升》No.14 Linux进程优先级
前面两篇我们讲述了进程状态和进程的基本概念,本篇我们将讲述进程优先级的相关问题,为什么要有优先级,什么是优先级?Linux中是如何处理优先级问题的?我们都将在这篇文章中得到解答。原创 2023-08-17 11:04:48 · 589 阅读 · 40 评论 -
《Linux从练气到飞升》No.15 Linux 环境变量
本篇我们主要讲述了什么是环境变量以及?怎么设置环境变量?还有查看环境变量的方法。与环境变量相关的命令,环境变量的组织方式。最后还讲述了如何通过代码来获取环境变量。原创 2023-08-19 08:17:56 · 1922 阅读 · 94 评论 -
《Linux从练气到飞升》No.16 Linux 进程地址空间
当你在电脑上运行一个程序时,你可能想知道它是如何在内存中存储和管理数据的。有没有一种方法可以使不同的程序在内存中有自己的专属空间,相互之间不会相互干扰呢?今天,我们将探索一个令人着迷的概念——进程地址空间。进程地址空间是计算机系统中一项至关重要的技术,它为每个正在运行的程序提供了独立的内存空间,用于存储代码、数据和堆栈等信息。想象一下,当你同时打开多个应用程序,如浏览器、音乐播放器和游戏时,它们能够在内存中各自存在而不相互干扰。这得益于进程地址空间的隔离和管理。原创 2023-08-22 07:53:48 · 2178 阅读 · 94 评论 -
《Linux从练气到飞升》No.19 进程等待
在操作系统中,进程等待是一种关键的机制,用于实现进程之间的同步和协作。通过等待子进程的结束并获取其退出状态,父进程可以控制程序的执行顺序和处理子进程的结果。本篇博客将介绍进程等待的原理和用法,帮助读者深入理解进程间通信的重要概念和技术。原创 2023-09-01 08:45:44 · 2427 阅读 · 95 评论 -
《Linux从练气到飞升》No.21 Linux简单实现一个shell
前面我们讲述了进程的相关知识,包括进程创建、进程等待、进程替换等,这些我们都在Linux上进行了测试,并且通常使用的shell来执行命令,那么我们能不能自己来实现一个简单的shell呢?我们知道在shell上执行命令时,其原理不过也只是调用和执行文件罢了,也就是创建进程来执行程序,而shell一般是不退出的,那么我们现在开始玩一下。原创 2023-09-06 07:32:33 · 1507 阅读 · 58 评论 -
《Linux从练气到飞升》No.17 进程创建
之前我们在进程基本概念中讲述过fork可以创建子进程(请在《探秘Linux》专栏中查看),但是我们只是大概讲述了一下它的功能和大致原理,算作是初识,本篇将更为详细的讲述它的用法——创建进程。原创 2023-08-25 07:59:56 · 3143 阅读 · 86 评论 -
《Linux从练气到飞升》No.18 进程终止
前面我们讲述了使用fork函数进行进程的创建,既然有创建就有终止,那么本篇将向大家讲述进程终止的相关知识~原创 2023-08-28 14:30:51 · 1987 阅读 · 72 评论 -
《Linux从练气到飞升》No.22 Linux 基础IO
在本篇之前我们讲的大部分都是关于进程的相关知识,从本篇开始我将带领大家进入IO的世界,常听闻Linux下一切皆文件,它到底是什么意思?文件的定义是什么?让我们开始学习起来吧!站在系统角度,能够被input读取,或者能够output写出的设备就叫做文件狭义的文件:普通磁盘文件广义的文件:显示器、键盘、网卡、声卡等几乎所有的外设,都可以称之为文件。当一个进程运行起来的时候,每个进程都会记录自己当前所处的工作路径,这个叫进程的工作路径,也叫当前路径。原创 2023-09-16 10:19:01 · 1556 阅读 · 51 评论 -
《Linux从练气到飞升》No.20 Linux进程替换
之前学习了进程创建、进程等待、进程终止等相关内容,但是我们可能会遇到这种情况:在项目中可能会有使用程序调用其他程序的方式,那么这就要使用到进程替换来实现了,那么本篇我们将讲述进程替换的相关知识。原创 2023-09-04 10:41:28 · 1802 阅读 · 83 评论 -
《Linux从练气到飞升》No.23 Linux 进程间通信
Linux 进程间通信是操作系统中非常重要的一个概念,它允许不同进程之间进行数据交换和协作,从而实现更高效、更复杂的应用程序。在计算机科学领域,进程间通信是一个广泛研究的主题,也是操作系统设计中的核心问题之一。本文将介绍 Linux 中常见的几种进程间通信方式,包括管道、命名管道、共享内存等。我们将深入探讨每种方式的工作原理、优缺点以及适用场景,帮助读者更好地理解和运用这些技术。无论你是初学者还是资深开发人员,本文都将为你提供有价值的知识和实用的技能。让我们开始吧!原创 2023-10-24 21:28:10 · 1353 阅读 · 46 评论 -
《Linux从练气到飞升》No.24 Linux中的信号
本篇将讲述Linux中信号的相关知识,信号是什么?信号是怎么产生的?信号是怎么传递的?怎么捕捉信号?当你看完这篇文章,你将得到答案!!你在网上买了很多件商品,在等待不同商品快递的到来。但即便快递没有到来,你也知道快递来临时,你该怎么处理快递。也就是你能“识别快递当快递员到了你楼下,你也收到快递到来的通知,但是你正在打游戏,需5min之后才能去取快递。那么在在这5min之内,你并没有下去去取快递,但是你是知道有快递到来了。也就是取快递的行为并不是一定要立即执行,可以理解成“在合适的时候去取”。原创 2023-10-26 09:50:51 · 3162 阅读 · 62 评论 -
《Linux从练气到飞升》No.25 Linux中多线程概念
本篇主要介绍一下线程相关的知识~原创 2023-11-02 14:57:47 · 194 阅读 · 14 评论 -
《Linux从练气到飞升》No.26 Linux中的线程控制
随着计算机技术的不断发展,多线程编程已经成为了程序设计中的一种重要方式。在Linux系统中,线程控制是多线程编程的核心内容之一。线程是一种轻量级的执行单元,它能够提高程序的并发性和响应速度,同时也能够有效地利用系统资源。在Linux系统中,线程的控制主要涉及到线程的创建、等待、唤醒和销毁等方面。本文将详细介绍Linux中的线程控制机制,包括线程的状态转换、线程间的同步与互斥、线程的优先级以及线程的调度等方面。原创 2023-11-13 16:09:29 · 721 阅读 · 18 评论 -
《Linux从练气到飞升》No.27 Linux中的线程互斥
当谈到多线程编程时,线程互斥是一个至关重要的概念。在多线程环境下,确保共享资源的安全访问是至关重要的,而线程互斥正是为此而设计的。通过线程互斥,我们能够确保在任意给定时间内,只有一个线程能够访问共享资源,从而避免竞态条件和数据损坏。在本篇博客中,我们将探讨线程互斥的重要性、实现线程互斥的方法以及在实际编程中如何应用线程互斥来确保多线程程序的正确性和稳定性。通过深入了解线程互斥,我们可以更好地理解多线程编程中的关键概念,提高程序的可靠性和性能。原创 2023-11-15 16:02:11 · 187 阅读 · 1 评论 -
《Linux从练气到飞升》No.28 Linux中的线程同步
当谈到多线程编程时,线程同步是一个至关重要的话题。在多线程环境中,我们需要确保不同线程之间的数据访问和操作能够正确、有序地进行,以避免出现竞争条件和数据不一致的情况。因此,线程同步成为了保障多线程程序正确性和可靠性的重要手段。在本篇博客中,我将深入探讨线程同步的概念、原理和常用的同步机制,帮助读者更好地理解多线程编程中的挑战和解决方案。无论是初学者还是有一定经验的开发人员,都可以通过本文获得对线程同步的全面了解,并学习如何在实际项目中应用这些技术来确保多线程程序的稳定性和性能。原创 2023-11-15 16:02:35 · 679 阅读 · 24 评论 -
《Linux从练气到飞升》No.29 生产者消费者模型
在并发编程领域,生产者消费者模型是一个经典且重要的话题。它涉及到多线程之间的协作与通信,展现了在复杂系统中保持数据一致性和避免资源竞争的关键技术。通过深入探讨生产者消费者模型,我们可以了解如何利用同步和互斥的机制来实现线程之间的有效协作,从而提高程序的效率和可靠性。在本篇博客中,我将带领读者逐步理解生产者消费者模型的设计思想、实现方法以及可能遇到的问题。无论是初学者还是有一定经验的开发人员,都可以通过本文深入了解生产者消费者模型,并掌握如何在实际项目中应用这一模型来优化程序结构和性能。原创 2023-11-17 09:56:56 · 698 阅读 · 20 评论 -
《Linux从练气到飞升》No.30 深入理解 POSIX 信号量与生产消费模型
在多线程编程领域,理解 POSIX 信号量的概念和相关函数是至关重要的。POSIX 信号量作为一种重要的同步原语,可以帮助我们在多线程环境中实现线程之间的协调与同步,从而确保数据的一致性和避免竞争条件的发生。本篇博客旨在深入探讨 POSIX 信号量的基本概念和相关函数,帮助读者全面理解这一关键的并发编程工具。通过本文的学习,读者将能够掌握如何灵活地运用 POSIX 信号量来构建并发程序,提高程序的性能和可靠性。让我们一起深入探索 POSIX 信号量的奥秘,为多线程编程的世界增添新的智慧与力量。原创 2023-11-17 10:01:13 · 299 阅读 · 8 评论 -
《Linux从练气到飞升》No.31 多线程编程实践与线程安全技术
在当今软件开发领域,多线程编程已成为日益重要的技能之一。然而,要确保多线程程序的正确性和性能,并非易事。本篇博客旨在探讨多线程编程实践中的关键技术,从基于环形队列的生产者消费者模型,到线程池的实现和线程安全的单例模式,再到STL、智能指针和线程安全,以及其他常见的各种锁。通过学习本文,读者将深入了解多线程编程的实际应用,掌握如何应对常见的并发编程挑战,并学会运用各种技术和方法来构建高效、稳定和可靠的多线程程序。让我们一同探索多线程编程的精髓,为未来的软件开发之路注入更多的智慧与创新。原创 2023-11-18 10:25:24 · 130 阅读 · 10 评论