Linux
文章平均质量分 78
超越梦想
这个作者很懒,什么都没留下…
展开
-
Linux 中十个权限字符
-就是普通的文件,d表示是目录, c表示是字符设备(在linux/unix,所有的设备都是文件),b是块设备文件, s是socket文件,等等。下面给出所有文件类型标识: `-' regular file `b' block special file `c' character specia转载 2012-07-05 14:30:03 · 970 阅读 · 0 评论 -
读取PCI配置空间数据并操作其映射的物理内存
PC机在启动的时候,都会看到一个PCI设备清单,可以看到机器中的所有PCI设备,其实搜索PCI设备的程序并不难编,本文通过一个实例说明如何遍历PCI设备。1、了解PCI设备 PCI的含义是外设部件互连(Peripheral Component Interconnect),PCI局部总线(Local Bus)是1991年由Intel定义的,现在PCI局部总线已经成为了PC机中不可转载 2012-08-01 11:42:08 · 4418 阅读 · 0 评论 -
Linux 共享库配置 /etc/ld.so.conf
Linux 系统上有两类根本不同的 Linux 可执行程序。第一类是静态链接的可执行程序。静态可执行程序包含执行所需的所有函数 — 换句话说,它们是“完整的”。因为这一原因,静态可执行程序不依赖任何外部库就可以运行。第二类是动态链接的可执行程序。静态可执行程序与动态可执行程序比较我们可以用 ldd 命令来确定某一特定可执行程序是否为静态链接的:# ldd /sbin/slnnot a转载 2012-08-31 11:03:54 · 1252 阅读 · 0 评论 -
Linux errno的使用说明
当linux中的C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因,在实际编程中用这一招解决了不少原本看来莫名其妙的问题。但是errno是一个数字,代表的具体含义还要到errno.h中去阅读宏定义,而每次查阅是一件很繁琐的事情。有下面几种方法可以方便的得到错误信息。void perror(转载 2012-10-18 09:07:04 · 966 阅读 · 0 评论 -
Linux 动态获取CPU利用率
#include #include #include #define ONE_MB (1024 * 1024)int cpu_num;int is_total = 0;struct cpuinfo{ char name[20]; unsigned int user; unsigned int nice; unsigned int system; un转载 2012-11-30 10:29:28 · 1393 阅读 · 0 评论 -
Linux的几个常用小功能
Ethtool是用于查询及设置网卡参数的命令。ethtool ethX //查询ethX网口基本设置ethtool –h //显示ethtool的命令帮助(help)ethtool –i ethX //查询ethX网口的相关信息ethtool –d ethX //查询ethX网口注册性信息ethtool –r ethX //重置ethX网口到自适应模式ethtool –S原创 2012-11-14 17:54:12 · 688 阅读 · 0 评论 -
Linux tcpdump命令详解
第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host。第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,转载 2013-03-12 14:29:03 · 827 阅读 · 0 评论 -
之前写的SSL的性能测试程序
client.c#include #include #include #include #include #include #include #include #include #include #include #include #define MAXBUF 1024#define MAX_THREADS 100#define SUBTHREADNUM 2i原创 2013-03-14 11:13:51 · 2317 阅读 · 0 评论 -
Linux CGI 上传程序
#include #include #include #define DEAL_BUF_LEN 1024#define SIGN_CODE_LEN 100#define FILE_NAME_LEN 64#define FILE_SAVE_DIR "/tmp"enum{ STATE_START, STATE_GET_SIGN_CODE, STATE_GET_FILE_N转载 2013-03-14 10:32:16 · 1116 阅读 · 0 评论 -
Linux 线程操作函数总结
线程操作函数总结1、线程创建函数int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, void *(*start_rtn)(void), void *restrict arg); 返回值:若是成功建立线程返回0,否则返回错误的编号 形 参:原创 2012-07-31 17:35:23 · 5207 阅读 · 0 评论 -
Linux 获取并分析程序崩溃时的调用堆栈
下面是一个小例子,说明了程序出现段错误时,如何打印程序的堆栈信息。#include#include#include#include static void WidebrightSegvHandler(int signum){ void *array[10]; size_t size; char **strings; size_t i, j; si转载 2013-04-17 10:47:56 · 10131 阅读 · 0 评论 -
Linux 信号列表
我们运行如下命令,可看到Linux支持的信号列表:$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV转载 2013-04-17 11:38:32 · 853 阅读 · 0 评论 -
Linux守护进程列表
amd:自动安装NFS(网络文件系统)守侯进程apmd:高级电源治理Arpwatch:记录日志并构建一个在LAN接口上看到的以太网地址和ip地址对数据库Autofs:自动安装治理进程automount,与NFS相关,依靠于NISBootparamd:引导参数服务器,为LAN上的无盘工作站提供引导所需的相关信息crond:linux下的计划任务Dhcpd:启动一个DHCP(动转载 2013-04-18 10:58:35 · 942 阅读 · 0 评论 -
Linux 守护进程的原理与实现
一、守护进程概述在linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进程。为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。 守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。二、守护进程简介转载 2013-04-18 10:41:38 · 6583 阅读 · 0 评论 -
Linux 信号处理机制中涉及到的相关几个函数解释
理解两个概念:信号阻塞和信号忽略信号阻塞:有时候不希望在接到信号时就立即停止当前执行,去处理信号,同时也不希望忽略该信号,而是延时一段时间去调用信号处理函数。这种情况是通过阻塞信号实现的。信号忽略:当进程忽略一个信号时,信号会被传递出去但进程会将信号丢弃。信号处理的相关函数void (*signal(int signum,void(* handler)(int)))(int);原创 2013-04-19 18:53:05 · 966 阅读 · 0 评论 -
编译自己的程序到openwrt固件中去
我想你大概已经熟悉了在openwrt下方便的安装程序了,即opkg install这个命令已经熟悉了。很多时候我们只会找网上的ipk的包下载下来安装,却不知到这个包到底有什么神秘的地方,如何才能将我们自己写的一个程序编译成一个ipkg的包呢,或者将linux平台下的其他软件编译成一个ipkg的包呢?再或者,如何将我们的程序编译进固件的镜像文件中去呢,这篇日志将会给大家一个解答。首先说说ipk包转载 2013-05-09 20:24:24 · 12847 阅读 · 1 评论 -
Linux 中的 /etc/group 和 /etc/passwd 简介
具有某种共同特征的用户集合起来就是用户组(Group)。用户组(Group)配置文件主要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件;在本标题下,您还能了解到什么是GID。/etc/group 简介。用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容转载 2012-08-16 09:13:19 · 3941 阅读 · 0 评论 -
Linux读写物理内存
一、基础知识1.打开设备文件: mem是一个字符设备文件,是计算机主存的一个映像。通常只有root用户对其有读写权限。因此只有root用户能进行这些操作。 如果要打开设备文件/dev/mem,需要系统调用open()函数,作用是打开一个文件或设备,其函数原型为: int open(const char *path, int flags); 返回值:如果操作成功则转载 2012-07-31 16:42:59 · 10349 阅读 · 1 评论 -
Linux下的压缩和解压缩
TAR命令[root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令(create 的意思);-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件!特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。-z :是否同时具有 gzip转载 2012-07-05 14:43:18 · 768 阅读 · 0 评论 -
Linux之Sed命令详解
1. Sed简介sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下转载 2012-07-05 15:33:45 · 1521 阅读 · 0 评论 -
Linux 之Cut命令详解
cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。(1)其语法格式为:cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file]使用说明cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 File 参转载 2012-07-05 15:03:30 · 42616 阅读 · 3 评论 -
Linux之Find命令详解
Linux查找文件使用find,功能强大,快速便捷。查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查找关键字 -print Find命令详解:·find path -option [ -print ] [ -exec -ok command ] {} \;#-print 将查找到的文件输出到标准输出转载 2012-07-05 11:17:08 · 699 阅读 · 0 评论 -
Linux下Samba的配置
前言:为了实现windows 和 Linux以及其他操作系统之间的资源共享,软件商推出nfs 和samba两种解决方式。由于市场上缺乏象pc-nfs那样的客户端工具,使得Linux和windows的资源共享变得复杂。Samba的出现解决了 这一问题,它以其简洁、实用、灵活配置的特点受到越来越多人们的广泛关注。Windows利用SMB协议来实现操作系统间文件和打印机共享,而Samba本身具备SMB协转载 2012-07-05 14:27:01 · 535 阅读 · 0 评论 -
Linux之Whereis 命令详解
whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置whereis命令的语法:whereis [-bmsu] [BMS 目录名 -f ] 文件名whereis命令的各选项含义如下:-b 定位可执行文件。-m 定位帮助文件。-s 定位源代码文件。-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。-B 指定搜索可转载 2012-07-05 15:51:40 · 1781 阅读 · 0 评论 -
Linux中xargs的用法
xargs大多数 Linux 命令都会产生输出:文件列表、字符串列表等。但如果要使用其他某个命令并将前一个命令的输出作为参数该怎么办?例如,file 命令显示文件类型(可执行文件、ascii 文本等);你能处理输出,使其仅显示文件名,目前你希望将这些名称传递给 ls -l 命令以查看时间戳记。xargs 命令就是用来完成此项工作的。他允许你对输出执行其他某些命令。记住下面这个来自于第 1 部分转载 2012-07-05 16:37:32 · 844 阅读 · 0 评论 -
PCI配置空间简介
一、PCI配置空间简介PCI有三个相互独立的物理地址空间:设备存储器地址空间、I/O地址空间和配置空间。配置空间是PCI所特有的一个物理空间。由于PCI支持设备即插即用,所以PCI设备不占用固定的内存地址空间或I/O地址空间,而是由操作系统决定其映射的基址。系统加电时,BIOS检测PCI总线,确定所有连接在PCI总线上的设备以及它们的配置要求,并进行系统配置。所以,所有的PCI设备必须实现转载 2012-08-01 12:29:19 · 19182 阅读 · 0 评论 -
Linux线程属性总结
线程属性标识符:pthread_attr_t 包含在 pthread.h 头文件中。//线程属性结构如下:typedef struct{ int etachstate; //线程的分离状态 int schedpolicy; //线程调度策略 structsched_param原创 2012-08-08 11:05:50 · 14037 阅读 · 3 评论 -
VI 命令总结
一、保存与退出离开VIZZ 保存并离开:q 不保存退出:w 保存不退出:wq 保存且退出:q! 不保存强制退出:wq! 强制保存退出:w 将当前文件内容保存到制定的newfile中:w! 将当前文件保存到newfile中,如果newfile已经存在,则覆盖原有内容:x 保存并离开二、代码维护命令set nu 添加行号显示set nonu 取消行号显示set autoinde原创 2012-08-08 10:06:08 · 679 阅读 · 0 评论 -
Linux 线程属性函数总结
1、初始化一个线程对象的属性int pthread_attr_init(pthread_attr_t *attr); 返回值:若是成功返回0,否则返回错误的编号 形 参: attr 指向一个线程属性的指针 说 明:Posix线程中的线程属性pthread_attr_t主要包括scope属性、detach属性、堆栈地址、堆栈大小、优先原创 2012-08-08 15:54:40 · 8376 阅读 · 0 评论 -
Linux 线程同步的三种方法
线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。一、互斥锁(mutex)通过锁机制实现线程间的同步。初始化锁。在Linux下,线程的互斥量数据类型是pthread_mutex_t。在使用前,要对它进行初始化。静态分配:pthread_mutex_t mutex = PTHREA转载 2012-08-08 17:20:56 · 60159 阅读 · 3 评论 -
Linux 下模拟Ping命令的 C 实现
/******************************************************** * IP报头格式数据结构定义在中 * * ICMP数据结构定义在中 * * 套接字地址数据结构定义在中 * ********************************************************/#include #include #inc转载 2012-08-15 10:59:56 · 963 阅读 · 0 评论 -
Linux Socket 编程小例
tcpserver.c/** * Tcp Server program, It is a simple example only. * when client connect to server, send a welcome message and timestamp in server. */#include #include #include #include #incl转载 2012-08-15 10:53:49 · 790 阅读 · 0 评论 -
Linux中阻塞函数的超时处理
由于gethostbyname是阻塞的,且不可重入的,超时时间过程,人为设置超时时间可用如上方法。原创 2015-07-17 10:25:13 · 3172 阅读 · 1 评论