Linux学习笔记
Rocoer
这个作者很懒,什么都没留下…
展开
-
linux-12月一些Dome
1.替换文本中关键字#include <stdlib.h>#include <stdio.h>int main(){ system("cat /mnt/hgfs/share/pi/1.txt"); system("sed -i 's#qwe.hex#/home/pi/4G/qwe.hex#g' /mnt/hgfs/share/pi/1.txt"); ...原创 2019-12-18 10:36:47 · 149 阅读 · 0 评论 -
Shell学习-初学遇到的问题
1.执行shell命令提示 /bin/sh^M: bad interpreter: No such file or directory出现这个提示一般是因为这个文件是在windows环境创建的, 格式与Linux不兼容。使用以下方法进行验证:vim Down.sh不要对文件内容进行编辑, 使用如下命令::set ff?如果出现 fileforma=dos 那么就基本可以确定是这个问...原创 2019-12-11 15:27:39 · 202 阅读 · 1 评论 -
多线程--待补充
多线程–待补充原创 2019-06-23 18:58:58 · 100 阅读 · 0 评论 -
Linux学习-通信-进程通信-命名管道
FIFOFIFO,也称为命名管道,它是一种文件类型。1、特点FIFO可以在无关的进程之间交换数据,与无名管道不同。FIFO有路径名与之相关联,它以一种特殊设备文件形式存在于文件系统中。2、原型#include <sys/stat.h>int mkfifo(const char *pathname, mode_t mode);// 返回值:成功返回0,出错返回-1co...原创 2019-06-11 18:54:53 · 184 阅读 · 0 评论 -
Linux学习-通信-进程通信-无名管道
进程间通信(IPC)介绍进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。一、管道管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。1、特点:它...原创 2019-06-11 15:11:43 · 128 阅读 · 0 评论 -
Linux学习-通信-FTP通信
待补充原创 2019-06-11 14:16:45 · 152 阅读 · 0 评论 -
Linux学习-通信-进程通信-信号【高级】
信号接收函数信号【入门】虽然发送和接收到了信号,但是我们可以让信号再携带一些数据,这样我们需要另外的函数在信号传递的过程中,携带一些数据。1. 原型: #include <signal.h>int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact)[参数int signum...原创 2019-06-16 16:18:24 · 132 阅读 · 0 评论 -
Linux学习-通信-进程通信-信号量
信号量1.概念用于实现进程间的互斥与同步,而不是用于存储进程间通信数据。2.特点1.信号量用于进程间同步,若要在进程间传递数据需要结合共享内存。2.信号量基于操作系统的 PV 操作,程序对信号量的操作都是原子操作。3.每次对信号量的 PV 操作不仅限于对信号量值加 1 或减 1,而且可以加减任意正整数。4.支持信号量组3.原型1.创建int semget(key_t key,i...原创 2019-06-19 20:33:08 · 168 阅读 · 0 评论 -
Linux学习-通信-进程通信-信号【入门】
信号1.概述每个信号都有一个名字和编号,这些名字都以“SIG”开头,例如“SIGIO ”、“SIGCHLD”等等。信号定义在signal.h头文件中,信号名都定义为正整数。具体的信号名称可以使用kill -l来查看信号的名字以及序号,信号是从1开始编号的,不存在0号信号。kill对于信号0又特殊的应用。2.原型#include <signal.h>typedef voi...原创 2019-06-14 14:07:05 · 154 阅读 · 0 评论 -
Linux学习-git的一些基础使用
1. 生成公钥ssh-keygen -t rsa输完密码后敲回车就会提示公钥建好。2. 查看公钥id_rsa : 私钥id_rsa.pub : 公钥3. 公钥绑定码云登录码云,右上角头像–设置–SSH公钥,将生成的公钥添加进去。右上角加号–新建仓库。输入相应信息。进入新建的仓库后。4. 将码云中仓库克隆到本地5. 提交本地代码到码云之后可在仓库中写我们的代码,...原创 2019-06-14 09:37:39 · 202 阅读 · 0 评论 -
Linux学习-通信-Socket封装的优化
本次笔记主要是对上节代码的优化。上节代码:Linux学习-通信-Socket封装如果我们客户端有多次消息进行发送,而有一个进程一直在占用,上面的代码就满足不了我们的需求。比如一直有个while(1) 在占用。#include<stdio.h>#include"mySocketAPI.h"int main(char *argc,char **argv){ int s_fd;...原创 2019-06-02 17:11:06 · 192 阅读 · 0 评论 -
Linux学习-通信-Socket封装
1. 进行头文件的编写将server.c中的socket函数和client.c中的socket函数封装进去头文件,这样就可以直接在服务端或客户端直接进行调用,不需要每次都编写socket函数。1.1 对server.c进行修改。原代码可参照上一篇笔记——Linux学习-通信-Socket编写#include <stdio.h>#include <sys/types.h&...原创 2019-06-02 16:09:55 · 337 阅读 · 0 评论 -
Linux学习-通信-Socket编写
Serve端代码#include <stdio.h>#include <sys/types.h> /* See NOTES */#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>//#include <linux/...原创 2019-06-02 14:22:35 · 143 阅读 · 0 评论 -
Linux学习-通信-进程通信-共享内存
共享内存共享内存(Shared Memory),指两个或多个进程共享一个给定的存储区。1、特点共享内存是最快的一种 IPC,因为进程是直接对内存进行存取。因为多个进程可以同时操作,所以需要进行同步。信号量+共享内存通常结合在一起使用,信号量用来同步对共享内存的访问。2.原型2.1shmget ( ):创建共享内存int shmget(key_t key, size_t siz...原创 2019-06-13 11:17:18 · 130 阅读 · 0 评论 -
Linux学习-头文件的创建,链接和动态库,静态库
创建 utils.c 文件 #include "utils.h" int add(int a,int b) { return a+b; }创建 utils.h 文件#ifndef __UTILS__H_ //查找是否有此名字的头文件#define __UTILS__H_//创建此名字的头文件int add(int a,int b);#en...原创 2019-06-01 15:15:20 · 1072 阅读 · 0 评论 -
Linux学习-通信-进程通信-消息队列
消息队列消息队列,是消息的链接表,存放在内核中。一个消息队列由一个标识符(即队列ID)来标识。1、特点消息队列是面向记录的,其中的消息具有特定的格式以及特定的优先级。消息队列独立于发送与接收进程。进程终止时,消息队列及其内容并不会被删除。消息队列可以实现消息的随机查询,消息不一定要以先进先出的次序读取,也可以按消息的类型读取。2、原型2.1//获取keykey_t ftok( c...原创 2019-06-12 17:03:28 · 148 阅读 · 0 评论 -
Linux学习-通信-字节序
字节序1. 概念字节在电脑中存放时的序列与输入(输出)时的序列是先到的在前还是后到的在前。2. 常见字节序Little endian(小端字节序):将低序字节存储在起始地址Big endian(大端字节序):将高序字节存储在起始地址网络字节序:相当于大端字节序3. 大小端储存实例假设一个32位 unsigned int型数据0x12 34 56 78,大小端8位存储方式如下:大端...原创 2019-05-30 10:49:17 · 322 阅读 · 0 评论