Linux
文章平均质量分 79
lishuhuakai
这个作者很懒,什么都没留下…
展开
-
关于linux内核
内核是一个让人既爱又恨的东西.读书的时候,我就一直就想读一下内核的源码,但是那个时候真的只能说基础薄弱,而且从来没有接触过那么大的一个项目,不知从何入手,所以这个计划就一直被搁浅.我曾经跟着公开课鼓捣过好几份内核源码,但是那些源码只是玩具一样的东西,和真实环境中使用的内核不可同日而语.不得不说,不能深入虎穴,实乃人生一大憾事.出学校的第一份工作和网络有着千丝万缕的关系.虽然第一年做的东西和内核不太相关,可是越到后面,越发现,如果不能正确理解内核,我很难做好手中这份工作,毕竟,一个做网络的人,怎么能对内核原创 2021-03-14 11:11:00 · 515 阅读 · 7 评论 -
ubuntu点滴
1.Ubuntu下如何使得alias命令在每一个打开的tty中都有效?直接将命令添加到$HOME/.bashrc文件之中。2.如何将当前路径加入PATH下?在宿主目录下的.profile文件最下面,加入: PATH=.:$PATH export PATH然后执行一下该文件即可。3.如何安装chrome?从官网下载文件,然后执行命令: sudo dpkg –i xxxxxx表示文件的名称。4.关原创 2015-10-06 10:37:40 · 1486 阅读 · 0 评论 -
使用ioctl函数打开tun设备时遇到的问题--operation not permmitted!
最近在写一些很重要的东西,但是流年不利,总是遇到很多很多问题,这不,上篇文章刚解决了如何安装tun模块的问题.还没有得瑟多久呢,立马踩到坑了,我用c编码时,试图打开虚拟的tun设备的时候老是出现这个玩意.确定你的设备存在tun模块之后,你用下面的命令建立一个设备文件:mknod /dev/net/tun c 10 200参数c表示是字符设备,10和200分别是主设备号和次设备号.接下来,我们可以测试原创 2017-04-23 14:02:29 · 7125 阅读 · 2 评论 -
Ubuntu 16.04虚拟网络设备tun安装
Ubuntu 16.04虚拟网络设备tun安装最近编写网络程序,需要用到tun模块,但是官方给的发行版中压根就没有这个模块.不信的话,你可以测试一下:root@ubuntu:~# modinfo tunmodinfo: ERROR: Module tun not found.当然,如果你测试的结果是这样的:root@ubuntu:~# modinfo tunfilename: /li原创 2017-04-20 21:23:06 · 14329 阅读 · 6 评论 -
Makefile的在工程中的一般性应用
这几天查看了一下unp的源代码,发现makefile的书写真是一门学问,通过查看unp的makefile如何书写,本人从中间学到了很多东西。一般的做法这里,我已自己的一个demo为例子,简单地记录一下在大型的工程中如何使用makefile文件。现在假设我有一个demo的项目,为了分类文件,我在demo下面建立了一个bin文件夹,用来放置本工程经常用到的库源文件,然后是一个bin文件夹,这个文件夹里面原创 2015-11-03 08:56:20 · 1689 阅读 · 0 评论 -
writev碰上非阻塞IO--纯扯淡
今天静下心来写一写非阻塞IO的读写吧,因为今天被它们坑了一天.在谈到非阻塞IO之前,必须先谈一谈阻塞IO,在网络编程中,我们假设有一个监听套接字的sockfd,其实它默认就是阻塞IO,具体的表现是:1. 使用accept函数监听sockfd时,如果没有连接到来,这个函数会一直阻塞在那里.2. 对sockfd调用recv函数的时候,如果对方还没有发送数据过来,这个函数也会原创 2016-10-29 22:51:31 · 2287 阅读 · 1 评论 -
我所理解的ucontext族函数
今天,我要写一篇文章,好好来说一下我所理解的ucontext族函数。 NAME getcontext, setcontext - get or set the user context SYNOPSIS #include <ucontext.h>int getcontext(ucontext_t *ucp);int setcontext(const ucontext_t原创 2016-09-29 00:54:52 · 1411 阅读 · 1 评论 -
unp第一章的测试代码
下面是很有趣的一个测试,下面是客户端的测试程序:/*daytimecli2.c*/#include "unp.h"intmain(int argc, char **argv){ int sockfd, n, counter = 0; char recvline[MAXLINE + 1];原创 2015-10-30 15:58:28 · 929 阅读 · 0 评论 -
开始之前...
摘要首先会更新一些书中用到的文件,如ourhdr.h,以及ourhdr.c文件,然后会简要地介绍一下里面用到的函数.书中用到的一些文件首先是要用到头文件:/*ourhdr.h*//*一下子写不了那么多,后面更新的时候慢慢来补*/#ifndef __ourhdr_h#define __ourhdr_h#include <sys/types.h>#include <stdio.h>#inclu原创 2015-10-16 00:19:59 · 1305 阅读 · 0 评论 -
如何在很多的.o文件中查找到需要的函数,从而定位到源文件?
基于这样一个需求,本人在查看unp的代码的时候,下面是大概的一个文件模型图,我在查看tcpcli.c文件,该文件用到了lib文件夹中的一些函数,我只有函数的名称,如何利用函数名在lib下找到该函数所在的源文件呢?需要说明的是,生成tcpcli程序的时候链接的是libunp.a。----unp----advio---tcpcli.c |---libunp.a |---lib原创 2015-11-04 22:26:56 · 5342 阅读 · 0 评论 -
cut命令
cut命令最好的参考资料是man,下面是man的说明:它的使用方式如下:它的option的说明:经常使用的选项是: -b:指定以字节为单位显示选中内容 -c:指定以字符为单位显示选中内容 -f:指定以字段为单位显示选中内容 -d:指定字段的分界符,默认为制表符 其它的选项还有-n(仅和-b选项一起使用)、-s(仅和-f选项一起使用转载 2015-09-12 08:19:59 · 795 阅读 · 0 评论 -
shell编程
链接:http://pan.baidu.com/s/1i3jc6zj 密码:beo2原创 2015-08-13 23:41:44 · 866 阅读 · 0 评论 -
gdb常用命令
在调试程序的时候,gdb是一柄利器,恰当的使用gdb可以解决掉程序的许多bug。gdb并不检查语法错误,那是gcc或者g++的事情,gdb干的是调试的事情。说明:(1)gdb程序名 [corefile]之类的是代表命令的用法,[]中间的内容是可选项,即你可以加,也可以不加。(2)如果需要重复执行一条命令,不需要每次都键入命令,gdb记住了最后一个被执行的命令,只要简单的按ent原创 2015-06-12 23:37:13 · 3303 阅读 · 1 评论 -
如何安装g++/gdb
该文的word文档附在文后!链接:http://pan.baidu.com/s/1bnFcMHD密码:z7zk原创 2015-08-13 07:07:58 · 918 阅读 · 0 评论 -
linux常用命令
已经写成了word文档,不想改为博客了,文后提供该文档的链接。链接:http://pan.baidu.com/s/1ntN5Off 密码:tytx原创 2015-08-12 23:17:50 · 751 阅读 · 0 评论 -
关于pthread里面一些函数的使用心得!
第一次使用pthread,遇到的问题还真不少,现在我一一记录一下: 1.关于编译时出现 对‘pthread_create’未定义的引用 之类的错误的解决:由于pthread库不是Linux系统默认的库,连接时需要使用库libpthread.a,所以在使用pthread_create创建线程时,在编译中要加-lpthread参数: gcc -o pthread -lpthread原创 2013-09-25 14:27:20 · 29438 阅读 · 0 评论 -
关于一个简单的shell的实现
题目是操作系统书上的,很无聊,就做了做! 做的时候遇到了一些问题,查了一些资料,现在集中展现一下。 1.关于exec族 execvp 表头文件: #include 定义函数: int execvp(const char *file ,char * const argv []); 函数说明: execvp(原创 2013-09-23 14:12:36 · 6267 阅读 · 6 评论 -
如何在ubuntu下安装vmware-tools?
用vmware虚拟机安装了ubuntu之后,为了实现更加强大的功能,比如说直接从windows主机拖文件进入ubuntu,以及加强ubuntu的性能,我们一般都要安装vmware tools,这对于新手来说可能有一些困难,我在这里做一下讲解以及记录! ubuntu在虚拟机里安装完成后,我们点击 上部的虚拟机(M)——> 重新安装vmware tools(T)当然如果你已经安装了的话,可以原创 2013-09-21 22:15:01 · 46834 阅读 · 8 评论