Linux基础
文章平均质量分 83
zhaoxiaoqiang10
这个作者很懒,什么都没留下…
展开
-
vim配置文件(带中文注释)
vim简介Vim(Vi Improved) 是一个类似于vi 的文本编辑器,在Vi的基础上增加了很多新的特性和功能。Vim以其强大的功能和可定制能力,成为Linux/Unix环境下开源的最重要的编辑器之一(另一个是 Emacs),被众多开发者所喜爱。笔者此时所用的是最新的7.1版本。与大部分其它编辑器不同,进入 Vim 后,缺省状态下键入的字符并不会插入到所编辑的文件之中。转载 2014-04-23 16:05:56 · 3381 阅读 · 0 评论 -
this module
一直都在耿耿于怀,这个THIS_MODULE到底是个什么玩意,linux内核中无处不在的东西。今天上网搜了一下,算是基本明白了。网上牛人写的已经比较详细,另外目前暂时没有时间往更深层次分析,所以直接贴过来得了。。。 转帖网址:http://blog.csdn.net/a954423389/archive/2010/12/27/6101369.aspx 源码位置:@ ke转载 2017-04-27 15:05:02 · 393 阅读 · 0 评论 -
adb logcat 详解
一、logcat命令介绍1.android log系统 2.logcat介绍logcat是android中的一个命令行工具,可以用于得到程序的log信息log类是一个日志类,可以在代码中使用logcat打印出消息常见的日志纪录方法包括:方法描述v(String,String) (verv转载 2017-04-10 10:42:27 · 8348 阅读 · 0 评论 -
Linux 进程控制——等待队列详解(二)
一、什么是睡眠 对于一个进程"睡眠"意味着什么? 当一个进程被置为睡眠, 它被标识为处于一个特殊的状态并且从调度器的运行队列中去除. 直到发生某些事情改变了那个状态, 这个进程将不被在任何 CPU 上调度, 并且, 因此, 将不会运行. 一个睡着的进程已被搁置到系统的一边, 等待以后发生事件. LDD3说得很玄乎,睡眠是“自愿调度”,其实就是将当前进程的状态设置转载 2017-03-13 15:35:31 · 960 阅读 · 0 评论 -
linux中的阻塞机制及等待队列
一、阻塞与非阻塞阻塞调用是没有获得资源则挂起进程,被挂起的进程进入休眠状态,调用的函数只有在得到结果之后才返回,进程继续。非阻塞是不能进行设备操作时不挂起,或返回,或反复查询,直到可以进行操作为止,被调用的函数不会阻塞当前进程,而会立刻返回。对象是否处于阻塞模式和函数是不是阻塞调用有很强的相关性,但并不是一一对应的。阻塞对象上可以有非阻塞的调用方式,我们可以通过一定的API转载 2017-03-13 15:34:15 · 1670 阅读 · 0 评论 -
工作队列解析
工作项、工作队列和工作者线程把推后执行的任务叫做工作(work),描述它的数据结构为work_struct ,这些工作以队列结构组织成工作队列(workqueue),其数据结构为workqueue_struct ,而工作线程就是负责执行工作队列中的工作。系统默认的工作者线程为events。工作队列(work queue)是另外一种将工作推后执行的形式。工作队列可以把工作推后,交由一转载 2017-03-07 13:57:36 · 739 阅读 · 0 评论 -
使用工作队列
我们先来看一下默认的events任务队列,然后再看看创建新的工作者线程。 1.创建推后的工作 首先要做的是实际创建一些需要推后完成的工作。可以通过DECLARE_WORK在编译时静态地创建该结构体:在中#define DECLARE_WORK(n, f) / struct work_struct n = __转载 2017-03-06 15:17:25 · 503 阅读 · 0 评论 -
终于理解list_entry和list_for_each_entry
内核中经常采用链表来管理对象,先看一下内核中对链表的定义 struct list_head { struct list_head *next, *prev; }; 一般将该数据结构嵌入到其他的数据结构中,从而使得内核可以通过链表的方式管理新的数据结构,看一个例子: struct example { mem转载 2017-02-25 14:52:45 · 7572 阅读 · 1 评论 -
例解make命令、Makefile
例解 Linux 下 Make 命令Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一。管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题。本文我们将用一些实例来讨论 make 命令背后的工作机制。Make 如何工作的对于不知道背后机理的人来说,make 命令像命令行参数一样接收目标。这些目标通转载 2017-02-10 15:13:44 · 723 阅读 · 0 评论 -
Ubuntu 创建开机自启动脚本的方法
http://www.linuxidc.com/Linux/2011-12/48922.htm1) 将你的启动脚本复制到 /etc/init.d目录下以下假设你的脚本文件名为 test。2) 设置脚本文件的权限$ sudo chmod 755 /etc/init.d/test3) 执行如下命令将脚本放到启动脚本中去:$ cd转载 2017-02-08 14:51:45 · 528 阅读 · 0 评论 -
makefile经典实例
makefile实例【转载,非常不错的一篇博文,循序渐进,简单易懂】假设我们有下面这样的一个程序,源代码如下: /* main.c */ #include #include int main(int argc,char **argv) { mytool1_print("hello"); mytool2_print("hello"); }转载 2017-02-08 14:26:06 · 408 阅读 · 0 评论 -
c语言调用Linux的命令--很有效果
system(" "); popenexec 系列execl等等类似的函数都可以执行任何shell下的命令。#include intmain(){system("ls -l");return 1;}或者int execl(const char *path, const char *arg, ...);int execl转载 2017-02-08 14:06:17 · 14455 阅读 · 0 评论 -
OpenSSH的安装和使用
OpenSSH的安装和使用由于许多网络服务(包括telnet、ftp、http、rsh、rlogin以及其他服务)都可以被电子窃听,我们必须采用安全的方式进行文件移动、权限设置、shell脚本的运行等等。 为了防止攻击者窃取每天的网络数据,我们可以安装使用Secure Shell(ssh)。这里就向大家具体介绍如何安装和使用ssh服务器和客户端程序。这转载 2017-02-08 11:42:16 · 38120 阅读 · 0 评论 -
Linux上创建共享库so
在Linux上用C创建共享库so1、创建math1.c,在命令行中输入:nano math1. cint add(int x, int y){return x+y;}2、编译生成共享库libmath1.sogcc -fPIC -shared -olibmath1.so math1.c3、创建测试程序testmath.c,在命令行中输入:nano testma转载 2017-02-08 11:34:15 · 430 阅读 · 0 评论 -
Libudev和sysfs指南
Libudev和sysfs指南 这是一篇译文,原文在:http://blog.csdn.net/fjb2080/article/details/7528894 在unix和类unix系统中,硬件设备可以通过/dev目录下的特殊文件进行访问,这些文件又被称为设备文件或设备节点。通过操作普通文件一样读写这些文件可以利用内核设备驱动程序与硬件设备通信,而这转载 2017-02-08 11:28:07 · 6031 阅读 · 0 评论 -
linux驱动request_threaded_irq
内核开始支持中断线程(threaded interrupt handler),使用接口request_threaded_irq;原来的request_irq也继续支持。使用时可根据实际情况选择合适的接口,可使用request_threaded_irq的地方没必要继续使用request_irq加tasklet/workqueue或者内核线程的方式;如果中断处理简单时也不要执着使用request_th转载 2017-06-26 11:28:07 · 1766 阅读 · 0 评论