红联Linux门户

Linux帮助
  • Linux下usbserial.c驱动代码修改

    2015-04-11 - Linux原有的USB驱动是针对低速USB设计的,对于一体机实时视频传输的需求并不适用,为了最大限度的使用网络带宽,需要修改驱动源文件。 usb_serial_tty_driver-init_termios.c_cflag = B115200 | CS8 | CREAD | HUPCL | CLOCAL; #define maxSize 16*1024 buff...

  • CentOS下停止Tomcat运行脚本

    2015-04-11 - CentOS下停止Tomcat运行脚本,已经验证通过。 #!/bin/sh # # Firstly find the process of the tomcat.... TOMCAT_PROCESS_STR=`ps aux | grep java.*tomcat | grep -v grep` PROCESS_ARRAY=(${TOMCAT_PROCESS_STR// / }) TOMCAT_PROCESS_ID=${PROCESS_ARRAY...

  • inotify实时的Linux文件系统事件监控

    2015-04-09 - 使用inotify-tools 工具实时监控系统事件监控 inotify-tools http://linux.die.net/man/1/inotifywait inotify-tools 下载地址 # wget http://downloads.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz 监控脚本: # c...

  • Linux网络编程-原始套接字实例:MAC地址扫描器Linux网络编程-原始套接字实例:MAC地址扫描器

    2015-04-07 - 如果 A (192.168.1.1 )向 B (192.168.1.2 )发送一个数据包,那么需要的条件有 ip、port、使用的协议(TCP/UDP)之外还需要 MAC 地址,因为在以太网数据包中 MAC 地址是必须要有的。那么怎样才能知道对方的 MAC 地址?答案是:它通过 ARP 协议来获取对方...

  • 在Linux内核中诊断网络问题在Linux内核中诊断网络问题

    2015-04-06 - 几周前,我们开始注意位于华盛顿的追踪API的服务器网络流量有很大的变化。从一个相当稳定的日常模式下,我们开始看到300-400 Mbps尖峰流量,但我们的合法的流量(事件和人为更新)是不变的。 注:以上图片上传到红联 Linux系统教程 频道中。 突然,我们的网...

  • Linux下获得线程ID syscall(224)

    2015-04-04 - 对于Linux线程,也许大家并不陌生,而我们通常所说的线程是指基于POSIX标准的线程,而Linux下除了兼容POSIX标准,而且提供线程在内核级的支持。 早在Linux kernel2.4之前,Linux的线程(LinuxThread)属于用户级,内核根本不知道线程的存在,为了得到内核的...

  • awk中的变量

    2015-04-04 - awk和sed结合起来,对于文件的横向纵向处理几乎是全方位的,可以算是文本处理中的大招了。当然awk这一强大的分本处理工具也不是浪得虚名,功能丰富,学习周期也要长些,不是一个Help文档就能说完的。学习awk可以算得上重新学习一门编程语言,因为里面的东西...

  • Linux的进程组、会话、守护进程Linux的进程组、会话、守护进程

    2015-04-04 - 一、进程组ID 每个进程都属于一个进程组。每个进程组有一个领头进程。进程组是一个或多个进程的集合,通常它们与一组作业相关联,可以接受来自同一终端的各种信号。每个进程组都有唯一的进程组ID(整数,也可以存放在pid_t类型中)。进程组由进程组ID来唯一标...

  • Linux使用共享内存通信的进程同步退出问题

    2015-04-04 - 两个甚至多个进程使用共享内存(shm)通信,总遇到同步问题。这里的同步问题不是说进程读写同步问题,这个用信号量就好了。这里的同步问题说的是同步退出问题,到底谁先退出,怎么知道对方退出了。举个例子:进程负责读写数据库A,进程B负责处理数据。那么进...

  • C语言数据类型是如何被大多数计算机系统所支持?C语言数据类型是如何被大多数计算机系统所支持?

    2015-04-03 - 问题: 在读KR版的The C Programming Language一书时,我在[介绍,第3页]看到这样一条说明: 因为C语言提供的数据类型和控制结构可以直接被大部分计算机系统所支持,所以在实现自包含程序时所需要的运行库文件一般很...

  • 程序是怎么执行的

    2015-04-03 - Docker 是一个建立在操作系统+编译器基础之上的系统,所以了解操作系统,编译器以及程序运行机制对我们理解 Docker 来说非常重要。本文是一个自己的体会,有很多不精确的地方,目的是希望大家多关注低层,多修炼内功,多读好书。 一直想写篇文章来说明在程序...

  • 程序员最爱的的9款文本编辑器程序员最爱的的9款文本编辑器

    2015-04-02 - 这年头,几乎每个开发人员都很熟悉开源代码和代码编写工具的好处。GitHub 和 SourceForge 之类的开源代码库为那些在自行构建应用程序方面寻求帮助的人提供了宝贵资源。 1. ATPad ATPad 为偏爱使用文本编辑器而非成熟 IDE 的开发人员而设计,它提供了选项卡式...

  • Shell入门:掌握Linux,OS X,Unix的Shell环境Shell入门:掌握Linux,OS X,Unix的Shell环境

    2015-03-31 - 在Linux或类Unix系统中,每个用户和进程都运行在一个特定环境中。这个环境包含了变量、设置、别名、函数以及更多的东西。下面是对Shell环境下一些常用命令的简单介绍,包括每个命令如何使用的例子,以及在命令行下设定你自己的环境来提高效率。 找出你当前的...

  • 修复Maven项目默认文件夹的Maven Plugin开发修复Maven项目默认文件夹的Maven Plugin开发

    2015-03-31 - 总体说Maven Plugin开发算是比较简单,了解了Mojo之后,实现起Maven Plugin的一个个goal就更加轻松了。 由于发现在通过eclipse或者archetype创建Maven工程之后,src下的目录时而不完整,于是打起开发一个Maven Plugin的主意。该插件命名为:hello-maven-plug...

  • Linux中安装Eclipse进行C/C++开发

    2015-03-27 - 引言 Linux 中选用 C/C++ 的 IDE,推荐 Eclipse。 涉及工具:JDK,Eclipse。 安装过程 下载 JDK 和 Eclipse C++,获取 jdk-8u40-linux-i586.tar.gz 和 eclipse-cpp-luna-SR2-linux-gtk.tar.gz,假设放在 /root/software 中。 cd /root/software tar zxvfjdk-...

  • 关于Python的默认字符集

    2015-03-26 - 本文将简要介绍Python程序解析使用的字符集历史和配置方法。 背景:在写脚本程序的时候难免会设计一些和中文相关的变量内容。这个时候对于一个Python新手(包括我在内)来说如何配置python使之能够正确识别程序内的中文内容就会变得非常头疼。本文将会简要介...

  • Linux下的通信时延测试程序

    2015-03-25 - 今天段老师在网络软件设计课上布置了一个题目。 要求是Windows环境,现在在Linux环境下实现。 运行C/S模式的2个程序,使用UDP协议,发送10次,计算平均时延。 服务器程序如下: #include sys/socket.h // for functions for socket #include netinet/in.h //...

  • 编译安装GCC 4.9并验证使用

    2015-03-23 - 1. 准备环境(GCC 编译器) CentOS 6.3 cat /proc/version Linux version 2.6.32-279.el6.x86_64 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Fri Jun 22 12:19:21 UTC 2012 gcc --version gcc (GCC)...

  • Linux shell字符串截取与拼接

    2015-03-19 - 一 Linux 的字符串截取很有用。有八种方法。 假设有变量 var=http://www.linux.com/123.htm 1 # 号截取,删除左边字符,保留右边字符。 echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符 即删除 http:...

  • 何不Ack?Grep,Ack,Ag的搜索效率对比何不Ack?Grep,Ack,Ag的搜索效率对比

    2015-03-18 - 前言 我(@董伟明9 )经常看到很多程序员, 运维在代码搜索上使用ack, 甚至ag(the_silver_searcher ),而我工作中95%都是用grep,剩下的是ag。我觉得很有必要聊一聊这个话题。 我以前也是一个运维, 我当时也希望找到最好的最快的工具用在工作的方方面面。...

  • 基于工厂模式的Windows和Linux文件操作的封装

    2015-03-18 - 工作好几天终于把这个问题搞定了。前些天linux老师给我们布置了一个作业,对window和linux的文件操作进行封装,并且将这两个封装写成一个基类的派生类,通过基类调用派生类访问。以前都是用直接访问派生类的,现在用基类访问派生类不知道怎么搞了,查了一下...

  • 我的mini2440 Linux2.9.32移植问题记录

    2015-03-17 - 1.总是出现MACH_TYPE = 1999 NOW, Booting Linux...... Uncompressing Linux.................................. done, booting the kernel. 停止的情况 下面的是tools/mach-types中关于体系的参数定义 s3c2440 ARCH_S3C2440 S3C2440 362 mini2440 MACH_MINI...

  • Linux用户操作归档脚本

    2015-03-17 - ###脚本开始### history MONFILESAVEPATH=/tmp/usermon ---需要保存的目录 USER_IP=`who -u am i 2/dev/null| awk {print $NF}|sed -e s/[()]//g` if [ $USER_IP = ] then USER_IP=`hostname` fi if [ ! -d ${MONFILESAVEPATH} ] then mkdir ${MONFILESAVEPA...

  • Linux内核配置的简单方法

    2015-03-16 - 下载好Linux内核源代码后,在源代码的根目录执行 make localyesconfig 或者 make localmodconfig 然后系统就会根据你的硬件自动生成一个适应你的硬件的 .config (内核的配置文件),配置内核最重要,最麻烦的一步,就完成了,这时就可以继续进行,其他的都很...

  • Linux Shell环境变量及参数扩展与模式匹配

    2015-03-16 - Linux Shell环境变量 shell 环境变量是所有shell 程序都会接受的参数。shell程序运行时,都会接收一组变量,这组变量就是环境变量。常用的环境变量: 名称 描述 PATH 命令搜索路径,以冒号为分隔符.注意与DOS下不同的是, 当前目录不在系统路径里 HOME 用户hom...

  • Linux效率优于select的epoll模型

    2015-03-16 - epoll精髓 在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理...

  • Linux下使用popen()执行shell命令

    2015-03-15 - 简单说一下popen()函数 函数定义 #include stdio.h FILE * popen(const char *command , const char *type ); int pclose(FILE *stream); 函数说明 popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程。这个管...

  • Linux内核中的通用双向循环链表

    2015-03-15 - 开发中接触Linux越来越多,休息放松之余,免不了翻看翻看神秘的Linux的内核。看到双向链表时,觉得挺有意思的,此文记下。 作为众多基础数据结构中的一员,双向循环链表在各种教科书中的实现是相当的标准和一致的。 大概就是下面这个样子: typedef struct n...

  • 细说嵌入式Linux文件系统的制作方法

    2015-03-13 - 说到Linux文件系统对于刚刚接触Linux的初学者来说还是有些生疏,其实理解了他的定义并且掌握他的使用方法并不是什么难事。在下文中大家就会详细的了解到什么是Linux文件系统,并且可以学会嵌入式Linux文件系统的制作方法。 一、什么是文件系统 (Filesystem)...

  • 详解Linux启动过程中硬件模块的加载

    2015-03-09 - 阅读Linux内核启动代码的直接动力是我想编写RTL8019AS的网卡驱动程序(2.4.18内核只支持了CS8900A)。既然要写驱动,我就想知道它是怎么样被加载的,好奇心驱使我先去搞定这个问题。 拿到2.4.18的软件包,一万多个文件,我不知怎么下手。所幸手头有这么三件工...

  • Widows下PXA270开发板的Linux系统的移植过程Widows下PXA270开发板的Linux系统的移植过程

    2015-03-07 - 由于目标板提供的资料不尽齐全,未能在电脑Linux OS下完成某些Linux系统的移植,于是查资料,想办法在Window下实现了Linux系统的移植。 一、准备工作 1.连接好270目标电源线,JTAG线,交叉口网线,串口线。 2.准备好Linux系统移植所需的Bootloader、内核文件...

  • Linux/Ubuntu下C语言开发PHP的.so扩展模块过程Linux/Ubuntu下C语言开发PHP的.so扩展模块过程

    2015-03-07 - 环境:Linux Ubuntu 2.6.27-7 + PHP Version 5.3.2 + Apache/2.2.9 php扩展是什么 如果你用过PHP,那么你已经使用过扩展了。除了少数的几个例外,每一个用户空间的PHP函数都被归类到一个个的扩展中。这其中很大一部分(总共超过400个)的函数是标准扩展的一...

  • Linux下的内存映射函数mmap详解及示例代码

    2015-03-06 - Linux的mmap文件内存映射机制 mmap: memory map 在讲述文件映射的概念时, 不可避免的要牵涉到虚存(SVR 4的VM). 实际上, 文件映射是虚存的中心概念, 文件映射一方面给用户提供了一组措施, 好似用户将文件映射到自己地址空间的某个部分, 使用简单的内存访问指...

  • 从Linux and Windows的动态库中引入类

    2015-03-06 - 从Linux and Windows 的动态库中引入类的方法 一般从Windows的动态库引入类的方法比较简单,只需要在DLL的类的申明出加入EXPORT就可以,但是这种方法只限于编译的时候引入DLL,就是通过Lib的方式引入DLL,但是很多情况下需要在程序的运行期来引入Dll,就像在...

  • 嵌入式Linux工控板的PWM功能

    2015-03-06 - PWM是指一种周期可调、占空比可调的稳定脉冲输出,即通常所说的脉宽调制脉冲信号。这种信号在工业自动控制中有广泛的应用。英利公司的嵌入式Linux工控板EM9160可支持3路独立的PWM输出,输出频率范围从1Hz10MHz,占空比从1%-99%。与EM9160的其他硬件资源一样...

  • Linux进程的栈和进程中函数的栈帧Linux进程的栈和进程中函数的栈帧

    2015-03-06 - 主要理解了Linux进程的栈和函数的栈帧的区别和联系 图片上传到红联 Linux系统教程 频道中。 上图中刻画的是一个Linux进程的结构图,其中本文想要关注的栈如上图所示是栈底在0xc0000000地址递减的一块进程内存区域 Linux系统中为每个进程分配的实际大小未做深...

  • 浅谈Linux内部环境变量

    2015-03-05 - 我们在Window的环境安装Java,必须先配置环境变量才可以运行Java的虚拟机。当然,在Linux安装Java Oracle同理也要配置path,java_home等,环境变量。 常见的环境变量有$OSTYPE $MACHTYPE $LINENO $HOSTTYPE $HOME $GLOBIGNORE $FUNCNAME $DIRSTACK $MACHTYPE....

  • Linux批量拷贝数据脚本

    2015-03-05 - 最近想弄个Linux下批量传输拷贝部署远程服务器脚本 思路: 1.与远程客户端建立等效性 2.拷贝数据、或者执行远程服务器命令 自动化等效性脚本如下:前提是安装expect这个包 服务端生成自动生成rsa key #!/usr/bin/expect rm -rf root/.ssh/known_hosts expect...

  • 嵌入式Linux工控板的ISA总线GPIO扩展嵌入式Linux工控板的ISA总线GPIO扩展

    2015-03-05 - 1、精简ISA总线GPIO扩展原理 在工业领域,GPIO的应用非常广泛,英利嵌入式Linux工控板上自带有16路GPIO。然而在实际应用中,经常需要多于16路的GPIO作为控制或者数据信号使用,这时候可以通过英利精简ISA总线进行GPIO扩展。采用最普遍的逻辑芯片74HCT138、74...

  • Linux下Qt开发环境的搭建

    2015-03-05 - 之前一直使用Ubuntu软件中心中的Qt4开发Qt的应用程序,现在转到Linux下来做Qt5开发,但是必须从Qt官网上面下载对应的安装包,配置起来相对麻烦一些,这里介绍整个开发流程。 首先,在官网上面可以找到离线安装包,最新的为qt-opensource-linux-x86-5.4.1.run...