• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Jason_Cheng
博客园 首页 新随笔 联系 订阅 订阅 管理

文章分类 -  Linux

 
嵌入式web服务器预研报告(转)
摘要:现在在嵌入式设备中所使用的web服务器主要有:boa、thttpd、mini_httpd、shttpd、lighttpd、goaheand、appweb和apache等。Boa1.介绍Boa 诞生于1991年,作者Paul Philips。是开源的,应用很广泛,特别适合于嵌入式设备,网上流行程度很广。它的官方网站说boa是最受人喜爱的嵌入式web服务器。功能较为强 大,支持认证,cgi等。Boa 是一个单任务的HTTP SERVER,它不像传统的web服务器那样为每个访问连接开启一个进程,也不会为多个连接开启多个自身的拷贝。Boa对所有的活动的http连接在内部 进行处理,而且只为每个CGI连 阅读全文
posted @ 2012-12-25 19:41 Jason_Cheng 阅读(375) 评论(0) 推荐(0)
find 的使用
摘要:find命令用于查找文件和目录,任何位于参数之前的字符串都将被视为欲查找的目录。find 可以指定查找条件如名称,类型,时间,文件大小,权限和所有者查找,针对多个条件进行与或非的逻辑运算。我们可以控制find的查找的行为,还可以和其他命令组合使用。find find .find . -print三者等效, 查找当前目录下所有的文件和目录(递归子目录),以每行一个文件或者目录的形式列举出,不包含隐藏文件find lib opt bin同上,查找指定的多个目录(lib/opt/bin)一、指定查找条件1) 按名称查找find . -name readme.txt查找当前目录下(递归子目录)的所有名 阅读全文
posted @ 2012-12-11 11:25 Jason_Cheng 阅读(272) 评论(0) 推荐(0)
Linux 技巧:重定向 stderr 和 stdout 输出到 gdb 窗口
摘要:恽 益群 (yunyiqun@cn.ibm.com), 软件工程师, IBM余 锦 (yujin@cn.ibm.com)IBM CDL简介:本文介绍了一个实用 gdb 调试技巧。 它结合实际例子,一步一步示意如何重定向 stderr 和 stdout 到 gdb窗口,使得查看应用程序的输出信息更为方便,从而提高调试者的工作效率。简介本文介绍了一个实用 gdb 调试技巧。 它结合实际例子,一步一步示意如何重定向 stderr 和 stdout 到 gdb窗口,使得查看应用程序的输出信息更为方便,从而提高调试者的工作效率。回页首问题为了调试基于 Eclipse 的 Java 和 C++ 混合的应用 阅读全文
posted @ 2012-11-30 19:02 Jason_Cheng 阅读(1813) 评论(0) 推荐(0)
shell script的一些实例
摘要:http://www.linuxsir.org/bbs/thread57171.html出道题考考你?文件:工a式aa工aaaa工期aaad工艺aaan如何转化成:a 工aa 式aaaa 工aaad 工期aaan 工艺$ cat a | sed -e 's/\([a-z]*$\)/ &/' -e 's/\([^ ]*\) \([a-z]*\)/\2 \1/'这里有两个转换步骤: 1. 转成中间用空格分隔的形式本想直接匹配汉字和英文字符,再反转;试了试,不太好使,就曲折了一下。[a-z]*$ 匹配每行最后的所有英文字符,加上了引号表示把它作为一个... 阅读全文
posted @ 2012-11-29 22:41 Jason_Cheng 阅读(174) 评论(0) 推荐(0)
Linux rename命令 批量重命名
摘要:Linux的 rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,早期的Linux发行版基本上使用的是C语言版本的,现在已经很难见到C语言版本的了, 由于历史原因,在Perl语言大红大紫的时候,Linux的工具开发者们信仰Perl能取代C,所以大部分工具原来是C版本的都被Perl改写了,因为 Perl版本的支持正则处理,所以功能更加强大,已经不再需要C语言版本的了。如何区分系统里的rename命令是哪个版本的?输入 man rename 看到第一行是 RENAME(1) Linux Programmer’s Manual ... 阅读全文
posted @ 2012-11-29 17:47 Jason_Cheng 阅读(285) 评论(0) 推荐(0)
linux中shell变量$#,$@,$0,$1,$2的含义解释
摘要:linux中shell变量$#,$@,$0,$1,$2的含义解释:变量说明:$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。$@所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。$#添加到 阅读全文
posted @ 2012-11-27 10:57 Jason_Cheng 阅读(216) 评论(0) 推荐(0)
vim+Ctags+Taglist+WinManager工具的安装
摘要:安装好Ubuntu11.10已经好几天了,因为阅读内核源代码的需要为了能更好的阅读内核代码,我为自己打造了vim+Ctags+Taglist+WinManager这一个阅读器。下面介绍一下阅读器的安装。在Ubuntu上安装vim,应该不需要再多说些什么了 sudo apt-get install vim系统就会自动将vim编辑器安装好了!!只有一个vim对于开发人员,特别是需要阅读大量源代码的程序员来说,显然是不够的,或者说是不方便的,当然除了那些大牛之外,我身边就有这么一位,真的很牛的那种,我还不是,就先借助一下工具呗!!1.接下来就是Ctags的安装,当然你也可以是用Ubuntu的自动安. 阅读全文
posted @ 2012-11-22 10:51 Jason_Cheng 阅读(314) 评论(0) 推荐(0)
vim技巧
摘要:VIM常用命令 执行脚本方法::so 脚本名 这里,脚本名是一个.vim文件如果想把外部命令执行的结果插入到当前编辑的缓冲区中,可以考虑使用“:r!”VIM常用命令::set showmode显示当前模式 kh l 移动光标 j删除一个字符:x删除一行:dd删除换行符:J撤消:u一次撤消一行的:U重做:CTRL_R退出并保存修改:ZZ======================================================移动命令:以word为单位的移动:w(向->移) b(向<-移) e(向->移) ge(向<-移)$(移到行尾) ^当前行第一个非空 阅读全文
posted @ 2012-11-21 16:47 Jason_Cheng 阅读(298) 评论(0) 推荐(0)
如何进行Linux Kernel 开发?
摘要:译者序:这是一篇很重要的文档,它介绍了内核开发的方方面面。这篇文档已被加入到内核源码树的Documentation文档里(名字为HOWTO),你可以在最新的内核树里找到它。尽管已经有网友翻译过这篇文档,但是我还是决定自己再翻译一遍。翻译完之后,我的感触是如果依靠翻译来进行学习,速度太慢了。以后的技术文档直接看英文,适当的做做笔记即可。山涛-----------------------------------------------------How to do Linux Kernel development------------------------------------------- 阅读全文
posted @ 2012-11-20 20:18 Jason_Cheng 阅读(428) 评论(0) 推荐(0)
详细介绍Linux man命令的使用方法
摘要:Linux man命令的使用方法(整理收集自网络)Linux提供了丰富的帮助手册,使用Linux man命令来查看一些不熟悉的命令的使用方法,还可以用来查询系统库文件中的一些函数定义和使用方法。Linux man中的man就是manual的缩写,用来查看系统中自带的各种参考手册,但是手册页分为好几个部分,如下所示:1Executable programs or shell commands2System calls (functions provided by the kernel)3Library calls (functions within program libraries)4Spec 阅读全文
posted @ 2012-11-16 11:53 Jason_Cheng 阅读(21141) 评论(0) 推荐(0)
Linux常用命令大全
摘要:系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 阅读全文
posted @ 2012-11-16 11:22 Jason_Cheng 阅读(152) 评论(0) 推荐(0)
Vbird 基础正规表示法汇整
摘要:我们可以将基础的正规表示法特殊字符汇整如下:RE 字符意义与范例^word 意义:待搜寻的字串(word)在行首!范例:搜寻行首为 # 开始的那一行,并列出行号grep -n '^#' regular_express.txtword$意义:待搜寻的字串(word)在行尾!范例:将行尾为 ! 的那一行列印出来,并列出行号grep -n '!$' regular_express.txt.意义:代表『一定有一个任意字节』的字符!范例:搜寻的字串可以是 (eve) (eae) (eee) (e e), 但不能仅有 (ee) !亦即 e 与 e中间『一定』仅有一个字节,而 阅读全文
posted @ 2012-11-15 16:29 Jason_Cheng 阅读(228) 评论(0) 推荐(0)
linux文件系统—inode和blocks及相关概念
摘要:一.inode size 定义单位:Byteinode table sample inode table是data area的索引表。Inode分为内存中的inode和文件系统中的inode,我们这里说的是文件系统中的inode。1. linux FS 可以简单分成 inode table与data area两部份。inode table上有许多的inode, 每个inode分别记录一个档案的属性与这个档案分布在哪些datablock上(也就是我们说的指针)。inode两个功能:记录档案属性和指针2. inode table中红色区域即inode size,是128Byte,在liunx系.. 阅读全文
posted @ 2012-11-08 11:20 Jason_Cheng 阅读(795) 评论(1) 推荐(0)
UNIX编程改变了吗?
摘要:http://www.thinknext.net/archives/614 UNIX高级编程Advanced UNIX Programming第二版是前一段时间UINX届比较引人瞩目的事情,informIT刊登了该书作者Marc Rochkind 回顾自第一版发布以来20年间变化的文章Has UNIX Programming Changed in 20 Years?。 Marc在1984年出版Advanced UNIX Programming的时候,UNIX已经走过了15个年头;完成第二版的时候,又一个20年过去了。人们会好奇地问,自1984年来,UNIX编程发 生了怎样的变化?嗯,实际上,. 阅读全文
posted @ 2012-11-06 21:50 Jason_Cheng 阅读(208) 评论(0) 推荐(0)
I/O端口与I/O内存
摘要:http://blog.csdn.net/gzliu_hit/article/details/7091490寄存器与ram的区别: 寄存器的操作有副作用(side effect),如有些状态寄存器,读取后便会自动清零。X86:支持I/O空间,支持内存空间ARM,MIPS,POWERPC:只支持内存空间I/O端口:一个寄存器或内存位于I/O空间I/O内存:一个寄存器或内存位于内存空间I/O端口的操作: (1)申请 request_region(start,n,name) (2)访问 8位:inb(), outb() 16位:inw(), outw() 32位:inl(), outl() ... 阅读全文
posted @ 2012-10-29 09:50 Jason_Cheng 阅读(191) 评论(0) 推荐(0)
内存与I/O访问
摘要:http://blog.csdn.net/gotosola/article/details/7431447本章节带大家一起来探讨一下Linux驱动中的内存与I/O访问CPU与内核和I/OI/O空间:在X86处理器中存在着I/O空间的概念,I/O空间是相对于内存空间而言的。它通过特定的指令in、out来访问指令格式:IN 累加器,{端口号|DX}OUT {端口号|DX},累加器注意:目前大多数嵌入式微控制例如ARM、PowerPC等不提供I/O空间,而仅存在内存空间。内存空间可以直接通过地址、指针来访问为什么内存空间是必须的,I/O空间是可选的?答:我们可以将外设只挂在到内存空间,此时CPU就可 阅读全文
posted @ 2012-10-29 09:47 Jason_Cheng 阅读(516) 评论(0) 推荐(0)
关于/usr/include/linux和/usr/src/linux/include/linux/
摘要:http://www.cnblogs.com/qiaoge/archive/2012/03/30/2425126.html/usr/include/linux是用来编译当前系统的程序的; /usr/src/linux/include/linux/是用来编译内核的,要使用/usr/src/linux/include/linux的头文件, 可以用gcc -I /usr/src/linux-x.x.x/include/呵呵,一个是用户态下的搜索路径,一个是内核模块需要的头文件搜索路径,用的地方都不一样 如果你没有在编译时显示地加上-I的情况下: 如果你的代码中没有__KERNEL__这样的宏声明.. 阅读全文
posted @ 2012-10-22 21:48 Jason_Cheng 阅读(600) 评论(1) 推荐(0)
Linux source code Makefile分析
摘要:linux-2.6.x makefilelinux-2.6.20.6/Documentation/kbuild/makefiles.txt一、概述linux的makefile有五个部分:Makefile:顶层Makefile.config:内核配置文件arch/$(ARCH)/Makefile:体系结构相关的Makefilescripts/Makefile.*:通用的规则等,用于所有的kbuild Makefileskbuild Makefiles:大约有500个这样的makefile顶层Makefile读取在内核配置过程中生成的.config文件。负责构建两个主要的文件:vmlinux和各. 阅读全文
posted @ 2012-09-27 15:42 Jason_Cheng 阅读(453) 评论(0) 推荐(0)
Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
摘要:前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式——在一个独立的文件夹通过makefile配合内核源码路径完成 那么如何将驱动直接编译进内核呢? 在我们实际内核的移植配置过程中经常听说的内核裁剪又是怎么麽回事呢?我们在进行linux内核配置的时候经常会执行make menuconfig这个命令,然后屏幕上会出现以下界面:这个界面是怎么生成的呢?跟我们经常说的内核配置与与编译又有什么关系呢?下面我们借此来讲解一下linux内核的配置机制及其编译过程。一、配置系统的基本结构Linux内核的配置系统由三个部分组成,分别是:1、Makefile: 阅读全文
posted @ 2012-09-27 15:38 Jason_Cheng 阅读(926) 评论(0) 推荐(0)
 

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3