Linux
文章平均质量分 77
Programer陈
每一个热爱编程的程序员都有一个淫荡的梦想,希望能成为和硅谷里面一样的工程师。
不积跬步无以至千里,不积小流无以成江海。
展开
-
Linux常用命令
ls命令ls 列出磁盘文件ls -l 打印文件属性ls -a 列出目录下的所有文件,包括以.开头的隐藏文件ls -i 输出文件的i节点索引信息ls -k 以k字节的形式列出表示文件大小ls -F 在每个文件后附加上一个字符用来表示文件类型。*表示普通文件,/表示目录,@表示符号链接, l表示FIFOS, =表示套接字ls -t 时间排序ls -s 文件后输出该文件原创 2017-11-16 18:47:44 · 213 阅读 · 0 评论 -
I/O多路转接之【epoll】
epoll在Linux中,还提供了第三种I/O多路转接的方式,那就是epoll,它几乎具备了select和poll的全部优点,是公认的Linux2.6下的最好的多路I/O就绪通知方法。 先来看一下接口,再根据参数解释epoll的工作原理。epoll将多路转接拆分为三个步骤。 第一步:创建一个epoll语柄 这个函数用来创建一个epoll语柄,其中size一般被忽略,返回值是一个文件描...原创 2018-07-04 15:38:01 · 285 阅读 · 0 评论 -
Shell脚本总结
谢谢原创 2018-07-16 18:17:12 · 277 阅读 · 0 评论 -
Linux系统编程网络编程总结
啊原创 2018-07-16 18:14:33 · 402 阅读 · 0 评论 -
Shell脚本学习
ShellShell是一个用C语言编写的程序,它是用户和Linux内核交流的桥梁,我们把它称之为命令解释器。Bash是Shell中的一种,下面所学的就是Bash的基本符号和语法。Shell有三大特点:1.弱类型,2.解释非编译型,3交互模式:交互式和批处理式,Shell脚本文件名以.sh结尾,并且在文本的第一行#!开头,/bin/bash告诉操作系统那一个shell执行。在执行的时候,给文件加...原创 2018-07-09 15:15:07 · 225 阅读 · 0 评论 -
MySQL数据库的基本操作
一.MySQL数据库1.什么是数据库?为什么要有数据库?数据用文件存储就可以了,为什么要用数据库保存呢。是因为文件存储数据有以下几点缺点: (1)文件的安全性得不到保障,谁都可以通过文件查看数据。 (2)文件不利于数据的查询,和对数据的管理。(3)文件无法存放海量数据。 (4)我们在很多情况下需要通过程序访问数据,文件在程序中不利于控制。为了解决这些问题,开发原创 2018-04-21 21:15:48 · 319 阅读 · 0 评论 -
gdb调试【多进程,多线程】
一.gdb简介gdb工具是Linux环境下的调试工具。(本文在centos6.5环境下测试)在编译源文件时候必须加上 -g选项。开始调试方式:gdb binfile退出方式 quit 或者ctrl+d.gdb调试过程常用命令: list/l 行号:显示源代码,接着上次的位置往下列,每次列10行。 list/l 函数名:列出某个函数的源代码。 r或run...原创 2018-05-02 19:32:29 · 361 阅读 · 0 评论 -
基于链表和环形队列的生产者消费者模型
生产者,消费者模型在学习系统编程当中,有一种很重要的模型,那就是生产者消费者模型,在编写多线程代码时候,一个个线程就扮演着生产者,消费者的角色。举一个例子,在生活中,我们去商店买东西,那么我们相当于消费者,而货物生成厂家就是生产者,商店扮演着交易场所。我们总结为:三中关系,生产者与生产者,生产者与消费者,消费者与消费者。两种角色,生产者和消费者。一个交易场所生产者和生产者 ...原创 2018-04-13 21:12:52 · 345 阅读 · 0 评论 -
Linux下的线程操作
线程线程的概念 我们在前面讲过,进程的概念,了解1了系统中的进程控制块PCB,虚拟地址空间,页表映射,今天,我们就来看看在linux下的线程。我们把在一个程序中的一个执行流程路线就叫做一个“线程”,一个程序中的执行流线最少要有一个才可以。 进程和线程的区别进程是系统分配资源的基本单位,线程是程序执行的最小单位。cpu在调度时,实际调度的是线程。进程之间的资源一般不共享,线程共享...原创 2018-04-13 19:00:44 · 502 阅读 · 0 评论 -
Linux下的进程信号
信号什么是信号? 在生活中,我们可以看到交通信号,火警信号,急救信号,这些都是信号,通知我们做出相应的反映,在操作系统中,我们也有信号这一个机制,来确保进程的合理运行,当一个程序运行起来的时候,我们在键盘上按一个ctrl+c,进程就会停下来,这实际上就是给进程发了一个信号,cpu从用户态切入内核态,来处理这个硬件中断,把它理解成一个SIGINT的信号记录在当前pcb下,然后当某个时候需...原创 2018-04-03 17:57:40 · 320 阅读 · 0 评论 -
Linux下的进程间关系
进程组 在linux中,每一个进程还属于一个进程组,一个进程组有多个进程组成,通常,他们联合起来作业,可以接受从同一个终端下的各种信号。并且每一个进程组都有一个进程组ID。在Linux中叫做PGID,一个进程组由多个进程组成,进程组中有一个组长进程,组长进程的标识是他的进程ID和组ID相同。一般一个进程组中第一个创建的进程就是组长进程。一个进程组中只要还有一个进程存在,那么这个进程组就存在。 ...原创 2018-04-16 10:07:00 · 1474 阅读 · 0 评论 -
Linux下基础I/O
Lin9ux下的基础I/OC语言阶段在学习C语言的时候,我们要实现程序的I/O操作,需要调用fopen()和fclose来打开和关闭文件,fopen()成功返回FILE*的文件指针,利用fread和fwrite函数来进行文件的读写操作。当然我们还学过fseek重置文件指针,ftell,rewind等函数我们还知道,C会默认打开流,stdin,stdout,stderr,并且这三个...原创 2018-04-02 21:46:43 · 240 阅读 · 0 评论 -
Linux下进程的控制
linux下进程的控制进程的创建首先,我们知道进程的创建需要调用fork()函数。fork()一次调用两次返回,子进程返回0,父进程返回子进程的pid。同样也可以调用vfork来创建子进程,但此时父子进程共享地址空间,因此我们一般不建议使用。#include<stdio.h>#include<unistd.h>int main(){ ...原创 2018-03-31 17:43:30 · 233 阅读 · 0 评论 -
Linux下的进程间通信
进程间通信我们知道,在进程运行期间,每个进程都是相互独立的,而有的时候,我们需要将多个一个进程的数据传输给另外一个进程,或者实现多个进程共享同一份资源,又或者是一个进程发消息给另外一个进程,此时。就需要进行多个进程之间的通信,本文将在linux操作系统下简介进程间通信的基本概念以及方法。1.进程间通信的分类*管道通信(分匿名管道和命名管道)*System V IPC(主要有三种方式原创 2018-03-31 13:15:53 · 233 阅读 · 0 评论 -
初始Linux下进程及其创建
一.冯诺依曼体系 这就是冯诺依曼体系。我们常见的笔记本,计算机,服务器大多数都是遵循冯诺依曼体系的,大体上它包含了输入输出设备,cpu,存储器三大组件。而这里的存储器我们一般指的是内存,并且在不考虑缓存的情况下,cpu只能对内存进行读写操作,不能访问外设,同样,外设要想输入或者输出数据,也只能向内存中进行读写,不能够访问cpu。总之,一切的设备都只能和内存打交道。我们的程序同样也是如原创 2017-12-05 21:38:40 · 606 阅读 · 0 评论 -
初识Makefile
1.为什么需要Makefile? 在LInux下,一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell一样,其中也可以执行操作系统的命命令。2.什么是Makefile?原创 2017-12-02 16:15:44 · 265 阅读 · 0 评论 -
多路复用之select,poll
五种I/O模型程序数据的输入,输出称之为I/O。我们在前面学习的socket套接字阶段,从网络中读取和发送数据,就属于I/O操作。当网络中没有数据可读的时候,进程就会阻塞式的等待,直到有数据准备就绪。socket套接字默认的都是阻塞的方式。阻塞式I/O I/O操作分为两部,第一部分是等待,第二部分是进行数据的拷贝。阻塞式I/O的特点就是当没有是数据就绪的时候,程序一直等待底层有数...原创 2018-07-04 15:38:54 · 359 阅读 · 0 评论