学Linux,上红联!
Linux系统教程
您的位置: Linux系统教程 > Linux开发 >
  • 脚本判断当前局域网内有多少可用ip地址

    2017-01-17 - 今儿也不知道是怎么了,网络故障遍地开花,有的是网卡不知道怎么的被禁用了,有的是网线被大妈拖地的时候给搞掉了。 其中有些问题是,无法拿到地址,手动设置吧,又不知道哪些可用,哪些已经备用,所以就写了如下的脚本,判断一下下啦。 #!/usr/bin/env pyth...

  • doxygen生成源码文档

    2017-01-17 - 使用doxygen 生成源代码的文档是相当方便的,本文就简单整理下doxygen的使用说明。 1.安装 关于安装的问题不做特殊的说明,这里直接使用命令安装,源码安装不做介绍。 ubuntu: sudo apt-get install doxygen centos sudo yum install doxygen 2.配置文件配置...

  • vim中c/c++源码跳转

    2017-01-17 - 在使用vim阅读c/c++代码的时候,代码跳转很重要,在学习redis代码的时候遇到这个问题。 网上查找之后通过实践发现cscope比较好用,可以很方便的实现跳转。 1.安装cscope sudo apt-get install cscope 2.生成tag文件cscope.out 在源码目录下执行如下命令生成t...

  • 如何在snap安装时运行我们的hook脚本

    2017-01-17 - 对于有些snap应用来说,我们很希望在snap安装时能够运行我们的一段脚本来做一些我们想要做的事,比如创建一个文件夹等.那么我们如何能得到这个事件呢?在我们的先前的文章"如何为我们的Ubuntu Core应用进行设置"(http://www.linuxdiyf.com/linux/25590.h...

  • linux/windows平台生成随机数的不同方法

    2017-01-16 - linux平台,使用rand.Seed() //rand_linux.go package main import ( math/rand time ) //get the random number in [min, max] func RandInt64(min, max int64) int64 { if min = max || max == 0 { return max } rand.Seed(time.Now().UnixNano()) //fmt.P...

  • 如何在Shell脚本中跟踪调试命令的执行

    2017-01-16 - 在 shell 脚本调试系列 中,本文将解释第三种 shell 脚本调试模式,即 shell 跟踪,并查看一些示例来演示它如何工作以及如何使用它。 本系列的前面部分清晰地阐明了另外两种 shell 脚本调试模式:详细模式和语法检查模式,并用易于理解的例子展示了如何在这...

  • Linux音频编程--使用ALSA库播放wav文件

    2017-01-16 - 在UBUNTU系统上使用alsa库完成了对外播放的wav文件的案例。 案例代码: /** *test.c * *注意:这个例子在Ubuntu 12.04.1环境下编译运行成功。 * */ #include stdio.h #include stdlib.h #include alsa/asoundlib.h int main(int argc, char *argv[]) { int i...

  • linux下锁/无锁性能比较

    2017-01-16 - 代码示例中三种类型: 1.pthread_mutex_t,互斥锁 2.__sync_add_and_fetch,GCC自带的原子锁 3.nolock,无锁方式 代码如下: /******************************************************** File Name: log_test.c Author: perrynzhou Mail: 715169549@qq.com Crea...

  • Linux多线程编程——线程调用函数时传入参数

    2017-01-16 - 当调用pthread_create 第三个和第四个参数不为空时,要注意第四个参数的传递方法。 一段流行的代码: #include iostream #include pthread.h using namespace std; #define NUM_THREADS 10 void* say_hello(void* args) { int i = *((int*)args);//对传入的...

  • linux c之main(int argc,char *argv[],char *envp[])参数意义

    2017-01-15 - 1、问题 我们常见的int main(int argc, char *argv[], char *envp[]) 各个参数的意义。 2、代码 #includestdio.h #includeunistd.h int main(int argc, char *argv[], char *envp[]) { printf(argc ###\n%d\n,argc); puts(argc end ************************...

  • linux c之创建进程fork和vfork函数之间的区别

    2017-01-15 - 1、函数简介 1)、得到当前的进程id pid_t getpid(); 2)、fork函数 要创建进程,必须调用fork函数, 系统调用fork用于派生一个进程,函数原型如下 #includesys/types.h #includeunistd.h pid_t fork(void) 若成功,父进程中返回子进程id,子进程返回0;若出错则...

  • Linux下使用shutdown.sh脚本关闭tomcat无法使得JVM关闭

    2017-01-15 - 近日在Linux中部署项目时发现服务无法启动,上一次出现这种问题是kill掉了相关进程,但是并未分析原因,这次又出现了这个问题,于是便分析了一下,分析的基本原因如下: 通过shutdown.sh脚本关闭tomcat时无法关闭JVM进程,导致JVM进程越来越多,占据了大量的...

  • Linux环境下svn回滚单个文件的shell函数

    2017-01-15 - 废话少说,直接上代码: svnRollBack(){ # 获取文件路径 file=$1 # 更新文件到最新版 arr=`svn up $file` # 将文件版本号从信息中抽取出来 arr=${arr##* } v=${arr%。*} # 获取到文件的所有更新信息 arr=`svn log $file` # 从更新信息中删去不必要的信息 arr...

  • Shell脚本截取字符串的方法

    2017-01-15 - 一、删除从左开始第一个匹配字符串及其左边的所有字符串 格式:${var#*regx} x=http://www.csdn.com/ss echo ${x#*//} 输出:www.csdn.com/ss 二、删除从左开始最后一个匹配字符串及其左边的所有字符串 格式:${var##*regx} x=http://www.csdn.com/ss echo $...

  • linux编程头文件搜索规则

    2017-01-15 - 包含头文件有两种写法,分别是: #include stdio.h #include stdio.h 和分别表示搜索位置的方式。 VC中,表示先从系统目录下搜索,如果没有搜索到,再从当前目录搜索。表示先从当前目录搜索,如果没有搜索到,再到系统目录搜索。两者都没有搜索到,回到VS指...

  • Python切片工具 pillow

    2017-01-14 - 切片:使用切片将源图像分成许多的功能区域。 因为要对图片进行切片裁剪,所以用到切片工具必不可少,在ubuntu下有很多的图片处理工具,如 GIMP(Ubuntu的下的Photoshop),shotwell,shotter等等。 但是我想吧一张图片剪裁下来,用那些工具不怎么方便(其实...

  • Linux回收站的设计与实现

    2017-01-13 - 作为Linux系统管理员或者软件开发人员,当你使用rm命令删除文件之后发现该文件依然有用但无法恢复,或者使用 rm -rf强制误删了某些文件时,是否为此感到痛苦不堪。是否苦恼于Linux缺乏类似Windows系统的回收站。虽然某些Linux图形界面具有回收站功能,但是在...

  • Linux GPIO控制方法

    2017-01-13 - kernel version 4.4.12 在文件系统层: 1.进入 /sys/class/gpio/ 目录 2.假设你想控制的GPIO0_29,步骤如下: 1].echo 29 export 2].此时会产生一个gpio29 的目录. 3].cd gpio29 4].关注以下几个文件: direction 这个文件是控制你是输出还是输入模式 如果想...

  • linux c通过文件描述符以及write和read方法对文件进行读写

    2017-01-13 - 1、write和read方法讲解 #includeunistd.h ssize_t read(int fd, void *buf,size_t count); fd为文件描述符,buf缓冲区指针,count表示要读取的字节数 返回:读到的字节数,若已经到文件尾端返回0,出错返回-1 #includeunistd.h ssize_t write (int fd, void...

  • linux c之用fputc和fgetc复制文件并且打印在终端

    2017-01-12 - 1、fputs和fgetc相关函数解释 1]、字符的输出 #includestdio.h int getc(FILE *fp) int fgetc(FILE *fp) int getchar(vaid) 3个函数若成功返回读入的字符值,若出错或则到末尾返回EOF,EOF为常量是-1 2]、字符的输入 #includestdio.h int putc(int c, FILE *f...

  • linux c之fdopen(int fd, const char *type)使用总结

    2017-01-12 - 1、fdopen(int fd, const char *type)的介绍 比如一写特殊文件不能用io打开,我们先要用open函数得到文件描述符,也就是这个fdopen函数的第一个参数,第二个参数是常量,不同类型不同意义,如下图 2、代码演示 #includestdio.h #includefcntl.h int main(v...

  • linux c用open打开(创建)一个文件

    2017-01-12 - 1、文件描述符 Linux操作系统内核(kernel)利用文件描述符来访问文件,文件描述符大于等于0,是一个用户描述被打开文件的索引值,它指向该文件的相关信息记录表,当文件打开或者创建新文件的时,就会返回一个文件描述符,当读写文件时,也需要使用文件描述...

  • linux c之用fwrite和fread实现文件的复制

    2017-01-12 - 1、题目 用fwrite和fread函数实现文件的复制 2、函数解释 #includestdio.h size_t fread(void *ptr, size_t size, size_t nmemb, FILE *FP); size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *FP); 2个函数返回:读或写的对象数 fread函数...

  • 关于Linux下的密码输入*的问题

    2017-01-12 - 这几天一直在做一个聊天室的项目,昨天构思了一下协议和大概步骤,今天就开始正式写了。我先写了一个注册账号和一个登陆的功能,然后运行了一下,发现还行,没啥大问题。不过在客户端输入密码的时候,总感觉怪怪的,因为在输入密码的时候还是可以看到具体内...

  • linux内核锁的几点理解

    2017-01-12 - 我们知道,在Linux内核中,为了防止竞争的产生,需要加锁。我们最常见的是两种锁,信号量的semphore和自旋锁spin_lock。 semaphore 信号量semaphore这个锁是经常在进程中加上的。那么,当加上这个锁的时候,进程之间仍然可以互相切换。 举一个例子,第一个进...

  • Linux下用3种创建文件的命令并实现一个Html和JavaScript小程序

    2017-01-12 - 1.今天来说一下在Linux下如何实现一个JavaScript程序,这个很简单,如果大家想要在linux下搞web开发,服务器架设,大数据等方面,就得继续努力了! 2.首先,我们要实现一个JavaScript小程序,必须要有一个后缀名为html、htm等的文件,所以我先介绍一下三个创...

  • Windows和Linux执行Java代码的不同方式

    2017-01-11 - 一、Windows 下编译并执行 Java 字节码文件(类文件) 1、编译 Hello.java 源码文件: java -d . Hello.java 2、执行 Hello.class 字节码文件: java com.smbea.demo.Hello 其中 com.smbea.demo 是 Hello 所在的包,即包名; 二、Linux 下编译并执行 Java 字...

  • C语言漫谈:图像显示 Windows和Linux

    2017-01-11 - 关于图像显示有很多库可以用,Windows下有GDI,GDI+,D3D等,Linux下有X Window和Wayland,此外还有OpenGL,SDL等图形库以及各种GUI库。 了解最原始的方式,对于加深理解依然是有帮助的。下面给Windows和Linux下显示位图的最简单例子: Windows用GDI显示图像...

  • 关于linux下mtd_oobtest.ko的一点点分析

    2017-01-08 - 最近在学习nand,写完nand controller的驱动后,随手也作了一下测试,发现mtd_oobtest老是出错,从这里开始,对它做一点点的分析: 当我们加载mtd_oobtest.ko模块时,下面的函数就会调用: insmod mtd_oobtest.ko dev=0 static int __init mtd_oobtest_init(...

  • linux下,ubi获取write mutex的问题

    2017-01-08 - 在Linux中有,对于互斥的操作,大多用到了read/write mutex,今天发现一个问题,同一个进程内可以多次获取到。有点像vxworks中的量子锁一样。 但是会有crash打出: ============================================= [ INFO: possible recursive locking detect...

  • 在Zynq 7000平台上使用Linux spidev.c驱动,调试spi设备

    2017-01-08 - 如果要通过SPI控制外部器件,还需要添加SPI的设备驱动以实现SPI的对外控制逻辑。 在Linux内核的driver/spi目录下有许多外设的设备驱动可以参考,这篇博客主要介绍如何使用其中的spidev,c这个设备驱动来实现对外设的控制。 spidev是一个通用的SPI外设驱动,它...

  • 如何开发一个Linux/X11平台的输入法

    2017-01-07 - Linux下面的输入法,似乎都不太好用,总觉得与搜狗,紫光拼音有点差距,做完第一个开源辞典软件:AlphaDict后,决定自己做一个试试看, 没想到一下子掉入了好大的一个坑里,足足花了近一年的时间,不过,好歹总算是做出了一个1.0版本,一个基本可用的输入法。做...

  • Linux环境Qt编写OpenMP程序--HelloWorld

    2017-01-07 - 本程序是在Ubuntu Linux环境下编写成的。这里包括C++语言程序和C语言程序,两者在Qt项目设置参数上略有不同,需要注意。 OpenMp提供并行描述,可以充分使用计算机系统的CPU资源。 step1.创建Qt的C++项目,项目文件如下: TEMPLATE = app CONFIG += console c...

  • Linux环境Qt编写OpenMP程序--循环测试

    2017-01-07 - 该程序是在Ubuntu Linux环境中编写而成的。OpenMp提供了并行描述,可以充分使用计算机系统的CPU资源。 Qt项目与C++语言源程序: 1.Qt项目文件 TEMPLATE = app CONFIG += console c++11 CONFIG -= app_bundle #CONFIG -= qt QMAKE_CXXFLAGS += -fopenmp LIBS...

  • Linux环境Qt编写OpenMP程序--双循环

    2017-01-07 - 本程序是在Ubuntu Linux环境下编写成的。OpenMp提供并行描述,可以充分使用计算机系统的CPU资源。 Qt项目与C语言源程序: 1.Qt项目文件 TEMPLATE = app CONFIG += console c++11 CONFIG -= app_bundle #CONFIG -= qt QMAKE_CFLAGS += -fopenmp LIBS += -fope...

  • linux下使用fread读socket套接字的注意点

    2017-01-07 - Linux总所周知,一切皆文件。因此我们在读写文件时觉得fread,recv这些可以随便用。下面看看有哪些注意事项呢。 因为C库的文件处理函数较多,处理起来很灵活。所以在处理套接字时可以用fdopen函数把linux下的文件描述符转为一个C库的FILE文件指针来进行读写操...

  • Linux下基于eclipse的C++工程调用caffe的c++接口

    2017-01-07 - 概述 小白之前一直没有接触过Linux下面的c++编程和代码的调试,以前都是基于Windows开发的c++,用的也一直都是vs的编辑环境。现在由于实际的需求,需要在Linux下面建立c++工程去调用caffe的c++接口,从而调用基于caffe训练好的分类模型。由于没有接触过Linux...

  • Linux环境下模拟鼠标操作

    2017-01-07 - 在Linux/input.h中定义了以下结构体类型,用于标准按键的编码操作: Struct input_evnet{ Struct timeval time; //按键时间 _u16 type;//类型 _u16 code;//模拟成什么按键码 _u32 value;//按下还是释放 } EV_KEY:表示键盘;EV_REL表示相对坐标;EV_ABS表示绝...

  • linux自动删除最老的几个文件

    2017-01-06 - 摘要:最近有需求要删除Linux中旧的压缩包,发现网上给的答案都是删除N天前的文件,无法适应我的要求,于是自己研究了一翻。 背景 公司的文件服务器上存有所需的项目war包,一段时间以后,大量不用的工程文件占用磁盘空间,需要定期删除无用的文件。这些文件...

  • Linux下切换JDK的脚本

    2017-01-06 - 以切换jdk6和jdk7为例,脚本代码如下: #!/bin/sh #usage: . swith_jdk.sh [argvs] jdk6_home=/usr/lib/jvm/jdk1.6.0_43 jdk7_home=/usr/lib/jvm/java-7-openjdk-amd64 case $1 in j6) export JAVA_HOME=$jdk6_home ;; j7) export JAVA_HOME=$jdk7_home ;; *...

  • 首页
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 下一页
  • 末页
  • 471843