红联Linux门户

Linux帮助
  • Linux内核3.7 TCP Fast Open验证实例

    2015-12-02 - Linux内核在3.6和3.7合入了TCP Fast Open特性,在3.7.3版本上验证了一下,I did it! 以下是C语言实例(LWN介绍): server端代码: #include string.h #include sys/types.h /* See NOTES */ #include sys/socket.h #include netinet/in.h int main(){ int p...

  • 64位系统下gcc按照32位编译c程序

    2015-12-02 - 有时候我们需要测试c代码在32位环境下的运行结果,这时候就需要gcc按照32位来编译c了。 1、安装 sudo apt-get install lib32readline-gplv2-dev 2、编译。加 -m32 参数 gcc -m32 hello.c linux下编译C程序: http://www.linuxdiyf.com/linux/15149.html 在li...

  • linux打印call stack方法

    2015-12-01 - 主要有四种,加入backtrace的方法: 1. WARN_ON(cond)//比如 WARN_ON(!host-claimed); 条件满足时,输出如下log: WARNING: at drivers/mmc/core/core.c:240 mmc_wait_for_cmd+0x2c/0x74() //by warn_slowpath_common Modules linked in: bcm4330//by print_...

  • Linux增加dmesg输出log的大小

    2015-12-01 - 【前因】目前Linux 3.4.0 默认Dmesg的buffer是128K,超出时前面的log就看不到了; [解决方法] 方法1:1.1 使用 make menuconfig; (make menuconfig - General Setup - Kernel log buffer size). 1.2 make bootimage or under kernel 文件夹下 执行make 方法2...

  • 成为一名更好的程序员:如何阅读源代码成为一名更好的程序员:如何阅读源代码

    2015-11-28 - 阅读源代码有许多益处。你会发现新的架构和库,与其他的代码维护者产生共鸣,但最重要的是学会如何组织代码,避免因内部极其复杂而变得不可维护。 但是也有一个不好的地方,那就是阅读源代码太困难了。每当我看到一个新的代码库时,这种让人眩晕的感觉就充斥...

  • shell脚本获取当前ip地址shell脚本获取当前ip地址

    2015-11-28 - 需求 shell脚本里我需要根据不同的ip地址做出不同的操作,因此我需要在shell脚本里获取当前主机的ip地址 我需要获取到192.168.1.111这个ip地址 方法1 ifconfig |grep inet 地址|grep 192.168.1 | grep -v grep | awk {print $2}| tr -d 地址: 效果 Shell命令...

  • shell脚本删除目录下的指定文件shell脚本删除目录下的指定文件

    2015-11-28 - 需求 今天做日志备份的时候,由于昨晚替换了备份脚本没有完全测试通过,导致了我的备份目录遭到污染,如果所示: 我的需求是test1、test2、test3仅存在nginx、coreseek、apche,删除掉所有其他的文件。我可以选择手动的一个个删除,但是身为程序员,各位懂得...

  • Linux任务调度策略

    2015-11-27 - linux内核的三种调度方法 SCHED_OTHER 分时调度策略 SCHED_FIFO实时调度策略,先到先服务 SCHED_RR实时调度策略,时间片轮转 当系统中只有三种调度方式中的一种时 所有任务都采用linux分时调度策略时(SCHED_OTHER) 创建任务指定采用分时调度策略,并指定优先...

  • Python与C++混合编程实验

    2015-11-27 - 实验目的: 实现Python调用C++ 输入法 API的目的 实验环境: Ubuntu Kylin 15.10 Python 2.7.9 GCC 4.9.2 实验过程: 开始的时候看到了一些C++与Python的混合编程,最终选用了拓展Python库的方案。并了解了一下Python的底层 (?)是否所有带有垃圾回收的语言的...

  • Linux-C: const char*如何赋值

    2015-11-27 - 折腾了一个小时才折腾出来,在单位就是没想起来,回到家一写就想起来了。感觉基础还是不扎实。不废话了,直接上代码: #include string.h #include sys/stat.h void main() { char tmp[100];//定义一个用来传递的变量 const char * filename;//文件名 int re...

  • g++编译出的多线程程序出错“segmentation fault"

    2015-11-27 - 我使用的g++版本是g++ 4.4.3 升级到4.7版本: add-apt-repository ppa:ubuntu-toolchain-r/test apt-get update apt-get install gcc-4.7-base apt-get install gcc-4.7 apt-get install g++-4.7 update-alternatives --install /usr/bin/gcc gcc /usr/bin/g...

  • u-boot和linux的机器码

    2015-11-26 - 先看u-boot的机器码和linux的机器码是在什么地方决定的。 u-boot的机器码是在u-boot的board/fs2410/fs2410.c文件里决定的: /* arch number of SMDK2410-Board */ gd-bd-bi_arch_number = MACH_TYPE_SMDK2410; 参照查看u-boot的include/asm-arm/mach-types.h...

  • Linux下基于net-snmp的Agent扩展开发Linux下基于net-snmp的Agent扩展开发

    2015-11-25 - 一.背景技术及术语解释 Net-SNMP是一个免费的、开放源码的SNMP实现,其中包含了一个Agent模块,通过这个模块可以获取到服务器的相关信息;在源码中实现了对服务器部分信息的获取,我们同样可以通过扩展mib库文件来实现获取我们需要的服务器的信息和管理服务...

  • shell &&和||的短路使用

    2015-11-25 - 和 || 在 shell 中分别表示 and 和 or,和其它语言类似,这两个操作有短路效应。也就是说,当判断式已经确定时,不再继续处理后续表达式。 在失败时中断, || 在成功时中断。 简单的短路经常可以在一些网上的脚本里面看到。 如: a=1 [ a -eq 2 ] echo a=2...

  • Linux系统下面使用pthread.h库时g++编译出错

    2015-11-25 - 在学习Linux下面的多线程编程时,照着书上敲了一段代码,但是使用g++编译时却出现问题。 程序如下: #include iostream #include stdio.h #include stdlib.h #include pthread.h using namespace std; void printids(const char* s) { pid_t pid; pthread_t...

  • 自动分区、格式化、挂载脚本自动分区、格式化、挂载脚本

    2015-11-24 - 功能:自动检测是否有尚未分区的数据盘,格式化新的数据盘并自动挂载 解决了什么问题:一键式检测是否有尚未分区的数据盘,并能对其格式化和自动挂载,省去了复杂的命令和步骤 执行方法:以root身份执行命令 wget http://mirrors.linuxeye.com/scripts/auto_...

  • linux编程遇到的奇怪问题(对于windows程序员来说)

    2015-11-24 - 今天使用结构体的时候遇到一个奇怪的问题,我定义了一个结构体,里边有一个数组,还有两个函数指针例如下面: typedef struct _MyStruct { int arr[2]; int (*Fun1)(_MyStruct* p); int(*Fun2)(_MyStruct* p); }MyStruct; 定义了一些全局方法来初始化这个结...

  • 为什么程序员喜欢深更半夜写代码为什么程序员喜欢深更半夜写代码

    2015-11-23 - 程序员自己也常说,工作效率最高的时候总是在深夜,不是凌晨还在写代码就是凌晨爬起来写代码。 深夜之所以工作效率高是因为不易分心,额!其实仔细想想晚上和白天并无多大区别,但程序员们也总是有自己的理由,大致分为一下三点。 1.生产型时间表 记得曾看过...

  • 在Linux上利用python获取本机ip在Linux上利用python获取本机ip

    2015-11-22 - 下面介绍在Linux上利用python获取本机ip的方法. 经过网上调查, 发现大致有两种方法, 一种是调用shell脚本,另一种是利用python中的socket等模块来得到,下面是这两种方法的源码: #!/usr/bin/env python #encoding: utf-8 #description: get local ip address i...

  • 嵌入式Linux下Qt的中文显示

    2015-11-22 - 一般情况下,嵌入式Qt界面需要中文显示,下面总结自己在项目中用到的可行的办法。 1,下载一种中文简体字体,比如我用的是方正准圆简体,把字体文件放在ARM开发板系统的Qt字库中,即/usr/lib/fonts下 2,添加ARM开发板上的环境变量,打开vi /etc/profile,添...

  • windows和linux系统下文件中字符串长度不一样windows和linux系统下文件中字符串长度不一样

    2015-11-21 - 1.在windows下,文件 1.txt的内容中只有123,3个字符。 1.1在123之后没有换行回车空格键等,此时通过属性显示3字节 1.2在123之后回车1次,此时文件属性显示5字节 2.在linux下,文件 1.txt的内容中只有123,3个字符。 2.1在123之后没有换行回车空格键等,此时通...

  • shell脚本:一键优化CentOS系统

    2015-11-20 - 自己参考了系统优化的点,写了一个一键优化脚本,适用于CentOS6.x版本,各个项已经单独进行测试通过。适用于CentOS6.x系统最小化安装执行,可以根据自己的需求进行添加或修改完善。 主要优化内容有: 关闭系统不必要的服务;关闭selinux,关闭iptables;关闭...

  • linux编译执行c++代码的方法

    2015-11-20 - 第一种:在终端进入cpp文件目录,直接输入g++ 文件名.cpp 然后会在当前目录下产生一个a.out可执行文件, 直接在终端中输入./a.out就能够执行了。但是貌似这种方法产生的都是文件名为a.out,cpp文件多的话就不能了。 第二种:在终端进入cpp文件目录,输入g++...

  • LINUX比较参数(test)

    2015-11-19 - 在这里,首先感谢鸟哥,因为有了他,linux越来越简单。 在写shell脚本的时候,经常使用if语句进行判断,下面我给大家总结了一些关于判断的参数: 一、文件类型判断:(除特殊说明外,以下所有例子结果均为redhat6.4默认设置,并且结果均为true) -e 判断文件...

  • Linux环境开发--gcc编译以及动态连接

    2015-11-19 - 简介 GNU编译器套装(英语:GNU Compiler Collection,缩写为GCC),一套编程语言编译器,以GPL及LGPL许可证所发布的自由软件,也是GNU项目的关键部分,也是GNU工具链的主要组成部份之一。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准...

  • Linux下GCC编译器用于编译运行的内核版本

    2015-11-19 - 我的系统上安装有gcc 的多个版本 ls -l /usr/bin/gcc* lrwxrwxrwx 1 root root 7 Jan 11 05:20 /usr/bin/gcc - gcc-4.4 -rwxr-xr-x 1 root root 239528 Sep 21 2010 /usr/bin/gcc-4.3 -rwxr-xr-x 1 root root 255536 Nov 15 2010 /usr/bin/gcc-4.4 我需要使...

  • 在CentOS中使用setns系统调用在CentOS中使用setns系统调用

    2015-11-18 - 系统调用setns是内核在3.0引入的一个新的系统调用,参考http://kernelnewbies.org/Linux_3.0#head-69fb31d5d1d284f3a95e56d0ec43a2b23c30c4f3 centos6.5的内核支持该系统调用,但用户态的glibc(2.12)并不支持该系统调用。 考虑下面的示例,引自http://man7.o...

  • Liunx下删除7天前大日志sh脚本

    2015-11-18 - 这个脚本可以把它放在crontab里面每天自动执行。 Linux得到七天前的日期脚本 oldday=date +%Y-%m-%d -d -7 day`` bsh代码: #进入到日志文件目录 cd /home/web/tomcat-6.0.41/logs #pathlog执行这个脚本动作的日志 pathlog=/home/web/autosh/clearbigfile.lo...

  • 使用bash判断PATH中是否存在某个路径

    2015-11-18 - 在source设置环境变量的时候,有些时候可能会设置两次,导致增加系统的路径搜索时间,或者让自己看环境变量的时候搞得怪不爽的。 为了解决这个问题,我们可以在设置相应的环境变量之前,先判断一下是否已经设置过,如果设置过,那就不要在设置了,如果没有设...

  • 写个小程序来比对两个目录下的不同文件

    2015-11-18 - 我写的是 bash shell的脚本。 用一个递归函数来搜索两个目录下不同的文件。 实际上我是用它来检测优化后程序的输出结果的。拿出来写在这里,也许你也可以用。 1.代码 #!/bin/bash # check_dirs.sh check_files() { local FISRTDIR=$1 local SECONDDIR=$2 loc...

  • Linux下C/C++程序调试基础(GCC,G++,GDB,CGDB,DDD)

    2015-11-18 - 在写程序的时候,经常会遇到一些问题,比如某些变量计算结果不是我们预期的那样,这时我们需要对程序进行调试。本文主要介绍调试C/C++在Linux操作系统下主要的调试工具。 在Linux下写程序,C/C++主要的编译器有GCC/G++,ICC等,像我等穷码农,最喜欢GCC了,...

  • 使用cygwin工具将linux环境中运行的hostapd移植到windows中

    2015-11-17 - 1.安装cygwin,安装程序,以及教程http://www.cygwin.com/中有详细说明 2.cygwin安装好之后,将hostapd代码包拷贝到cygwin中的home目录,运行cygwin之后,在home目录下就可以看到hostapd了 3.如果已经在cygwin中安装好了GCC,就可以直接make编译了,(如果还...

  • Python奇技巧Python奇技巧

    2015-11-16 - 显示有限的接口到外部 当发布python第三方package时,并不希望代码中所有的函数或者class可以被外部import,在__init__.py中添加__all__属性,该list中填写可以import的类或者函数名, 可以起到限制的import的作用, 防止外部import其他函数或者类。 #!/usr/...

  • linux下,让目录栈显示行号

    2015-11-15 - 目的:显示目录栈时同时显示出行号,方便我们切换目录。 1.在.bashrc 中添加一个宏。 alias pd=pushd alias dl=dirs -p | num.pl 说明, 问:为什么不写为 alias dl=dirs -p |nl 呢,这样不就可以不写num.pl perl script 吗? 答: nl shell 命令给出的是从1...

  • Linux中的伪终端编程

    2015-11-15 - 如何操作伪终端: 伪终端的使用是成对出现的,分为master 和 slaver 主设备:/dev/ptmx (i850上的主设备名) 从设备:动态生成:/dev/pts/0.......x 功能:写入主设备的信息,可以从从设备上读出;写入从设备的信息,可以从主设备读出。用以实现对串口的多...

  • 玩了一次linux的crash工具。真TMD牛逼

    2015-11-15 - 源码位置:http://people.redhat.com/anderson/ 1.将dump文件合一: cat sysdump.core.* dump.bin 2.到vendor/xxxx/open-source/tools/sysdump目录下找到crash命令 3.下载编译版本的符号表 4../crash -m phys_base=0x80000000 dump.bin vmlinux 在crash命令...

  • 第一个C语言编译器是怎样编写的?第一个C语言编译器是怎样编写的?

    2015-11-14 - 首先向C语言之父Dennis Ritchie致敬! 当今几乎所有的实用的编译器/解释器(以下统称编译器)都是用C语言编写的,有一些语言比如Clojure,Jython等是基于JVM或者说是用Java实现的,IronPython等是基于.NET实现的,但是Java和C#等本身也要依靠C/C++来实现,等...

  • gcc下的内联函数

    2015-11-13 - C标准在C99中才提供对内联函数的支持,但gcc却早已做到了这一点。内联函数的作用是尽可能地让函数允许地快一些,就如同宏一样。本文将用实例来探讨gcc下的内联函数,消除一些人们对它的疑惑。需要说明的是,本文所列出的所有代码均是在64位 ubuntu linux 15....

  • Linux中打开文件时的O_EXCL有什么用

    2015-11-12 - 问题描述: open(pathname, O_RDWR | O_CREAT,0666);就不行吗?为什么好多资料上说要加O_EXCL,说是原子性操作,不加难道就不是了吗? 解答: 如果文件事先已经存在, open(pathname, O_RDWR | O_CREAT,0666); 打开成功,返回一个大于0的fd open(pathname,...

  • Linux下面的两种文件锁

    2015-11-12 - 文件锁是一种文件读写机制,在任何特定的时间只允许一个进程访问一个文件。利用这种机制能够使读写单个文件的过程变得更安全。 在这篇文章中,我们将探讨Linux中不同类型的文件锁,并通过示例程序来理解它们之间的不同之处。 我们将采取以下的例子来解释为什...