linux
文章平均质量分 71
菜菜也逆袭
这个作者很懒,什么都没留下…
展开
-
linux 文件重定向
我们通过只前的博客对文件io有了一定的了解。在今天我们说的文件重定向。就要求我们对文件有一定的了解。具体文件io看博客:系统文件调用io操作接口什么是文件重定向标准输入输出重定向:是指将原来从标准输入读取数据的文件操作重新定向为从向其他文件读取数据;将原来要输出到标准输出的内容,从新定向输出到指定的其他文件中。 举个比方:这个贴着1 的盒子原来放糖果用,后来你不想放糖果了,把糖果倒了出来...原创 2018-08-25 23:11:41 · 16296 阅读 · 1 评论 -
linux shell详解,以及基于进程对shell的简单模拟实现
什么是shellshell 翻译成中文就是壳,外壳的意思。它是一个命令行解释器,负责接收用户命令,然后调用相应的应用程序。它将用户和系统内核隔离开来,做他们两者间交互的桥梁。 这就是为什么我们发送一系列命令,系统都知道对应的操作是什么。 shell的功能 1.用户发送命令给shell:将使用者的命令翻译解释给中央内核处理 2.内核发送反馈结果给shell:将核心处理结果翻译呈现给使用...原创 2018-08-28 16:35:48 · 974 阅读 · 2 评论 -
linux 调试工具gdb
什么是gdb调试器GDB是Linux下最常见的调试工具。它具有人们可以想到的大多数调试工具的使用特性。gdb调试工具的作用是帮助程序员/用户看到每条指令执行过程中发生了什么。gdb的基本操作过程我们接下来用下面这段代码做为例子完成调试://vim test.c#include<stdio.h>#include<stdlib.h>void prin...原创 2018-09-05 15:43:02 · 3294 阅读 · 0 评论 -
linux 下项目自动化构建工具makefile详解
什么是makefile一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。(以上内容来源与百度百科) 在我的理解makefile就是一个plan,一个记录在文件中详...原创 2018-09-03 10:18:33 · 1572 阅读 · 0 评论 -
linux 进程间通信之消息队列以及实现进程间聊天系统
什么是消息队列消息队列实际上是操作系统在内核中为我们创建的一个队列,多个进程可以通过向队列中添加、获取存储有类型的数据块的结点来完成数据传输。消息队列和管道对比消息队列是全双工,可读可写的通信方式,而管道是半双工的,写的一方只能写,读的一方只能读。消息队列和管道一样都受传输数据大小的限制。管道生命周期随进程,消息队列生命周期随内核使用消息队列1.创建消息队列...原创 2018-09-16 20:49:18 · 1434 阅读 · 0 评论 -
linux 用命名管道实现进程间通信
什么是命名管道命名管道和匿名管道一样适用于进程之间的通信linux匿名管道详解,但是使用范围不同,匿名管道要求必须是亲缘进程,而命名管道却没有这个限制,它可以用于同一台机器主机上的任意进程间通信。命名管道的创建 ,使用命令创建 :可以通过命令行命令创建 通过 mkfifo pipe_filename代码创建:可以在函数里通过引用库函数创建 通过 #includ...原创 2018-09-12 17:41:01 · 1496 阅读 · 1 评论 -
linux 匿名管道实现亲缘间进程间通信
进程间为什么要通信交流?要了解进程间通信,首先必须对进程有一定的了解,具体什么是进程参见博客:linux什么是进程 那么进程为什么要通信呢?首先就进程本事来说,它是具有独立性的,他有自己独有的PCB具体到linux下就是,独立的task_struct。它有自己独立的虚拟地址对照表那么多个进程数据交换就会很困难。但是就实际工作而言,一个系统中,往往就是很多个进程协同工作的,这些进程必要就要 进...原创 2018-09-10 18:48:42 · 709 阅读 · 0 评论 -
linux下最快的进程间通信方式共享
什么是共享内存共享内存 是多个进程都可以共享访问的一段内存区域。通过指针指向这个内存区域,一旦有一个进程把该指针所指向内容修改,其他同指向的进程也会感知到这个改变。问什么说共享内存是最快的进程间通信方式因为共享内存是直接将一块内存区域映射到虚拟地址空间中,因此在数据通信传输的过程中,相比较其他的通信方式少了将数据从用户态到内核态的数据拷贝过程。什么意思,就是说这种通信方式,已经把数据拿到了...原创 2018-09-19 17:01:09 · 5828 阅读 · 1 评论 -
linux 重点命令用法解释注解
目录命令 1. menu:ls list directory contents 罗列 -l use a long listing format drwxrwxr-x. 3 1015962988 1015962988 4096 Jul 6 21:28 work1 d目录 -补充文件 l ...原创 2018-08-02 13:50:04 · 429 阅读 · 0 评论 -
Linux find 指令详细讲解
find - search for files in a directory hierarchy find 是我们在使用Linux 中一个重点的指令,灰常重要,是测试,运维等多个岗位使用频率很高的一个指令,而对于初学者,对find 的了解却只是停留在简单的 -name等操作上 find 是从起始目录起遍历硬盘,寻找满足某选择条件的文件或内容的指令,因为它是从硬盘上遍历文件,所以效率慢,但是具有...原创 2018-08-13 11:46:01 · 1756 阅读 · 0 评论 -
linux 什么是库文件以及动态库和静态库详解
什么是库在我们写代码的的时候经常会用到很多头文件,其实并不是用那些头文件,而是告诉系统,我写的写个代码需要几个函数,而这几个函数存在一个文件里,我已经把文件名也就是头文件告诉系统了,系统会自动的去一个目录下寻找有没有这个文件。而这个目录就是我们说的库。你可以简单的把它看成一个仓库,因为它会提供给你一些可以直接拿来用的变量、函数或类。 库实际上就是一段编译好的二进制代码,供系统在链接时链接调用...原创 2018-08-27 15:51:48 · 2619 阅读 · 1 评论 -
linux 什么是文件系统和文件权限
在linux系统中号称“一切皆文件”文件在我们系统中其中很重要的作用。每个文件都有其属性,这些属性都什么意义呢。 首先让我们随便打开一个目录看看文件详细信息都是什么吧~ 我们在linux中查看文件纤细信息的命令有:ll 和 ls -l 这一行分别是:文件权限,硬链接个数,文件所属者,文件所属组,文件大小,最后修改时间,和文件名。文件权限文件的权限 分为3种用户权限:...原创 2018-08-24 16:56:05 · 4058 阅读 · 0 评论 -
linux 僵尸进程以及进程等待和退出码
什么是僵尸进程子进程先于父进程退出,子进程退出为了保存自己的退出状态,因此这个退出后资源不会被完全释放,而是等待父进程来获取一个退出状态,然后释放子进程所有资源。可是,这时假如,父进程并不关心子进程的退出状态,那么这时候这个退出进程将成为一个僵尸进程,占据着系统资源而不释放。什么是孤儿进程父进程先于子进程退出,于是子进程成为孤儿进程,被送给 1 进程代为管理,子进程此时在后台运行...原创 2018-08-24 14:47:28 · 598 阅读 · 0 评论 -
linux中环境变量
什么是环境变量环境变量是操作系统中用来指定操作系统的运行环境中的一些参数,具有全局性,是全局变量。 环境变量是操作系统中一系列具有特定意义的参数,它包含了一个或者多个应用程序运行所将使用到的信息。PATH环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还可以去path中指定的路径去找。execlp()函数就是这样做的。 用户可以通过设置...原创 2018-08-23 14:50:35 · 581 阅读 · 0 评论 -
linux 如何创建子进程fork和exec函数组详细介绍
要了解子进程,了解fork首先要知道什么是进程,具体参见博客linux 什么是进程和进程状态转换、 我首先来看一个程序代码#include&amp;amp;amp;lt;stdlib.h&amp;amp;amp;gt;#include&amp;amp;amp;lt;errno.h&amp;amp;amp;gt;int main(){ int pid=-1; int val=20; pid =fork();//这原创 2018-08-22 17:30:12 · 10537 阅读 · 0 评论 -
linux 什么是进程和进程状态转换
什么是进程?从程序角度: 计算机中正在运行在内存中的程序就是进程 从操作系统角度: 进程是一个术语,在UNIX、Linux和其他一些操作系统中,当程序启动时(由用户输入shell命令或由另一程序启动),进程开始。每个进程的描述都是一个结构体的统称及进程控制块(PCB)linux下叫具体为task_struct。进程的几种状态running ...原创 2018-08-17 10:23:58 · 1342 阅读 · 0 评论 -
linux 根目录下各个目录的详细介绍
当我们在我们的家目录里不停的向上推,”cd ..”操作时我们返现,也就推到这个地方到头了。而被我们用户使用的也就是home 目录,那么其他目录都是干什么的呢?让我们一一揭秘。 binbin是binary的缩写,是UNIX类操作系统中根目录的标准子目录,包含可执行的程序(即准备运行的程序),以便达到启动(即启动)和修复系统的最小功能。 打开 bin目录我们发现。这里面有我们常用的很多命令...原创 2018-08-14 11:54:27 · 34166 阅读 · 1 评论 -
linux信号量实现进程间同步与互斥
什么是同步与互斥同步与互斥是进程间的制约关系,同步:是为了保证临界资源的时序的可控性,安全性。是进程间由于相互合作引起的直接制约关系。互斥:是为了保证对临界资源同一时间的唯一访问性。是进程间由于共享资源引起的间接制约关系。多个进程当需要操作同一资源的时候就需要通过同步和互斥机制来实现对临界资源的安全访问。什么是临界资源临界资源就是:一次只允许一个进程访问的资源。什么是信号量从本...原创 2018-09-25 15:36:32 · 7936 阅读 · 1 评论