Linux知识与编程
文章平均质量分 97
介绍linux并进行深入编程
ARMCSKGT
不能用言语去表达,尽力用行动诠释一切!
展开
-
Linux进程间通信
进程间通信(IPC)是指不同进程之间的数据交换和通信。在多进程环境下,不同的进程需要共享内存、文件等资源,但是每个进程都有自己独立的地址空间,因此需要通过进程间通信来实现进程之间的数据交换和共享。进程间通信使得进程间可以进行数据传输、资源共享、通知事件等。例如,一个进程需要将它的数据发送给另一个进程,或者多个进程之间共享同样的资源,或者一个进程需要向另一个或一组进程发送消息,通知它们发生了某种事件等。本节我们将为大家介绍进程间通信的相关知识!原创 2023-12-04 14:49:59 · 2266 阅读 · 180 评论 -
Linux软硬链接和动静态库
当我们安装一款软件成功后,桌面会多一个图标,如果我们点击图标就能启动软件,但那个图标就是软件本身吗?显然不是!图标只是软件启动程序的一个快捷方式,在Linux中可以通过软硬链接来创建类似于Windows下的软件快捷方式,Windows下创建快捷方式一般相当于Linux中的软连接;当Windows中的一个软件启动之后会加载各种文件,一般我们看到的软件启动程序都很小,但是软件安装包却很大,例如游戏,其实软件中大部分都是库文件,关于Linux下的库,本节将会详细为您介绍!原创 2023-10-06 22:31:07 · 4915 阅读 · 161 评论 -
Linux文件系统概述
简单介绍Linux系统中Ext文件系统的管理原理,以及机械硬盘的工作原理,帮助理解文件系统对于文件的管理方式!原创 2023-07-02 15:26:58 · 4998 阅读 · 221 评论 -
Linux重定向和缓冲区理解
前面我们介绍了文件描述符这个概念,关于文件描述符需要介绍的还有另一个知识,那就是重定向,重定向可以让我们指定程序向某一个文件流中输出数据或读取数据,操作系统只需要关心文件描述符即可;当我们在IO时,操作系统也并不是将数据直接写入文件,而是先写入缓冲区以提高效率;关于以上的概念,我们接下来将会逐一介绍!本节介绍了关于文件描述符的重定向知识,现在我们知道了我们不仅可以向屏幕打印字符,向键盘提取字符,也可以向其他文件输出和提取,因为Linux下一切皆文件!原创 2023-06-13 15:55:07 · 6470 阅读 · 101 评论 -
Linux文件理解和系统调用
我们在学习C语言时可以使用fopen打开文件fclose关闭文件;那么是C语言帮我们打开的文件吗?其实并不是,语言没有这个能力,而是借助操作系统之手打开文件并进行操作,本篇将为大家介绍关于Linux下文件操作的系统调用,并介绍Linux系统如何组织和管理进程打开的文件!原创 2023-06-08 18:54:02 · 8628 阅读 · 113 评论 -
Linux进程控制
进程并非只能创建,创建后进行合理的管理才能更好的利用进程,仅仅依靠操作系统的管理是不够的,所以本节将介绍关于进程控制的相关知识,让我们更合理的使用进程!进程替换是改变进程原有的执行代码,转而执行另一套进程代码的过程!将进程看作一个任务处理单元我们写出指令,进程依次执行命令当我们需求比较多,但代码又无法改变时,就可以使用进程替换父进程可以创建子进程,用另一个程序的代码数据替换子进程代码数据转而让子进程执行新程序的代码数据所以,进程替换的目的是让子进程帮我们执行特定任务,以应对不同场景!原创 2023-06-06 18:11:30 · 5555 阅读 · 119 评论 -
Linux进程地址空间
我们知道对于C/C++程序来说,程序占用的内存地址分为栈区,堆区,静态区等等,每一个程序在编译时都会分配这些空间,这些空间只是规划的虚拟地址空间,并不是分配的真实的物理空间,这样划分虚拟地址空间是操作系统为了更好的管理和使用内存空间而做的,那么虚拟地址(也称逻辑地址)是如何与物理地址联系起来的呢?本节将为您介绍!进程地址空间的介绍到这里就告一段落了,相信大家认识了Linux底层的虚拟地址空间后,对很多进程地址相关的问题一定有所解答!原创 2023-06-03 18:12:05 · 5259 阅读 · 85 评论 -
Linux环境变量
环境变量这个名词大家可能很陌生,对于程序员来说,我们配置某些程序的运行环境时需要配置环境变量,例如我们配置JAVA的JDK运行环境,对于不同的版本需要手动调整环境变量,每个系统中都有环境变量,本节将针对Linux系统下的环境变量进行介绍,欢迎阅读!环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数。原创 2023-06-02 14:59:41 · 5907 阅读 · 78 评论 -
Linux进程状态及优先级
操作系统想管理好进程并不简单,对于Linux系统将进程分为不同的状态进行管理;例如运行,阻塞,休眠状态等等,每一种状态都有不同的效果,这样才能发挥他的全部功效,且进程之间也有优先级,本文将为您详细讲解!进程状态和进程优先级的知识到这里就介绍的差不多了,通过了解进程状态,知道进程的阻塞和和运行的原理;了解进程优先级,学习了修改进程的优先级影响调度机制,这些知识都在为后面进程控制的学习打下基础!原创 2023-05-06 23:04:50 · 6234 阅读 · 138 评论 -
Linux进程初识
进程是计算机中的重要概念,一个程序被操作系统加载进入内存那么这个程序就成为进程,一个程序可以启动多次产生多个进程,操作系统也要管理这些进程,本节将介绍关于进程的一些基本知识!我们普通用户无法直接与计算机中的硬件打交道,也就是说在没有操作系统的情况下,我们几乎是无法使用计算机的,于是计算机大佬们创造了各种各样的操作系统!Windows操作系统Linux操作系统Mac操作系统(基于Unix)Android操作系统(基于Linux)…等。原创 2023-05-03 21:43:32 · 5246 阅读 · 86 评论 -
Linux调试器gdb
前面我们介绍了gcc/g++的使用,我们知道在VS平台下编写代码是可以调试的,调试是我们经常使用的纠错手段,在Linux平台下也有相关的调试工具,那就是gdb,调试是我们必须掌握的技能,没有调试项目的错误就无法快速解决!相信gdb的学习可以助力你在Linux相同上更顺利的构建大型工程,从容的面对各种bug,虽然在使用上与VS还有些差异,但是配合Linux上的其他工具一定可以使效率有一定的提升!原创 2023-02-18 14:17:22 · 3593 阅读 · 37 评论 -
Linux配置和使用Git
我们在Linux上会编写各种代码,而往往我们需要一个代码仓库平台为我们托管代码和版本管理,而git的创始人正是Linux系统的创始人林纳斯·托瓦兹,学会Linux上的git操作可以让我们随时随地对历史代码进行回溯且git还支持代码合并和标签等众多功能,所以学会使用git能让我们自由的对代码进行合理的管理!原创 2023-02-14 01:06:10 · 6954 阅读 · 13 评论 -
Linux项目自动化构建工具make/Makefile
会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力,一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的,规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。原创 2023-02-11 16:43:57 · 4255 阅读 · 2 评论 -
Linux 编译器 gcc/g++
在Windows环境下,我们我们使用VS编译器可以写代码然后运行编译代码所成的程序,但在Linux系统下,我们写的C/C++代码需要通过gcc(C语言)和g++(C++语言)编译器才能生成可执行程序,所以学习gcc和g++是非常重要的!原创 2023-02-11 01:01:53 · 3662 阅读 · 11 评论 -
Linux编辑器vim
我们在使用一款操作系统时,无论是什么系统都有属于自己默认的文本编辑器,本节将介绍Linux编辑器vim!学习完vim,我们就可以相对自由的在Linux上写代码了,最后我们会配置vim环境,搭建主要用于C/C++代码编辑的vim。相信vim的学习会为大家打开Linux编程的大门,让我们在Linux中更加畅快的进行开发!原创 2023-02-09 00:36:13 · 3367 阅读 · 8 评论 -
Linux软件包管理器 yum
对于一个操作系统来说,软件的下载工具肯定也少不了,对于Linux系统在CentOS上的软件下载工具是yum,本节将为您介绍!在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.原创 2023-02-02 20:50:43 · 3283 阅读 · 8 评论 -
Linux权限的基本知识
对于一个操作系统,权限的划分是肯定的,我们在使用Windows操作系统时如果在C盘中删除一些系统级的文件夹,那么操作系统肯定会提示你权限不足,Linux也是如此,在执行某些命令时需要特殊权限,本节将为您介绍!原创 2023-02-01 11:13:16 · 5197 阅读 · 32 评论 -
Linux基础指令
Linux系统对于我们来说可能非常陌生,但我们在以后的工作中不免会接触到Linux系统,对于Linux大家的了解一定是有不少的指令,没有方便的图形化界面等,但是正是因为这些才让Linux有更多的优点,本次我们就一起学习Linux指令,为后面在Linux系统上编程打下坚实基础!shell命令以及运行原理Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel) “ ,但我们一般用户,不能直接使用kernel。原创 2023-01-30 18:36:39 · 6285 阅读 · 31 评论
分享