Linux
文章平均质量分 65
YAnG_Linux
Make your life a story worth telling
展开
-
嵌入式Linux常用命令
嵌入式Linux常用命令1. 最常用的命令列表下面列出十个在使用linux过程中使用频率最高的命令。这里只作简单介绍,具体用法请参考后面内容。cat,显示文件内容。cd,改变目录路径。cp,复制文件。find,查找文件。grep,搜索、过滤信息。ls,列出目录信息。more,分页显示。转载 2012-02-05 22:03:00 · 1073 阅读 · 0 评论 -
Linux 的多线程编程的高效开发经验
Linux 的多线程编程的高效开发经验 Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多线程编程上的问题,并分别引出相关改善的开发经验,用以避免这些的陷阱。我们希望这些经验可以帮助读者们能更好更快的熟悉转载 2012-04-25 21:16:23 · 817 阅读 · 0 评论 -
Linux C语言退出函数详解
Linux C语言退出函数详解 C标准定义了下面的退出函数: #include void exit(int status); void _Exit(int status); int atexit(void (*function)(void)); 函数功能介绍如下: void exit(int status)转载 2012-04-25 21:27:16 · 7441 阅读 · 0 评论 -
Ubuntu10.04更新源
Ubuntu10.04更新源:deb http://mirrors.163.com/Ubuntu/ lucid main restricted universe multiversedeb http://mirrors.163.com/Ubuntu/ lucid-security main restricted universe multiversedeb http://mirro原创 2012-05-11 21:20:28 · 1197 阅读 · 0 评论 -
嵌入式Linux常用命令
1. 最常用的命令列表下面列出十个在使用linux过程中使用频率最高的命令。这里只作简单介绍,具体用法请参考后面内容。cat,显示文件内容。cd,改变目录路径。cp,复制文件。find,查找文件。grep,搜索、过滤信息。ls,列出目录信息。more,分页显示。rm,删除文件或目录。vi,调用v原创 2012-05-11 21:23:20 · 1003 阅读 · 0 评论 -
Linux 抓取网页方式(curl+wget)
Linux抓取网页,简单方法是直接通过 curl 或 wget 两种命令。curl 和 wget 命令,目前已经支持Linux和Windows平台,后续将介绍。curl 和 wget支持协议curl 支持 http,https,ftp,ftps,scp,telnet等网络协议,详见手册 man curlwget支持 http,https,ftp网络协议,详见手册man wge转载 2012-07-12 14:29:34 · 1921 阅读 · 0 评论 -
Linux 抓取网页实例(shell+awk)
上一篇博客讲了Linux抓取网页的方式,有curl和wget两种方式,这篇将重点讲Linux抓取网页的实例——抓取google play全球12国的游戏TOP排名要抓取google play游戏排名网页,首先需要分析网页的特点和规律:1、google play游戏排名网页,是一个就“总-分”形式,即一页网址显示若干排名(如24个),有若干个这样的网页组成全部游戏的总排名2、每页网址转载 2012-07-12 14:41:06 · 3000 阅读 · 0 评论 -
Linux IP代理筛选系统(shell+proxy)
上一篇博客,介绍了Linux 抓取网页的实例,其中在抓取google play国外网页时,需要用到代理服务器代理的用途其实,除了抓取国外网页需要用到IP代理外,还有很多场景会用到代理:通过代理访问一些国外网站,绕过被某国防火墙过滤掉的网站使用教育网的代理服务器,可以访问到大学或科研院所的内部网站资源利用设置代理,把请求通过代理服务器下载缓存后,再传回本地,提高访问速度黑客发转载 2012-07-12 14:46:49 · 60374 阅读 · 0 评论 -
Linux下的sed和awk
Linux shell编程之awk的用法 1. awk的使用 基本功能:在文件或字符串中基于指定规则浏览和抽取信息。awk抽取信息後,才能进行其他文本操作。完整的awk脚本通常用来格式化文本文件信息。 调用方式: 1. 命令行方式 2. 将所有awk命令插入一个文件,并使awk程序可执行,然后使awk命令解释器作为脚本的首行,以便通过键入脚本名称来调用它。 3.原创 2012-07-16 21:43:26 · 1175 阅读 · 0 评论 -
Linux之awk详解
1.awk简介 2. awk命令格式和选项 2.1. awk的语法有两种形式 2.2. 命令选项3. 模式和操作 3.1. 模式 3.2. 操作4. awk的环境变量 5. awk运算符 6. 记录和域 6.1. 记录 6.2. 域 6.3. 域分隔符7. gawk专用8. POSIX字符集 9. 匹配操作符(~) 10. 比较表达式转载 2012-07-17 22:10:59 · 754 阅读 · 0 评论 -
C里的共同体和结构体的区别
共用体构造数据类型,也叫联合体用途:使几个不同类型的变量共占一段内存(相互覆盖)结构体是一种构造数据类型用途:把不同类型的数据组合成一个整体-------自定义数据结构体变量所占内存长度是各成员占的内存长度的总和。共同体变量所占内存长度是各最长的成员占的内存长度。共同体每次只能存放哪个的一种!!共同体变量中起作用的成员是尊后一次存原创 2012-07-26 22:30:58 · 9356 阅读 · 0 评论 -
C字符串常用函数的实现
总结一下C里面常用的字符串函数的实现代码~//strlenunsigned int strlenght(const char *src){unsigned int len = 0;while(*src++){len++;}return len;} //strcat原创 2012-07-26 21:56:27 · 1034 阅读 · 0 评论 -
linux启动流程
linux启动流程[摘至鸟哥的linux私房菜] 今天看了linux启动相关的内容,把主要的部分记录如下。linux的基础启动流程1. 加载BIOS的硬件信息,并获取第一个启动设备的代号。2. 读取第一个启动设备的MBR的引导加载程序(即lilo、grub、spfdisk等)的启动信息。3. 加载操作系统的核心信息,核心开始解压,并尝试驱动所有的硬件设备。4. 核心执行in原创 2012-07-26 22:27:41 · 1015 阅读 · 0 评论 -
Linux 下使用clock_gettime给程序计时详解
Linux 下使用clock_gettime给程序计时详解,函数的原型如下:int clock_gettime(clockid_t clk_id,struct timespect*tp);clockid_tclk_id用于指定计时时钟的类型,对于我们Programmr以下三种比较常用:CLOCK_REALTIME, a system-wide realtim转载 2012-04-25 21:11:09 · 6128 阅读 · 0 评论 -
Linux下获得CPU利用率和内存使用情况(C实现)
Linux下获得CPU利用率和内存使用情况(C实现) 在 Linux中如果要监视一个进程的运行情况,如查看它的CPU使用效率和内存使用情况,就需要从系统的 /proc目录的读取一些系统信息。然后分析得到结果,特别是在嵌入式中的应用程序这个功能就很重要。本文中的代码是从top命令的源代码分析中获得,并做了部分修改,在FC6+GCC4.1调试通过。从这个工程中我也获得一些感悟。1转载 2012-04-25 21:43:31 · 2361 阅读 · 0 评论 -
Linux 中的计时
简介: 本文描述了Linux系统中一些与计时相关的问题和解决方法。因为在学习和研究的过程中我们经常需要统计程序或程序段的耗时,评估它们的性能好坏。因而这些问题对于我们来说,经常会遇到。掌握多种计时方法对于开发人员或科研工作者来说都是必须掌握的一项技能。本文解决了在Linux计时当中经常会遇到的一些技术问题,相信会对他人的工作有所帮助。实际上,可能还会有其它一些方法可以完成本文讨论的任务。我转载 2012-04-25 21:25:53 · 793 阅读 · 0 评论 -
Linux环境进程间通信系列
Linux环境进程间通信系列(一):管道及有名管道 收藏 在本系列序中作者概述了 linux 进程间通信的几种主要手段。其中管道和有名管道是最早的进程间通信机制之一,管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。 认清管道和有名管道的读写规则是在程序中应用它们的关键,本文在详细讨论了管道和有名管道的通信机制转载 2012-02-05 22:00:10 · 540 阅读 · 0 评论 -
linux下strftime(),va_start(),va_end()函数的用法
1:当无法列出传递函数的所有实参的类型和数目时,可用省略号指定参数表void foo(...);void foo(parm_list,...);2:函数参数的传递原理函数参数是以数据结构:栈的形式存取,从右至左入栈.eg:先介绍一下可变参数表的调用形式以及原理:首先是参数的内存存放格式:参数存放在内存的堆栈段中,在执行函数的时候,从最后一个开始入栈。因此栈底高地址,栈顶低地转载 2012-02-05 22:34:20 · 6108 阅读 · 0 评论 -
Linux--高端内存的映射方式
Linux--高端内存的映射方式Linux -- 高端内存的映射方式 高端内存是指物理地址大于 896M 的内存。对于这样的内存,无法在“内核直接映射空间”进行映射。为什么?因为“内核直接映射空间”最多只能从 3G 到 4G,只能直接映射 1G 物理内存,对于大于 1G 的物理内存,无能为力。实际上,“内核直接映射空间”也达不到转载 2012-02-05 20:50:04 · 619 阅读 · 0 评论 -
Linux 异步IO机制
Linux 异步IO机制Linux的I/O机制经历了一下几个阶段的演进:1. 同步阻塞I/O: 用户进程进行I/O操作,一直阻塞到I/O操作完成为止。2. 同步非阻塞I/O: 用户程序可以通过设置文件描述符的属性O_NONBLOCK,I/O操作可以立即返回,但是并不保证I/O操作成功。3. 异步事件阻塞I/O: 用户进程可以对I/O事件进行阻塞,但是I/O操作并不阻转载 2012-02-05 20:51:14 · 634 阅读 · 0 评论 -
linux中的物理地址和虚拟地址
在支持MMU的32位处理器平台上,Linux系统中的物理存储空间和虚拟存储空间的地址范围分别都是从0x00000000到0xFFFFFFFF,共4GB,但物理存储空间与虚拟存储空间布局完全不同。Linux运行在虚拟存储空间,并负责把系统中实际存在的远小于4GB的物理内存根据不同需求映射到整个4GB的虚拟存储空间中。n物理存储空间布局Linux的物理存储空间布局与处理器相关,详细情况可以转载 2012-02-05 21:41:33 · 1146 阅读 · 0 评论 -
Linux环境进程间通信系列
Linux环境进程间通信系列(二):信号 1. 信号(上) linux 信号机制远远比想象的复杂,本文力争用最短的篇幅,对该机制做了深入细致的分析。读者可以先读一下信号应用实例(在信号(下)中),这样可以对信号发送直到相应的处理函数执行完毕这一过程有个大致的印象。本文尽量给出了较新函数的应用实例,着重说明这些的功能。一、信号及信号来源 信号本质 信号是在软件层次上对转载 2012-02-05 21:44:24 · 672 阅读 · 0 评论 -
Linux下函数调用堆栈帧的详细解释
从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用。当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从堆栈中弹出。尽管堆栈帧结构的引入为在高级语言中实现函数或过程这样的概念提供了直接的硬件支持,但是由于将函数返回地址这样的重要数据保存在程序员可见的堆栈中,因此也给系统安全带来了极大的隐患。历史上最著名的缓冲区溢出攻击可能要算是1988年11月2日的Mo转载 2012-02-05 22:24:12 · 1499 阅读 · 0 评论 -
select, poll和epoll的区别
select()系统调用提供一个机制来实现同步多元I/O:#include #include #include int select (int n,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timeval *timeout);FD_CLR(int fd, fd_set *set);FD转载 2012-02-05 21:03:51 · 626 阅读 · 0 评论 -
Linux协议栈里用C的预处理器形成的链表
利用C的预处理器的顺序Parse特性形成了一个链表。技巧都在IPPROTO_PREVIOUS 宏,引用#define以及#undefine,形成一个链表赋值给inet_protocol_base 。#define IPPROTO_PREVIOUS NULL#ifdef CONFIG_IP_MULTICASTstatic struct inet_protocol igmp_proto转载 2012-03-03 13:46:51 · 662 阅读 · 0 评论 -
Linux信号详解
一 信号的种类可靠信号与不可靠信号, 实时信号与非实时信号可靠信号就是实时信号, 那些从UNIX系统继承过来的信号都是非可靠信号, 表现在信号不支持排队,信号可能会丢失, 比如发送多次相同的信号, 进程只能收到一次. 信号值小于SIGRTMIN的都是非可靠信号.非可靠信号就是非实时信号, 后来, Linux改进了信号机制, 增加了32种新的信号, 这些信号都是可靠信转载 2012-04-25 21:08:41 · 1108 阅读 · 0 评论 -
关于linux 的 spinlock
关于linux 的 spinlock 互斥手段的选择,不是根据临界区的大小,而是根据临界区的性质,以及 有哪些部分的代码,即哪些内核执行路径来争夺。 从严格意义上说,semaphore和spinlock_XXX属于不同层次的互斥手段,前者的 实现有赖于后者,这有点象HTTP和TCP的关系,都是协议,但层次是不同的。 先说semaphore,它是进程级的,用于多个进程之转载 2012-04-25 21:37:18 · 833 阅读 · 0 评论 -
linux fork函数的精辟解说
#include ;#include ;main (){ pid_t pid; pid=fork(); if (pid < 0) printf("error in fork!"); else if (pid == 0)转载 2012-04-25 21:14:47 · 809 阅读 · 0 评论