
Linux
文章平均质量分 79
jiahehao
发愤忘食,乐以忘忧。
展开
-
linux命令之cd,ls,vi进入及退出文件
一、cd用来进入指定的某个目录。说cd这个命令是Linux上使用率最高的两个命令之一不为过吧(另一个当然是ls了),前两天看到了一个cd命令的小技巧是我一直都不知道的,呵呵,这里顺便记下来。 cd - #回到上次所在目录,感觉还是比较有用,省略了很多输入。cd !$ #原创 2007-11-07 10:01:00 · 89395 阅读 · 1 评论 -
Linux下Java环境的安装和配置
一、下载JDK自己下载吧,步骤不用写了吧;我下载的是jdk-1_5_0_11-linux-i586.bin在www.java.sun.com下,我下的是Jre-6u27-linux-i586-rpm.bin这个安装版本。二、安装(1)在usr下新建转载 2011-09-03 15:04:26 · 1276 阅读 · 0 评论 -
linux环境下java版本的升级和卸载
本总的机器安装的时候带了一个java1.4的版本,但是最近要跑的程序,要求1.6以上的版本。本总不得已,开始升级。 先去sun的官方网站下载了一个官方版本:jre-6u27-linux-i586-rpm.bin。 然后开始卸载原版本,先用rpm -原创 2011-09-29 16:08:07 · 16088 阅读 · 0 评论 -
标准库函数perror用法(打印出错误原因信息字符串)
表头文件 #include定义函数 void perror(const char *s);函数说明 perror ( )用 来 将 上 一 个 函 数 发 生 错 误 的 原 因 输 出 到 标 准 错误 (stderr) 。参数 s 所转载 2011-10-09 08:37:43 · 3003 阅读 · 0 评论 -
关于get_ds, set_fs, get_fs函数的使用
在linux内核编程时,进行系统调用(如文件操作)时如果要访问用户空间的参数,可以用set_fs,get_ds等函数实现访问。get_ds获得kernel的内存访问地址范围(IA32是4GB),set_fs是设置当前的地址访问限制值,get_fs是取得当前的地址访问限制值。进程由用户态进入核态,linux进程的task_struct结构中的成员addr_limit也应该由0xBFFFFFFF变为0转载 2012-02-13 10:33:15 · 6047 阅读 · 0 评论 -
linux定时器Timer的用法
例子一:#include#include#include#include#include MODULE_LICENSE("GPL");MODULE_AUTHOR("James");MODULE_DESCRIPTION("Timer Module");struct timer_list timer;void timer_func(in原创 2012-03-05 15:44:17 · 14947 阅读 · 2 评论 -
ioctl 用法(转)
文件描述符是低层的输入和输出接口。描述符可以表示到设备、管道或套接字的连接,这些连接用于与另一个进程或普通文件进行通信。I/O 控制 (ioctl) 函数调用可以用来对特殊文件的基础设备参数进行操作。它们可以完成与打开的文件描述符相关联的控制功能。这些命令涉及文件、流、普通数据链路控制以及其他各种设备。 本文将讨论 AIX Version 5.3 中提供的与网络操作和套接字相关的命令。在下列转载 2012-03-14 11:21:03 · 1762 阅读 · 0 评论 -
大端模式和小端模式
大端格式:在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中,如图2.1所示:小端格式:与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。如图2.2所示: 请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1解答: int check转载 2012-03-30 10:29:39 · 1066 阅读 · 1 评论 -
关于udelay(); mdelay(); ndelay(); msleep();
在Linux Driver开发中,经常要用到延迟函数:msleep,mdelay/udelay.虽然msleep和mdelay都有延迟的作用,但他们是有区别的.mdeday还忙等待函数,在延迟过程中无法运行其他任务.这个延迟的时间是准确的.是需要等待多少时间就会真正等待多少时间.而msleep是休眠函数,它不涉及忙等待.你如果是msleep(10),那实际上延迟的时间,大部分时候是要多于1转载 2012-05-09 15:41:35 · 6843 阅读 · 1 评论 -
找不到libstdc++.so.5库文件
新装的Ubuntu中使用一些程序出现:libstdc++.so.5: cannot open shared object file: No such file or directorysudo apt-get install libstdc++5 末果,说找不到这个包,但是有 libstdc++6那么选择手动安装:1. 下载安装包: wget -c http://lug.mtu.e转载 2012-05-19 15:06:12 · 2280 阅读 · 0 评论 -
popen使用的小例子
最近需要监控Squid服务器的一些运行状态,需要通过Squid的一些命令来获取,linux c中有个很好用的接口,popen。 popen() 函数通过创建一个管道,调用 fork 产生一个子进程,执行一个 shell 以运行命令来开启一个进程。这个进程必须由 pclose() 函数关闭,而不是 fclose() 函数。pclose() 函数关闭标准 I/O 流,等待命令执行结束,然后返转载 2012-07-06 09:54:50 · 1361 阅读 · 0 评论 -
MIPS与ARM的区别
主要是网上的,描述若有偏差,还请大家见谅 :)特别提示:关于多线程,现在MIPS32 34KC已经实现了MT,而且Kernel从2.6.17开始已经有了对其的支持。我会在以后的文章中详细介绍。//////////////////////////////////////1.流水线结构 pipeline - MIPS 是最简单的体系结构之一,所以使大学喜欢选择 M转载 2012-09-20 10:06:04 · 3069 阅读 · 0 评论 -
ccid驱动支持
编这个有几点要注意,一是交叉编译的工具链,二是安装路径要统一,比如大家都一起安装到ccid下面。三是如果在虚拟机上编,可能会出libusb找不到的问题。而在服务器上,就没有这个问题。本总近一周的血泪啊。 CCID(USB Chip/Smart Card Interface Devices-USB芯片智能卡接口设备)标准是由几大国际级IT企业共同制定的一个标准,转载 2012-11-16 16:03:55 · 5705 阅读 · 1 评论 -
core文件调试
core 文件作者:张华2006年8月2日 当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出现的,几乎所有C程序员都出现过的错误就是“段错误”了。也是最难查出问题原因的一个错误。下面我们就针对“段错误”来分析core文件的产生、以及我们如何利用core文件找到出现崩溃的地方。 何谓core文件 当一个程序转载 2013-02-28 14:46:13 · 1141 阅读 · 0 评论 -
在linux下编写动态链接库的步骤
类似Windows系统中的动态链接库,Linux中也有相应的共享库用以支持代码的复用。Windows中为*.dll,而Linux中为*.so,我来详细的告诉你如何在linux下编写动态库,以及如何使用它.在linux下编写动态链接库的步骤: 1.转载 2011-08-03 13:55:54 · 2277 阅读 · 0 评论 -
Linux 环境变量
参考:http://www.51cto.com/art/200512/14259.htm================================Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。常见的环转载 2011-06-29 16:16:00 · 1181 阅读 · 0 评论 -
linux下iso文件的制做和解压
<br />1. 制作ISO镜像文件<br /><br />切换为root账户,执行命令<br /> cp /dev/cdrom XXXXX.iso<br />XXXXX.iso即为需要命名的ISO文件名。执行之后,光盘上所有文件就被映射成XXXXX.iso<br /><br />2. 加载ISO文件<br />在root账户下执行命令<br /> rm -rf /dev/cdrom<br /> ln -s /dev/loop7 /dev/cdrom<br /> losetup /dev/loop7转载 2011-04-12 20:20:00 · 5268 阅读 · 0 评论 -
Linux之CORE文件
在一个程序崩溃时,它一般会在您的主目录下转储一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。如果您根本就不想去调试它,只需要简单地用以下命令将它删除即可: $ rm core 如果不做任何处理,这个core文件会被下一次生成的core文件覆盖。 您也可以用以下命令来阻止系统生成core文件。 $ ulimit -c 0 下面的命原创 2008-04-03 20:37:00 · 2601 阅读 · 0 评论 -
LINUX环境下使用CVS
偶也是首次使用CVS,如有错误,欢迎指正. CVS的源码在ftp://202.113.29.4/pub1/unix/cvs/ 其文档在ftp://202.113.29.4/doc/cvs/ CVS是一个版本控制系统,用于在多人开发环境下的源码的维护.从理论上 CVS可以维护任意的文本文档的开发,而不是局限于程序设计. CVS用copy-midify-merge变化表支持对文件的同时访问和修改. 在转载 2008-04-04 10:30:00 · 5776 阅读 · 0 评论 -
用gdb工具分析core文件
在Unix系统下,应用程序崩溃,一般会产生core文件,如何根据core文件查找问题的所在,并做相应的分析和调试,是非常重要的,本文对此做简单介绍。例如,一个程序cmm_test_tool在运行的时候发生了错误,并生成了一个core文件,如下:-rw-r–r– 1 root cmm_test_tool.c-rw-r–r– 1 root cmm_test_tool.o-rwxr-转载 2008-06-30 14:02:00 · 12290 阅读 · 0 评论 -
gdb基本用法
http://phi.sinica.edu.tw/~tyuan/pcfarm.old/manuals/gnu/gdb_basic.html GDB的使用 当程序出错并产生core 时 快速定位出错函数的办法 gdb 程序名 core文件名(一般是core,也可能是core.xxxx) 调试程序使用的键 r run 运行.程序还没有运行前使用 c cuntinue 继续运行。运行中断后转载 2009-02-24 16:57:00 · 3230 阅读 · 0 评论 -
把可执行程序做成一个服务
把可执行程序做成一个服务 在linux系统启动的时候,我们可以看到很多服务性程序一个接一个的被启动(就是那些后面有一个兰色[OK]的行),这些在后台运行的程序为我们使用计算机起了很重要的作用,以这种方式运行的程序有以下特点: 开机启动,关机停止(废话!关机了还运行啊???) 后台运行 通过service 命令控制或查看对应的程序的运行状态 恩,不错,那怎么把我们自己编制的程序做转载 2009-03-09 14:51:00 · 1392 阅读 · 0 评论 -
Linux守护进程的编程方法
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数就是用守护进程实现的。比如,Internetinetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。 守护进程的编程本身并不复杂,复杂的是各种版本的Uni转载 2009-03-23 09:50:00 · 661 阅读 · 0 评论 -
字节序(大端和小端)
a) Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端,Intel386 体系结构用的是littleendianb) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端,sunSparc体系结构用的是bigendianc) 网络字节序:TCP/IP各层协议将字节序定义为Big-Endian,因此TCP/IP协议中使用转载 2009-08-03 12:27:00 · 1108 阅读 · 0 评论 -
Linux静态/动态链接库的创建和使用
和Windows系统一样Linux也有静态/动态链接库,下面介绍创建和使用方法:假设有下面几个文件:头文件String.h,声明相关函数原形,内容如下:Strlen.c:函数Strlen的实现,获取给定字符串的长度,内容如下:Strlnen.c:函数StrNlen的实现,获取给定字符串的长度,如果输入字符串的长度大于指定的最大长度,则返回最大长度,否者返回字符串的实际长度,内容如下:生成静态库转载 2010-01-22 16:07:00 · 522 阅读 · 0 评论 -
Sparc X86 X64 的区别
SPARC 1987年,SUN 和TI 公司合作开发了RISC 微处理器 ——SPARC 。SPARC微处理器最突出的特点就是它的可扩展性,这是业界出现的第一款有可扩展性功能的微处理。SPARC的推出为SUN赢得了高端微处理器市场的领先地位。 1999年6月,UltraSPARC III首次亮相。它采用先进的0.18微米工艺制造,全部采用64位结构和VIS指令集,时钟频率从600MHz起,可用原创 2009-12-01 11:46:00 · 5501 阅读 · 1 评论 -
ssh连不上问题解决方法
问题:能ping通Linux服务器 但是ssh连不上 解决方法这个问题花了我20分钟去查资料,网上写的解决方法也是五花八门,不过,总算解决了,分享出来和大家一起学习。服务器正常,PING也能PING通。但是就是SSH连不上啊,出现这种问题,最大的可能就是防火墙没有关闭。解决方法:一、开启SSH以root用户登录Linux,打开终端,运行: /etc/init.d/转载 2010-04-13 16:25:00 · 94029 阅读 · 2 评论 -
jiffies溢出与时间先后比较
<br />1. 概述 <br />在Linux内核中,TCP/IP协议栈在很多用到时间比较的地方都使用了jiffies?本文介绍了什么是jiffies,jiffies溢出可能造成的问题,使用time_after等宏来正确地比较时间及其背后的原理。 2. jiffies简介 2.1 时钟中断 <br />在Linux内核中,TCP/IP协议栈在很多用到时间比较的地方都使用了jiffies。 <br />那么jiffies是什么呢?我们知道,操作系统应该能够在将来某个时刻准时调度某个任务,所以需要一种能保证任原创 2010-09-02 10:14:00 · 1208 阅读 · 1 评论 -
getopt函数的功能
<br />头文件: #include<unistd.h><br />定义函数<br />int getopt(int argc,char * const argv[ ],const char * optstring);<br />函数说明 <br />getopt()用来分析命令行参数。参数argc和argv是由main()传递的参数个 数和内容。参数optstring 则代表欲处理的选项字符串。此函数会返回在argv 中下一个的选项字母,此字母会对应参数optstring 中的字母。如果选项字符串里的字转载 2010-09-19 11:11:00 · 853 阅读 · 0 评论 -
Linux下使用minicom进行串口调试(DB9三芯)
这几天在做串口方面的东西,先用minicom试了一下串口,做了一个小结,请大家多多指教.一、使用工具Windows XP 串口调试器 Comport Debuger V1.10Red Hat Linux 9.0 Minicom 2.00.0二、 初始化设置串口调试器 端口号 COM1 波特率 9600 数据位 8 停止位 1 校验位 None 串口状态为打开 线路状态默认 可选按16进制发送和接收Minic转载 2010-09-27 15:38:00 · 2952 阅读 · 1 评论 -
高级路由ip rule
linux 高级路由即基于策略的路由比传统路由在功能上更强大,使用也更灵活,它不仅能够根据目的地址来转发路径而且也能够根据报文大小、应用或ip源地址来选择路由转发路径从而让系统管理员能轻松做到:1、 管制某台计算机的带宽。2、 管制通向某台计算机的带宽3、 帮助你公平地共享带宽4、 保护你的网络不受DOS的攻击5、 保护你的Internet不受到你的客户的攻击6、 把多台服转载 2013-03-25 11:26:57 · 2183 阅读 · 0 评论