Linux相关
zzulp
这个作者很懒,什么都没留下…
展开
-
一些Linux命令
man信息直接转成pdf 想把某一个命令的man信息全部抓下来并转成pdf?代码:man -t sort | ps2pdf - > man_sort.pdf 显示实时网络流量的命令:watch -n 1 "/sbin/ifconfig eth0 | grep bytes" 如何配置vim中语法高亮的颜色首先,在vim的命令行中输入:hi,选出你自转载 2009-04-17 18:49:00 · 601 阅读 · 0 评论 -
Linu下查看进程打开的文件与打开文件的进程
有许多情况下,我们需要查看一个进程当前打开了哪些文件,反过来我们也希望知道某一个文件正在被哪些进程所读写。在Linux下有许多有用的工具可以帮我们完成这两个工作,下面介绍这两个工具:lsof与fuer。 fuser find files or sockets' user 格式:fuser [选项] fname -k 如果找到打开文件的进程,则发送SIGKILL杀死此进程,通过-i选项,可以为用户提供交互选择 -signal 用户可以指定使用何种信号去kill进程,如果-k参数原创 2011-01-26 22:40:00 · 2166 阅读 · 0 评论 -
Linux错误号(errno)对应错误一览
<br />可以在SHELL下通过perror这个命令来显示,对应的程序API也有perror这个函数。<br />i=1;while [ $i -le 152 ]; do perror $i; let i=i+1;done;<br />我所在内核只定义到152,如下表所示:<br />OS error code 1: Operation not permitted<br />OS error code 2: No such file or director原创 2011-01-28 14:48:00 · 14968 阅读 · 0 评论 -
Linux下网络流量实时监控
工具1 sar sar命令包含在sysstat工具包中,提供系统的众多统计数据。其在不同的系统上命令有些差异,这里只说其在网络数据监控上的参数。 sar -n [DEV|EDEV|SOCK] interval cnt 某些系统提供的sar支持基于网络接口的数据统计,这个命令可以查看设备上每秒收发包的个数和流量 sar -n UDP|TCP|SOCK interval cnt 某些系统提供的sar支持基于协议的数据统计,这个命令可以查看特定协议的收发包、出错数据等原创 2011-03-08 15:58:00 · 20723 阅读 · 1 评论 -
Linux下的高精度时间获得与定时器
本文主要介绍Linux下高精度时间函数,及相关的具有超时机制的函数,对定时器也进行简单的介绍。 在linux下通常可用的精度最高的时间接口是gettimeofday,它返回一个timeval结构,其精度为us,即10-6秒,大多数情况这个精度已经够用了。不过有时为了更高的精度,比如纳秒级的时间精度,我们需求探索Linux为我们提供的时间调用。 首先介绍struct timespec结构,这个结构体有两个成员,一个是秒,一个是纳秒。 在librt库中,提供了高精度的时间函数,分别原创 2011-04-01 10:34:00 · 2297 阅读 · 0 评论 -
GCC版本问题引发的floating point exception
<br />http://fhqdddddd.blog.163.com/blog/static/18699154201002683914623/<br /> <br />现象:<br />同一个程序在一台高版本Linux上运行时没有问题,而在另一台低版本机器上运行报Floating Point Exception时,那么这极有可能是由高版本gcc链接造成的。<br /> <br />高版本的gcc在链接时采用了新的哈希技术来提高动态链接的速度,这在低版本中是不支持的。因此会发生这个错误。<br />解决方案转载 2011-05-30 13:07:00 · 4614 阅读 · 1 评论 -
Linux 动态库剖析
原文链接:http://www.ibm.com/developerworks/cn/linux/l-dynamic-libraries/库用于将相似函数打包在一个单元中。然后这些单元就可为其他开发人员所共享,并因此有了模块化编程这种说法 — 即,从模块中构建程序。Linu转载 2011-08-01 10:11:52 · 924 阅读 · 0 评论 -
Linux 技巧:让进程在后台可靠运行的几种方法
原文地址:http://www.ibm.com/developerworks/cn/linux/l-cn-nohup/index.html我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳转载 2011-07-29 18:56:19 · 775 阅读 · 0 评论 -
Linux on Power 上的调试工具和技术
原文地址:http://www.ibm.com/developerworks/cn/linux/l-pow-debug简介调试程序有很多方法,例如向屏幕上打印消息,使用调试器,或者只需仔细考虑程序如何运行,并对问题进行有根有据的猜测。在修复 b转载 2011-08-10 10:18:27 · 879 阅读 · 0 评论 -
链接错误问题原因定位
晚上快下班的时候,突然同事发邮件说使用的一个开源软件怎么编译都编译不过,报undefined reference to '' ld return error什么的,晚上只好加班帮同事解决一下。 看了下Makefile,幸好只有几行,使用了-lavcodec -lavformat -lavutil,运行make后报错误,说找不到avcodec_open2。 首先想到的是lib的导原创 2012-02-07 21:19:08 · 2100 阅读 · 0 评论 -
在linux下使用debugfs恢复rm删除的文件
原理主要是删除的文件并没有实际上从硬盘上摸去,只是inode索引删除了相关的信息,因此只要找到刚删除文件的block上,就可以恢复已经删除的文件。 以下方法在ext3的文件系统上测试通过,ext2的没有测试过。假设删除的文件在dir下面,位于/dev/sda5上。 主要借助debugfs 1 运行debugfs,进入调度模式 2 执行open /dev/原创 2012-04-16 19:09:39 · 46501 阅读 · 6 评论 -
你应该知道的16个Linux服务器监控命令
http://h30565.www3.hp.com/t5/Feature-Articles/16-Linux-Server-Monitoring-Commands-You-Really-Need-To-Know/ba-p/1936在不同的Linux发行版中,会有不同的GUI程序可以显示各种系统信息,比如SUSE Linux发行版中,就有非常棒的图形化的配置和管理工具YaST,KDE桌面转载 2012-12-24 22:41:53 · 1415 阅读 · 0 评论 -
grep sed awk find的用法归纳
0 正则表达式的基础^ 行首标识$ 篇尾标识或行尾标识. 代表任意一个字符? 代表前趋字符的一次出现* 代表0个或多个前趋字符出现[1-9] 代表一个属于1-9的字符[^1-9] 代表一个不包含于1-9的字符//>原创 2009-09-08 19:34:00 · 5846 阅读 · 0 评论 -
跟踪程序在Linux下的执行的函数调用
对于一个程序,通常我们可以使用gdb之类的调用工具设定断点进行调用。然而Linux系统提供了众多的跟踪工具,可以让我们在没有源代码的情况下跟踪程序都执行了哪些系统调用、动态库调用、栈情况以及接收信号等。可以让我们不停止程序来观察程序的执行流程。 strace 显示执行程序的系统调用及接收信号情况 strace [strace 选项] 可执行程序 可执行程序参数 选项说明: -o filename 将输出写到文件filename中 -f 跟踪子进程原创 2011-01-26 15:59:00 · 4603 阅读 · 0 评论 -
Linux下静态链接和动态链接库的区别和创建
来源:http://blog.csdn.net/lwhsyit<br /><br />一、引言<br /><br /> 通常情况下,对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file)。程序在运行时,与函数库再无瓜葛。这些函数库被成为静态库(static libaray),通常文件名为“libxxx.a”的形式。转载 2010-11-09 18:00:00 · 1257 阅读 · 0 评论 -
GCC基础
来源:http://doc.chinaunix.net/linux/201006/682749.shtml本文只是在源文的基础上进行格式调整和重编辑The History of GCC -------------------------------------------------------------------------------- 1984年,Richard Stallman发起了自由软件运动,GNU (Gnu's Not Unix)项目应运而生,3年后,最初版的GCC横空出世,成为第转载 2010-11-09 17:10:00 · 789 阅读 · 0 评论 -
NETLINK usage
Netlink 是一种特殊的 socket,它是 Linux 所特有的,类似于 BSD 中的AF_ROUTE但又远比它的功能强大,目前在最新的 Linux 内核(2.6.14)中使用netlink 进行应用与内核通信的应用很多,包括:路由daemon(NETLINK_ROUTE),1-wire 子系统(NETLINK_W1),用户态 socket协议(NETLINK_USERSOCK转载 2009-04-22 16:31:00 · 889 阅读 · 0 评论 -
Linux下参数处理函数--getopt函数族
Linux下开发C程序,甚至是GUI程序,都可能需要处理复杂的命令行参数。健全、可靠的复杂命令行参数处理机制,可使程序方便使用,也更显专业。Linux下几乎所有的命令都提供了参数处理机制,包括短选项和长选项。 POSIX标准中对程序名、参数作了如下相关约定: * 程序名不宜少于2个字符且不多于9个字符; * 程序名应只包含小写字母和阿拉伯数字; * 选项名应该是单字符活单数转载 2009-07-14 17:52:00 · 1673 阅读 · 0 评论 -
Linux配置内核
1 下载源代码,解压到/usr/src/linux-version 为此目录建立一个软链接 ln -s /usr/src/linux-version /usr/src/linux2 下载需要打上内核补丁,放在源代码目录下,在终端中转到源代码目录,为内核打上新的补丁 patch -p13 配置内核 执行make menuconfig 在出现的配置界面中,选取需要的配原创 2009-05-22 15:31:00 · 632 阅读 · 0 评论 -
Linux中socket的构造过程
grep -irn "int socket" path_4_linux_src 或者 souceinsight 类似的工具查看 看了部分,发现bind ---> sys_bind 搜索如下 * * AUTHOR: anhk * DATE: 2007-5-23 * * 这是学习网络部分的笔记, 比较粗糙, 并且把一些引用计数代码去掉了. * 还有部分加锁的代码 * sys_socketc转载 2009-09-03 09:19:00 · 1178 阅读 · 0 评论 -
Linux内联汇编
如果您是 Linux 内核的开发人员,您会发现自己经常要对与体系结构高度相关的功能进行编码或优化代码路径。您很可能是通过将汇编语言指令插入到 C 语句的中间(又称为内联汇编的一种方法)来执行这些任务的。让我们看一下 Linux 中内联汇编的特定用法。(我们将讨论限制在 IA32 汇编。)让我们首先看一下 Linux 中使用的基本汇编程序语法。GCC(用于 Linux 的 GNU C 编译器转载 2009-12-16 23:54:00 · 848 阅读 · 0 评论 -
Fedora 有用更新源
添加上海交大的yum源 gedit /etc/yum.repos.d/sjtu.repo 在打开的文件中添加以下内容: [Fedora-ftp.sjtu.edu.cn] name=Fedora 12 - i386 baseurl=http://ftp.sjtu.edu.cn/fedora/linux/releases/12/Fedora/i386/os/ enabled=1 gpgcheck=0转载 2010-01-12 13:49:00 · 3000 阅读 · 0 评论 -
配置开发支持高并发TCP连接的Linux应用程序全攻略
1、修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制: [speng@as4 ~]$ ulimi转载 2010-03-29 11:13:00 · 585 阅读 · 0 评论 -
一篇简化的Linux启动过程说明
启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。启动第二步--读取MBR众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是M转载 2010-04-17 22:08:00 · 1233 阅读 · 0 评论 -
Linux系统调用汇总
对于不同的Linux内核版本,此列表可能不同,基于后向兼容性,随着Linux内核版本号的增加,此列表可能会变长。此列表为2.6.24-16内核版本于/usr/include/asm/unistd_32.h中列出的324个系统调用号。 #define __NR_restart_syscall 0#define __NR_exit 1#define __NR_fork原创 2010-05-17 17:58:00 · 2197 阅读 · 0 评论 -
Linux下的优秀开源软件
1 Scilab 现在由 Scilab 协会维护的开放源代码的科学计算软件。它具有矩阵运算、数值运算、信号处理、程序设计等功能,目前已被广泛应用于教育、科研和工业。你可以用它来替代收费的matlab。http://www.scilab.org/ 2 Stellarium 是一款星象观测模拟软件。目前全球有许多天文爱好者和教授天文学的教师们在使用它。其界面完全 3D 化原创 2010-05-20 09:44:00 · 1654 阅读 · 0 评论 -
Linux下select的使用小记
<br />今天使用select编程,问题很多,以前真的没有仔细研究过。<br />出现了以下几个问题<br />1 recvfrom在接收时,提供给系统调用的最后一个参数,客户端的地址结构,其长度必须进行初始化,如果为0,则不能接收数据。<br />2 select的第一个参数为所有监视的文件描述符的最大值+1,而不是监视的文件描述符个数+1。<br />3 不要监视那些经常可用的文件描述符,如果这样做,select会一直返回。<br />4 在select返回后,如果监视的文件描述符原创 2010-05-31 18:06:00 · 3706 阅读 · 0 评论 -
进程段错误问题查找
近期接手了一个服务器项目,服务器程序已经上线将近2个月,期间有过几次崩溃,崩溃时没有生成coredump,从服务器的进程的监管deamon进程的反应来看,服务器进程是收到了SIGSEGV导致崩溃。而日志输出上仅仅能查到崩溃位置位于代码中使用的公司的基础代码库中,而这个库已经被证明是正确的。 由于崩溃问题并不严重,曾经负责调查的人认为是服务器程序收到了异常报文,这个问题也随着这位同事的离职而不了了之。 在我接手之后,由于需要增加功能,就进行了后续开发,开发结束在内网测试没有任何原创 2010-12-10 22:41:00 · 2596 阅读 · 0 评论 -
Linux下tcpdump使用
<br />虽然man上写的很详细,但有时用的时候可能并不想去man,还是写些笔记,方便以后使用。<br />基本命令格式如下tcpdump [- 包显示格式参数] [- 捕获控制参数] '过滤匹配条件' <br />tcpdump可以以一定的显示格式来打印满足过滤条件的包信息,包的来源可以是网络接口,也可以是文件。<br /> <br />通常仅仅键入tcpdump就可以开始包的捕获,但这时由于缺少捕获条件,你想要的包会淹没在一大批无用的数据中,而且缺少显示格式参数的控制,tcpdump只会打印IP包头信原创 2010-12-28 15:53:00 · 2217 阅读 · 0 评论 -
Linux部分命令使用汇总
1 chkconfigLinux的服务管理器,拥有添加、删除、查看、设置服务的运行状态等功能chkconfig --list 列出所有服务的状态chkconfig --add name 添加服务chkconfig原创 2011-07-27 09:44:26 · 857 阅读 · 0 评论