红联Linux门户

Linux帮助
  • 根据/proc/partitions获取插入的U盘设备名称根据/proc/partitions获取插入的U盘设备名称

    2017-06-09 - 1、在/proc/partitions中存放着U盘的设备名称,如sda,sdb2等,以sd开头。 major 主设备号,比如一个U盘有3个分区,主设备名为sda,major为8,分区的major也为8,minor则为分区号,sda1,sda2,minor值为1 ,2 sda的minor为0,name即为设备名,连接/dev./设...

  • 利用/proc/mounts检查已经被系统挂载的设备利用/proc/mounts检查已经被系统挂载的设备

    2017-06-09 - 1、介绍/proc/mounts 如何利用/proc/mounts知道已经挂载上的设备呢,我们先来看看/proc/mounts都有啥东西 解释一下,第一列是设备路径,比如说/dev/sda1,第二列是挂载点(即设备挂载到的目录),第三列是以什么文件系统挂载。 2、编代码读取前3列 #include...

  • 如何利用/proc/filesystems的信息预先知道支持的U盘挂载系统如何利用/proc/filesystems的信息预先知道支持的U盘挂载系统

    2017-06-09 - 1、介绍/proc/filesystems /proc/filesystems里存放着本台机器Linux系统支持的文件挂载系统,不同的linux系统可能会得到不同的结果。 2、简要代码 #include stdio.h #include stdlib.h #include string.h static char chFstypeInfo[][10] = { {ext3}, {ext2}...

  • 人脸特征检测--基于DLIB库人脸特征检测--基于DLIB库

    2017-06-08 - Dlib是一个C++编写的工具包,它包含了机器学习算法以及一些用来解决现实复杂问题的工具,可以广泛应用于机器人、嵌入式设备、手机,甚至高性能计算中,可以在其官网了解更多。这里下载它来试用一下,下载后解压,目录结构如下: 在examples目录下是C++的一些...

  • linux3.0-内核自带led驱动移植linux3.0-内核自带led驱动移植

    2017-06-08 - cpu: s3c2440(arm9) Linux内核:linux-3.0 开发板:fl2440 开发模块:LED 前言:之前为了学习了解驱动的写法,所以编写与测试过led驱动,然而linux3.0的内核已经有了这个led驱动,所以我们只需要使能移植到我们的fl2440开发板上即可 1.源码修改 查看fl2440开...

  • linux I2C驱动移植linux I2C驱动移植

    2017-06-08 - IC总线仅使用SCL,SDA两根信号线实现设备间的数据交互,被广泛应用于微控制领域芯片与芯片之间的通信,如EEPROM,实时时钟,小型LCD等与CPU之间的通信。 I2C协议 I2C利用两根总线根据自己的通信协议实现数据交互 起始信号:当SCL为高期间,SDA由高到低的跳变...

  • linux-3.0-Gadget驱动移植实现模拟U盘linux-3.0-Gadget驱动移植实现模拟U盘

    2017-06-08 - cpu: s3c2440(arm9) Linux内核:linux-3.0 开发板:fl2440 开发模块:USB-DEVICE(gadget) 前言:生活中我们经常会将智能手机用数据线插上pc,然后PC对智能手机识别为存储设备,进而我们可以进行读写文件,那么本文介绍的技术就是如何将fl2440开发板模拟成类似...

  • fl2440 linux内核移植usb驱动fl2440 linux内核移植usb驱动

    2017-06-08 - 开发板:fl2440 Linux内核:linux-3.0 1.添加USB结构体变量,加厂商ID和设备ID [zoulei@CentOS linux-3.0]$vim arch/arm/mach-s3c2440/mach-smdk2440.c --- mach1-smdk2440.c 2017-04-15 06:12:36.061000246 -0700 +++ mach2-smdk2440.c 2017-04-15 06:21:30...

  • 用linux shell脚本提取文件中图片,并重命名成0001\0002格式用linux shell脚本提取文件中图片,并重命名成0001\0002格式

    2017-06-08 - 最近因为要提取很多图片,自己的图片的数据集采用的是LFW Face Database,该数据集如下图所示。 在lfw的文件夹下,有很多的子文件夹,每一个子文件夹有一个或几张的图片,现在我需要把所有的图片提取到其他的文件夹下,并把所有的图片规范的重命名。因为这里...

  • 东北大学校园网登录登出shell脚本东北大学校园网登录登出shell脚本

    2017-06-07 - 校园网在windows和手机上都有客户端了,不用很麻烦的每天打开电脑后必须要打开网页登录。但是在Linux和mac上还没有同学做这个应用,所以写了个脚本可以凑合先用着。 ################################################################### # author: wangbin...

  • Linux c条件变量cond的使用记录

    2017-06-05 - 条件变量是实现线程间同步的一种方法,条件变量用来自动阻塞一个线程,直到收到收到一个cond信号或其它特殊情况发送,条件变量使用的时候必须与互斥量同时使用,这是为了保证条件量在线程间操作的原子性。 1、创建一个条件变量cond: int pthread_cond_init(...

  • 正常的C语言代码用gcc编译失败的原因正常的C语言代码用gcc编译失败的原因

    2017-06-02 - 最近在在用codeblock 用C语言完成数据结构的上机习题,发现有一些常见的代码在无法用gcc编译成功,但是在vc6.0 却可以编译通过,原因是使用了不同的编译器的缘故。 例如使用了引用类型的函数参数,以及2重指针,用gcc均无法编译通过,但是用C++ 的编译器是可...

  • linux用autoconf系列工具生成makefile和可执行文件

    2017-06-02 - 进入xx.cpp的目录,运行shell指令: dpkg --configure -a apt-get install autoconf autoscan cp configure.scan configure.ac vim configure.ac 在configure.ac中,需要添加AM_INIT_AUTOMAKE宏,send_rtp是最后生成的文件名,别的不用管,xx.cpp有一个就行...

  • Linux有名管道(FIFO)的阻塞和非阻塞读写

    2017-05-31 - 有名管道的读写有阻塞和非阻塞两种,可以在open()时指定,下面我们对各种情况进行一些讨论。 //写进程 #include sys/types.h #include sys/stat.h #include errno.h #include fcntl.h #include string.h #include stdio.h #define FIFO_NAME /tmp/myfifo mai...

  • linux内核-dm9000网卡驱动添加linux内核-dm9000网卡驱动添加

    2017-05-29 - 主机操作系统:CentOS 6.7 交叉编译环境:arm-Linux-gcc 开发板平台:fl440 linux内核版本:linux-3.0 之前我的根文件系统挂载起来之后,在开发板上输入ifconfig -a 发现我的以太网卡什么都没有,后来我一个朋友告诉我需要添加网卡驱动,于是通过上网查资料...

  • LINUX定时清理文件定时任务

    2017-05-29 - 任务场景 文件夹下持续进入文件,每隔10分钟进行文件清理操作,压缩转移至备份服务器。 实现代码 #!/bin/bash targetDIR=/aaa backDIR=/bbb cd $ targetDIR for name in * do nowTime=`date +Y%m%d_%H%M%S` cd $name if ls *.txt /dev/null 21 ; then mv *.t...

  • mbedtls安装与入门

    2017-05-29 - mbedtls简介 ARM mbedtls使开发人员可以非常轻松地在(嵌入式产品中加入加密和 SSL/TLS 功能。它提供了具有直观的 API 和可读源代码的 SSL 库。该工具即开即用,可以在大部分系统上直接构建它,也可以手动选择和配置各项功能。 mbedtls 库提供了一组可单独使...

  • linux(centos6.5)上动态链接库使用lapack库linux(centos6.5)上动态链接库使用lapack库

    2017-05-27 - 最近需要更改一段C++的程序,其中使用到了C语言的线性代数库lapack,在window上的使用(在官网下载的CLAPACK-3.1.1-VisualStudio版本,打开工程分别编译,将生成的lib路径和文件放入到工程属性的链接器中),成功运行。但是在linux上安装时,却遇到了问题,纠...

  • Go语言日志指南Go语言日志指南

    2017-05-27 - 你是否厌烦了那些使用复杂语言编写的、难以部署的、总是在不停构建的解决方案?Golang 是解决这些问题的好方法,它和 C 语言一样快,又和 Python 一样简单。 但是你是如何使用 Golang 日志监控你的应用程序的呢?Golang 没有异常,只有错误。因此你的第一印...

  • Python-mode:在Vim编辑器中开发Python应用的Vim插件

    2017-05-27 - Python-mode 是一个 Vim 插件,它使你能够在 Vim 编辑器中更快的利用包括 pylint、rope、pydoc、pyflakes、pep8、autopep8、pep257 和 mccable 在内的各种库来写 Python 代码,这些库提供了一些编码功能,比如静态分析、特征重构、折叠、补全和文档等。 推荐...

  • 使用命令行编译运行Kotlin使用命令行编译运行Kotlin

    2017-05-25 - 这个教程将带领大家使用命令行创建 Hello World 应用程序 下载编译器 每个 release 都有一个独立的编译器版本,我们可以在GitHub Releases下载(https://github.com/JetBrains/kotlin/releases/tag/v1.1.2-2) 当前最新版本是 1.1.2-2 手动安装 解压下载好的...

  • linux shell将多行文件转换为一行

    2017-05-25 - 说实话,虽然对shell编程包括awk有所了解,但是对sed的多行与一行的处理还是不甚理解,在网上搜罗了一篇文章觉得还不错,记录一下: 今天一个工程师问我,怎么将一个文件中的多行转换成一行。我给出了如下三种方法: 1.采用awk awk BEGIN{RS=EOF}{gsub(/\n/,...

  • linux下的epoll怎样高效处理百万连接

    2017-05-24 - 开发高性能网络程序时。windows开发人员们言必称iocp,linux开发人员们则言必称epoll。大家都明确epoll是一种IO多路复用技术,能够很高效的处理数以百万计的socket句柄,比起曾经的select和poll效率高大发了。 我们用起epoll来都感觉挺爽,确实快,那么。它...

  • Linux内核静态映射表建立过程分析Linux内核静态映射表建立过程分析

    2017-05-23 - 分析的源码:九鼎为s5pv210移植过的Linux+qt4.8的kernel,内核版本号2.6.35。 建立映射表的三个关键部分: 映射表 映射表建立函数 映射表建立函数被调用 1.映射表 具体物理地址和虚拟地址的值相关的宏定义,也就是文章《随笔Linux字符设备驱动开发基...

  • linux内核段属性机制(以subsys_initcall和module_init为例)linux内核段属性机制(以subsys_initcall和module_init为例)

    2017-05-23 - subsys_initcall是一个宏,定义在Linux/init.h中。经过对这个宏进行展开,发现这个宏的功能是:将其声明的函数放到一个特定的段:.initcall4.init subsys_initcall __define_initcall(4,fn,4) 以下文件在/include/linux/init.h: 分析module_init宏,可以看...

  • Linux环境g++编译GDAL动态库Linux环境g++编译GDAL动态库

    2017-05-23 - 一、编译步骤 解压下载的GDAL源程序(http://www.linuxdiyf.com/linux/18914.html),并在命令行中切换到解压目录。 tar -xzvf gdal-2.1.3.tar.gz cd gdal-2.1.3 GDAL可通过configure来实现一些自定义配置,可通过./configure h命令来查看。--prefix=path表...

  • FileDescriptor(文件描述符 )的一些理解

    2017-05-23 - 最近看《Linux System Programming》看到关于File Descriptor的描述,看Java文档感觉似是而非不太清楚,从linux方面就很容易理解了。 FileDescriptor 一个打开的文件通过唯一的描述符进行引用,该描述符是打开文件的元数据到文件本身的映射。在Linux内核中,...

  • 使用CLion在MacOS、Linux上编译C++代码使用CLion在MacOS、Linux上编译C++代码

    2017-05-22 - 背景介绍:我们已经有一套代码在windows和android上编译通过了,目前需要将这些代码在MacOS和Linux上编成动态链接库,所以直接使用android的编译宏,少量修改即可正常编译。这里只是介绍如何使用CLion进行跨平台编译。 1.使用CLion的Import Project from Sou...

  • leveldb入门篇之Linux下编译配置和使用leveldb入门篇之Linux下编译配置和使用

    2017-05-22 - 1.首先,从github上下载leveldb源码的zip文件 使用命令 #wget https://codeload.github.com/google/leveldb/zip/master 2.下载完后,使用#file master查看,发现它是一个.zip文件,所以要使用#unzip master来解压缩,解压缩后会在当前文件下生成一个leveldb-...

  • 用C++提取Linux内存的使用率

    2017-05-20 - 以下是用C++提取Linux内存的使用率的代码: //程序实现的功能是,通过把内存使用的情况读入文本文件再存入变量 #includestdio.h #includeunistd.h #includestdlib.h #includeiostream #includefstream #includestring.h using namespace std; class A{ publi...

  • 用C++提取Linux的cpu的利用率

    2017-05-20 - 以下是用C++提取Linux的cpu的利用率的代码: #include stdio.h #include unistd.h #include stdlib.h #includeiostream #includefstream using namespace std; class A{ public: //int c; void display() { system(top -n 1 |grep Cpu | cut -d -f 9 cpu.txt...

  • Fedora & CentOS下coredump文件生成方法Fedora & CentOS下coredump文件生成方法

    2017-05-19 - 背景 测试环境 Fedora 2524 CentOS 7 目测 Deepin 并没有坑 而Ubuntu可能也存在这个问题(也有类似abrt的二进制文件) 前言 从Windows平台下转到到Linux下的C/C++开发可能第一个接触到的新名词就是段错误 首先是一段神秘代码 #include stdio.h int main(void)...

  • qt5 arm linuxfb旋转显示非eglfs显示

    2017-05-19 - 网上的旋转显示都是这种方法: #include QApplication #include QGraphicsView #include QGraphicsProxyWidget #include ./form.h int main(int argc, char *argv[]) { QApplication a(argc, argv); Form *form = new Form; QGraphicsScene *scene = new QGr...

  • 单文件夹下的C程序如何编写Makefile文件

    2017-05-18 - 通过学习已经学会了GCC的一些基础的命令,以及如何将C语言源代码编译成可执行文件。 我们已经知道在linux环境下编译源码时,常会有以下三个步骤: ./configure make make clean 执行./configure时,会检查系统的配置等,得到相关的有用的信息,生成Makefile...

  • 六个开源软件开发的“潜规则”六个开源软件开发的“潜规则”

    2017-05-16 - 你想成为开源项目中得意满满、功成名就的那个人吗,那就要遵守下面的潜规则。 正如体育界不成文的规定一样,这些规则基本上不会出现在官方文档和正式记录上。比如说,在棒球运动中,从比分领先时不要盗垒,到跑垒员跑了第一时也不要放弃四坏球保送。对于圈外...

  • Linux内核启动显示时间信息Linux内核启动显示时间信息

    2017-05-16 - 在最开始移植Linux内核的时候,发现自己配置的内核编译出来启动信息十分的杂乱无章。但是厂家提供的Linux镜像文件下载到开发板中,打印的信息十分清晰。它在打印内核启动信息之前都会先打印一个时间信息出来! 下面来看看怎么配置Linux内核: 首先在Linux内...

  • linux kernel的cmdline參数解析原理分析

    2017-05-16 - 利用工作之便,今天研究了kernel下cmdline參数解析过程。记录在此。与大家共享。 Kernel 版本:3.4.55 Kernel启动时会解析cmdline,然后依据这些參数如console root来进行配置执行。 Cmdline是由bootloader传给kernel。如uboot。将须要传给kernel的參数做成...

  • 如何实现在Windows上运行Linux程序,附示例代码如何实现在Windows上运行Linux程序,附示例代码

    2017-05-16 - 微软在去年发布了Bash On Windows, 这项技术允许在Windows上运行Linux程序, 我相信已经有很多文章解释过Bash On Windows的原理, 而今天的这篇文章将会讲解如何自己实现一个简单的原生Linux程序运行器, 这个运行器在用户层实现, 原理和Bash On Windows不完全...

  • 在树莓派linux系统下写c程序在树莓派linux系统下写c程序

    2017-05-13 - 本文主要介绍如何在树莓派(ubuntu mate系统)下写第一个c程序。 两种方式:一是emacs;二是vi。 一、用emacs写c程序 1:打开终端,输入 emacs hello-em-world.c 如果你还没有安装,会出现以下提示,如图: 那么再在终端输入 sudo apt install emacs24 如图...

  • Linux程序接口实验:取进程标志及用户信息

    2017-05-12 - 0.环境平台 操作系统平台: Linux leaf 4.4.0-75-generic #96-Ubuntu SMP Thu Apr 20 09:56:33 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 相关工具语言:vim,gcc,C语言 1.程序源代码 xpleaf@leaf:~/operation/1$ cat pflag.c #include unistd.h #include p...