红联Linux门户

Linux帮助
  • Linux Shell程序调试Linux Shell程序调试

    2015-07-14 - Shell程序的调试是通过运行程序时加入相关调试选项或在脚本程序中加入相关语句,让shell程序在执行过程中显示出一些可供参考的调试信息。当然,用户也可以在shell程序中的适当位置加入一些echo命令用于调试与跟踪。 方法一:在运行脚本程序时加入调试选项:...

  • Node.js命令行程序开发教程Node.js命令行程序开发教程

    2015-07-14 - 一种编程语言是否易用,很大程度上,取决于开发命令行程序的能力。 Node.js 作为目前最热门的开发工具之一,怎样使用它开发命令行程序,是 Web 开发者应该掌握的技能。 最近,Npm的网志有一组系列文章(http://blog.npmjs.org/post/118810260230/building-a-...

  • 从零使用QEMU模拟器搭建ARM运行环境

    2015-07-12 - 为什么会有这篇文章 早在2011年的时候,跟当时同事一起讨论,做Linux系统开发正处于整个Linux开发中间层,没有上层的C/C++业务和数据库的开发经验,也没有底层的内核和驱动开发经验,到底路该如何走基于对Linux系统开发的理解和内核的兴趣,认为选择Linux内...

  • 谈谈软件包谈谈软件包

    2015-07-11 - 我学习C语言的时候是在大学课程上,老实说,能理解那些语言概念就很不容易了,对于软件包管理这件事听都没听说过。但真实情况下,大部分的软件项目都不可能是从零开始的,我们总要依赖某些开源的或者团队自己开发的工具和框架库来帮助工作,我是学习Java的时...

  • 在CentOS上使用NetBeans开发C++,调用Python的过程、遇到的问题在CentOS上使用NetBeans开发C++,调用Python的过程、遇到的问题

    2015-07-11 - 本人刚接触在CentOS上,使用NetBeans开发C++项目,由于项目的原因,需要在C++工程中调用Python脚本,在这个过程中遇到一些问题,都是比较基础的,写此文章就当记笔记了。 环境 操作系统:CentOS 6.6 开发工具:NetBeans 8.0.2 系统已经自带了Python,版本是2...

  • linux中shell变量$#,$@,$0,$1,$2的含义解释

    2015-07-09 - 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如$*用「」括起来的情况、以$1 $2 $n的形式输出所有参数。 $@ 所有参数列表。如$@用...

  • Linux内核3.11的socket busy poll机制避免睡眠切换

    2015-07-08 - Linux的网络协议栈非常独立,上下通过两个接口分别和用户态以及设备相连,也可以看作是北向和南向接口...北向通过socket接口,南向通过qdisc接口(你可以认为是上层的netdev queue,对于接收接口,NAPI的poll队列则是另一个例子),不管是socket还是qdisc,都...

  • 从Linux 2.6.8内核的一个TSO/NAT bug引出的网络问题排查观点(附

    2015-07-08 - 四年多前的一个往事 大约在2010年的时候,我排查了一个问题。问题描述如下: 服务端:Linux Kernel 2.6.8/192.168.188.100 客户端:Windows XP/192.168.40.34 业务流程(简化版): 1.客户端向服务端发起SSL连接 2.传输数据 现象:SSL握手的时候,服务端发送Ce...

  • 如何学习编程语言如何学习编程语言

    2015-07-07 - 不论你是想自己设计游戏,还是开发iPhone或安卓手机上的应用,还是仅仅为了娱乐,学习编程语言都是一条必经之路。编程语言种类繁多,用途各异,然而一旦掌握其中之一,其他的也就迎刃而解。作为初学者,你可能要先从Java或HTML开始学,一旦掌握了一门编程语...

  • 提高Vim和Shell效率的9个建议提高Vim和Shell效率的9个建议

    2015-07-05 - 1. 重映射 CAPSLOCK 键 你上一次使用 CAPSLOCK 键是什么时候?很久没有了对不对?噢,我也是,它已经被遗忘了,它浪费了键盘上一个黄金位置。让我们把它重映射成 Control 键来发挥它的作用吧!这里(http://c2.com/cgi/wiki?RemapCapsLock)告诉了你在不同的...

  • 年轻程序员需要学习的5大经验年轻程序员需要学习的5大经验

    2015-07-04 - 在过去的7年半时间里,我带过的软件实习生超过一打,也看到过数以百计的学生和毕业生的档案。我发现很多事情他们都需要学习。或许你会说,我说的不就是某种特定的技术、算法、数学,或者其他特定形式的知识吗?没错,这的确是需要学习的,但却并不是最重要的...

  • 程序员获取新编程技能的5个技巧程序员获取新编程技能的5个技巧

    2015-07-02 - 你是怎么学会所有这些框架和语言的?,最近在黑客马拉松上一个朋友问我。 其实,很简单,只要用你想学的东西去创建一个合适又值得的项目就行了,我回答说。 真的吗?直接上手搞项目吗?,他好奇地问。 是啊,还有要向合适的人征求意见。聪明的人通常都很乐于...

  • 利用Buck进行高效Android编译

    2015-07-01 - Buck(http://buckbuild.com/) 是Facebook出品的高效 开源 Android编译工具,旨在鼓励开发者构建小规模可重用的程序模块,2013年发布时,InfoQ对此有过非常详细的报道。 随着版本的不断迭代和功能的不断演进,越来越多的团队开始利用Buck改进编译过程,Vine...

  • Linux内核之于红黑树and AVL树

    2015-07-01 - 为什么Linux早先使用AVL树而后来倾向于红黑树? 实际上这是由红黑树的实用主义特质导致的结果,本短文依然是形而上的观点。红黑树可以直接由2-3树导出,我们可以不再提红黑树,而只提2-3树,因为2-3树的操作太简单。另外,任何红黑树的操作和特性都可以映射...

  • 写一个每秒接收100万数据包的程序究竟有多难?写一个每秒接收100万数据包的程序究竟有多难?

    2015-06-30 - 在上周的一次非正式谈话中,我偶然听同事说:Linux 的网络栈太慢了!你别指望每秒在每个核上传输超过 5 万的数据包。 这让我陷入了沉思,虽然对于任意的实际应用来说,每个核 5 万的速率可能是极限了,但 Linux 的网络栈究竟可能达到多少呢?我们换一种更有...

  • Shell脚本:使用rsync备份文件/目录Shell脚本:使用rsync备份文件/目录

    2015-06-25 - 本文我们介绍一个shell脚本,用来使用rsync命令将你本地Linux机器上的文件/目录备份到远程Linux服务器上。使用该脚本会以交互的方式实施备份,你需要提供远程备份服务器的主机名/ip地址和文件夹位置。我们使用一个单独的列表文件,在这个文件中你需要列出要...

  • 5步助你成为一名优秀的Docker代码贡献者5步助你成为一名优秀的Docker代码贡献者

    2015-06-24 - 【编者的话】开源渐成主流,越来越多的开发者想参与开源社区。而时下最火热的Docker也许就是开发者入手开源项目的最好选择,它不仅是目前最流行的开源项目之一,而且在提交Issue方面的文档和流程都是目前我见过的开源项目里最好的。本文主要介绍了如何入手开...

  • vim开发配置,函数颜色格式设置vim开发配置,函数颜色格式设置

    2015-06-19 - 给自己电脑安装了Ubuntu系统,以后坚持使用linux系统,坚持使用VIM做开发工具。 为了记录VIM使用做如下记录: 1,使用笔记本,安装Ubuntu15.04,系统不自带VIM只有VI,果断安装之。 命令:sudo apt-get install vim 2,进入vi编辑文本后,发现backspace不能...

  • 提高Python运行效率的六个窍门

    2015-06-15 - Python是一门优秀的语言,它能让你在短时间内通过极少量代码就能完成许多操作。不仅如此,它还轻松支持多任务处理,比如多进程。 不喜欢Python的人经常会吐嘈Python运行太慢。但是,事实并非如此。尝试以下六个窍门,来为你的Python应用提速。 窍门一:关键...

  • Linux Shell在while中用read从键盘输入

    2015-06-15 - Linux系统是Ubuntu 14.04 64bit,之前曾想安装Stream来玩dota2,但最终没成功。由于Stream只有32bit,安装Stream时也安装了大量32bit的库。删除Stream后,这些库也一直没管,今天忽然心血来潮,想清理一下系统,把不必要的32bit库都干掉。 dpkg -l | grep i3...

  • Shell脚本面试问题大全Shell脚本面试问题大全

    2015-06-12 - 我们为你的面试准备选择了 70 个你可能遇到的 shell 脚面问题及解答。了解脚本或至少知道基础知识对系统管理员来说至关重要,它也有助于你在工作环境中自动完成很多任务。在过去的几年里,我们注意到所有的 linux 工作职位都要求脚本技能。 1) 如何向脚本传...

  • Linux(CentOS)下安装Java运行环境及输出Hello World

    2015-06-11 - 最近打算学习Hadoop和spark,需要安装Java运行环境,我用的系统是CentOS。 一、安装jdk 1.进入usr目录 cd /usr 2.在usr目录下建立java安装目录 mkdir java 3.将jdk-8u45-linux-x64.rpm拷贝到java目录下 cp /root/hadoop_home/jdk-8u45-linux-x64.rpm /usr/ja...

  • PHP生成随机密码的几种方法

    2015-06-10 - 使用PHP开发应用程序,尤其是网站程序,常常需要生成随机密码,如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码。随机密码也就是一串固定长度的字符串,这里我收集整理了几种生成随机字符串的方法,以供大家参考。 方法一: 1、在 33 126 中...

  • Linux调度总结Linux调度总结

    2015-06-08 - 调度: 操作系统的调度程序的两项任务: 1: 调度: 实现调度策略,决定就绪的进程、线程竞争cpu的次序的裁决原则。说白了就是进程和线程何时应该放弃cpu和选择那个就绪进程、线程来执行。 2: 分派: 原来实现调度机制如何时分复用cpu,处理好上下文交换的...

  • Linux的初始化与启动过程Linux的初始化与启动过程

    2015-06-08 - 我们运行程序只需要点击应用程序的图标就可以了,但在这之前,我们必须启动我们的系统。在一切之前,我们必须有某些程序去引导我们系统的内核,这些程序就是内核引导程序了,例如LILO、GRUB、U-Boot、RedBoot。而这些引导程序同样需要被其他程序加载和运行,...

  • Linux编译系统的简单介绍与内核编译安装Linux编译系统的简单介绍与内核编译安装

    2015-06-08 - 这里不只是讲怎样编译、安装Linux内核的,更主要的是介绍内核的编译系统和各个重要的文件。最后还利用学到的编译、安装Linux内核去修改Linux的01调度变成随机调度。如果你只是需要编译、安装内核的几条指令,那么翻到文章中后部分吧。如果有哪里写错或者写得...

  • Linux内核源码分析方法

    2015-06-08 - 一、内核源码之我见 Linux内核代码的庞大令不少人望而生畏,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次。如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径。我们都知道,想成为优秀的程序员,需要大量的实践和代码的编写。编程...

  • Linux下安装JDK并测试开发“Hello World!”Linux下安装JDK并测试开发“Hello World!”

    2015-05-27 - 测试环境 主机系统:Win7 64位 虚拟机:VMware Workstation 11.1.0 虚拟机系统:CentOS 6.5 64位 Kernel 2.6.32-431.e16.x86_64 一、下载JDK(Linux_x64) http://www.Oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 二、使用Ul...

  • GEC2440最简单的一个内核编译Linux2.6.30.4

    2015-05-26 - A GEC2440最简单的内核编译: vim 打开 Makefile,修改为: ARCH=arm CROSS_COMPILE=/home/litingting/arm-linux/opt/FriendlyARM/toolschain/4.4.3/bin make s3c2410_defconfig 解释: 因为2410和2440很多地方是一样的,可以用2410的配置文件为基础来配置内核。...

  • Linux串口驱动测试

    2015-05-26 - 1、Linux终端(串口) 210开发板有4个串口 2440开发板有3个串口 在2440开发板中三个串口设备对应如下 串口名字 主设备号 次设备号 s3c2410_serial0 204 64 s3c2410_serial1 204 65 s3c2410_serial2 204 66 有的系统里使用这三个名字 ttySAC0 204 64 ttySAC1 20...

  • 详解将驱动程序编译进Linux内核

    2015-05-26 - 1、进入目录linux-kernel-samsung-dev\drivers\char 2、新建目标目录01.led,将驱动相关文件复制到此目录 注:需确保复制的驱动文件是能正常运行的驱动 3、在目录01.led里编写Kconfig文件 menu xxx config XXX_LED tristate xxx_ggg210_led default n help T...

  • 详解Linux平台芯片烧写流程

    2015-05-26 - 这里的烧写是针对板子里的nandflash中已经有uboot的情况。目的在于熟悉烧写流程及原理! 连接好开发板,重新启动,进入u-boot交互界面,执行如下操作: 一、配置网络 # print # setenv ipaddr 192.168.64.11 (注:ipaddr 为开发板IP) # setenv serverip 192....

  • 制作Linux根文件系统关于链接库的问题

    2015-05-26 - 1.应用程序执行需要库的支持 在制作自己的发行版时经常需要判断某条命令需要哪些共享库文件的支持,以确保指定的命令在独立的系统内可以可靠的运行; 在Linux环境下通过ldd命令即可实现,在终端下执行: ldd /bin/ls 。(注意 file指令) 即可得到/bin/ls命...

  • Shell脚本中获取SELECT结果值的方法

    2015-05-26 - 有时候我们可能会需要在Shell脚本中执行SELECT语句,并将结果赋值给一个变量,对于这样的情形,我们可以用以下的方法来达到目的。 #!/bin/ksh # # Created : 2015.05.25 # Updated : 2015.05.25 # Author : Jet Chenxi Zhang # Description : Get SELECT res...

  • Starting your first go program.开始你的第一个go程序。

    2015-05-24 - 下面我们开始Go的Hello world的编写,主要参考资料来自: https://golang.org/doc/install 主要包括以下几个部分: 1. Go在Linux内核操作系统下的编译环境的安装。我这里是Ubuntu 15.04, Linux 3.19.0内核。 2. Go程序的编写于运行。 3. Go程序简要说明 下面...

  • vLang-一个基于模型的微信开发框架(Python)

    2015-05-24 - 开发与测试环境: Ubuntu Kylin 15.04 64bit Python 3.4 Tornado 4.1 python3 setup.py install 1. Hello World! 最简单的例程,对用户发送的所有消息,回复Hello World! from vlang.menu import Menu from vlang.server import start class MainMenu(Menu):...

  • LG webOS智能电视APP开发大赛,一等奖10万,参与有奖LG webOS智能电视APP开发大赛,一等奖10万,参与有奖

    2015-05-24 - LG电视,因领先 而创先!首届LG webOS 智能电视APP开发大赛正式启动,大赛奖金高达10万元! 大赛流程及活动规则请前往 http://bsch.serving-sys.com/BurstingPipe/adServer.bs?cn=tfc=20mc=clickpli=13378541PluID=0ord=[timestamp] 查看。 作为LG智能电视操...

  • Linux最简单的驱动编写及测试流程

    2015-05-23 - 本文采用nfs挂载网络文件系统的方式,手动创建设备节点,动态加载驱动模块,对理解驱动编写流程有很大好处! 一、初级驱动执行流程: 1、写好Makefile文件,里面包含将应用程序编译成app文件,将驱动程序编译成mydrv.ko文件的脚本 2、在Ubuntu里执行sudo mak...

  • Linux正则表达式

    2015-05-23 - 表达式 你可能熟悉一个计算器解释的表达式。请看下面的算术表达式: 2+4 2加4 出几个常数或字面值和一个操作符组成。计算器程序必须能够识别,例如, 2 是数字常数而加号表示一个操作符,而不能解释为+字符。 表达式告诉计算机如何产生结果。尽管我们真正想...

  • Python中的tab补全

    2015-05-23 - 首先需要知道Python的读取路径 import sys sys.path [, /usr/lib64/python26.zip, /usr/lib64/python2.6, /usr/lib64/python2.6/plat-linux2, /usr/lib64/python2.6/lib-tk, /usr/lib64/python2.6/lib-old, /usr/lib64/python2.6/lib-dynload, /usr/lib64/py...