Linux下编程学习
文章平均质量分 86
姜亚轲
这个作者很懒,什么都没留下…
展开
-
Mininet+Ryu安装教程
最近要做一个Mininet的网络环境,网络设备由Mininet来模拟,SDN控制器用Ryu来做,为了避免每次重新做再去翻查资料,我在这里系统地整理一遍。原创 2023-05-02 19:59:29 · 6178 阅读 · 16 评论 -
Linux磁盘分区挂载与LVM
1、添加硬盘2输入指令:fdisk -l,查看硬盘信息2、开始分区输入指令:fdisk /dev/sdbm可以查看帮助,n创建新分区,主分区+扩展分区总共不能超过4个,逻辑分区来自扩展分区并且从5开始分得如图所示,sdb1为主分区,sdb2为扩展分区,sdb5由sdb2中分出,接着按p打印结果,按w保存3、格式化分区也称为创建文件系统,这里选择的格式为ext4 mkfs.e...原创 2019-07-27 17:17:00 · 2695 阅读 · 0 评论 -
Linux用户和文件权限管理案例
实验案例:用户和文件权限管理1、建立用户目录,创建目录 /tech/benet /tech/accp, 分别用于不同项目组 mkdir -p /tech/benet mkdir -p /tech/accp2、添加组账号(1)、添加组账号 benet ,accp,GID号分别为1001、1002 groupadd -g 1001 benet gr...原创 2019-07-25 16:17:30 · 1008 阅读 · 0 评论 -
python工程师最常用的linux操作命令总结
在linux系统操作下,无论日常文件目录的处理,或者代码的部署都离不开linux命令的的操作,并且这些终端命令比常规的图形化界面操作都快捷,涉及磁盘操作、文件存取、目录操作、进程管理、文件权限 等操作都需要linux命令,并且命令多达200多个,想要记住这么多,并且熟练运用是不太实际,也...转载 2018-05-30 19:42:09 · 555 阅读 · 0 评论 -
静态库、动态库的创建和调用
首先创建一个file文件创建file1.c和file2.c两个简单的文件再把入口main函数写好一起汇编编译试验一下,确实能够执行将除了main之外的两个file汇编程序制作成libjtk.a静态库调用静态库形成test1文件,运行一下,确实可以运行。注意这里的路径为当前文件夹,所以采用-L. 。接下来我们看看动态库吧。制作libdtj.so这个动态库同样,我们试着去调用动态库,创建test2,执...原创 2018-01-21 11:58:23 · 428 阅读 · 0 评论 -
简单的makefile使用
今天给大家演示一下最基础的makefile的使用,下面有几个简单的c程序我们现在就编写个最简单的makefile,注意gcc左边的空格是一个tab然后敲make指令,执行我在makefile里面写的指令,使下面的c文件都产生了相应的.o文件我们再在makefile里面编写clean,它会删除所有的.o文件,@使其的语句隐藏现在我们再执行make,然后执行make clean删除所有.o文件现在我们...原创 2018-01-21 16:01:22 · 266 阅读 · 0 评论 -
简单的文件IO
今天我们来简单的介绍几个系统调用的函数,属于文件IO,比如说open等,先来看看open,注意它要用到的几个头文件以及它的格式先vim open.c,在里面简单open一个文件,后面跟几个标志,O_RDWR、O_CREAT、O_TRUNC分别是读写、创建和截去。如果fd<0,表示open文件失败了,errno返回错误码,strerror(errno)返回错误的原因。先看看memset,它是个...原创 2018-01-24 13:26:13 · 179 阅读 · 0 评论 -
简单的标准IO
现在我们再来看标准IO,较之文件IO更加高级,可以看成是在文件IO的基础上封装了缓冲机制,减少系统调用次数,还少添加不少头文件,所以更加方便使用了。讲到标准IO,无非就是fopen、fclose之类的函数了,我们先来看看fopen这个库函数然后我们vim创建个fopen的c程序,定义文件指针fp,int ch。利用fopen创建test.txt这个文件,权限是read。如果想要创建一个新的文件的话...原创 2018-01-24 15:31:52 · 181 阅读 · 0 评论 -
利用popen写一个函数获取某一张指定的网卡的IP地址
ifconfig eth1是在我电脑上的普通网卡设备,今天我们来对这几行数字进行操作,从而读取它的IP地址和子网掩码Netmask[lingyun@localhost file]$ ifconfig eth1eth1 Link encap:Ethernet HWaddr 00:0C:29:27:74:4B inet addr:192.168.242.129 ...原创 2018-01-26 12:50:18 · 884 阅读 · 0 评论 -
利用pthread_create()写一个多线程程序并放到后台运行
今天我们来利用pthread_create()函数来写一个多线程程序#include <stdio.h> #include <pthread.h> int g_var = 0; /*定义全局变量*/void *thread_worker1(void *arg){ while(1) ...原创 2018-01-29 21:46:14 · 2407 阅读 · 0 评论 -
给多线程程序上锁以及死锁的举例
一个正常的多线程程序,为了防止多个线程在差不多一个时间里对一个数据做手脚,在每个线程上都是要上锁的。每个程序都有自己独有的一个小房间,所谓上锁,就是在它运行的时候把自己的门关紧,然后在房间里对数据们做不可描述的事情,其他程序想来对数据做手脚,不可能的,它们只有在外面等着,只有等到我处理完事情后自己把门开开,也就是所谓的解锁。今天我们来简要分析一下互斥锁的用法,多线程的程序上次已经解释过了,这里不再...原创 2018-01-31 21:21:12 · 437 阅读 · 0 评论 -
linux中signal函数的简单用法
信号是软件中断,它提供了一种处理异步事件的方法,每个信号有个以SIG打头的名字,讲signal函数之前我们先了解下当前系统所支持的信号名称,在linux中敲下kill -l就能查看。[lingyun@localhost file]$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP...原创 2018-02-01 20:54:12 · 5293 阅读 · 0 评论 -
linux网络socket简易编写
今天我们来介绍linux下的socket编程,先给大家看张图。所谓的socket,简单说就是两个程序经过双向通信而实现数据的交换,有发出信息的服务端,当然就有接受信息的客户端,分别为socket_server.c和socket_client.c两个文件,大家先来看看服务端,注意头文件#include <stdio.h>#include <string.h>#i...原创 2018-02-08 22:55:05 · 690 阅读 · 0 评论 -
Linux上MQTT环境搭建
在linux上搭建mqtt服务器并不难,主要就是用到了mosquitto这款消息代理服务软件其采用发布/订阅模式传输机制,轻量、简单、开放并易于实现,被广泛应用于物联网之中我的linux版本为centos6.7_x861、安装软件输入以下指令,挨个安装:yum install gcc-c++yum install cmakeyum install openssl-devel新建个softwar...原创 2018-05-01 21:55:44 · 27704 阅读 · 15 评论