Linux
Baocai3000
技术源于需求又高于需求
展开
-
Linux下的文件格式
<br />d:表示是一个目录(directory),事实上在ext2fs中,目录是一个特殊的文件。<br />-:表示这是一个普通的文件。<br />l: 表示这是一个符号链接(symbol link)文件,实际上它指向另一个文件。<br />b、c:分别表示区块(block)设备和字符(character)设备,是特殊类型的文件。<br />s、p:这些文件关系到系统的数据结构和管道(pipe),通常很少见到。原创 2010-08-29 21:53:00 · 779 阅读 · 0 评论 -
free与new的实现
动态分配的选择、折衷和实现级别: 初级Jonathan Bartlett, 技术总监, New Media Worx2004 年 11 月 29 日本文将对 Linux™ 程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半手工地管理内存,以及如何使用垃圾收集自动管理内存。为什么必须管理内存内存管理是计算机编程最为基本的领域之一。在很多脚本语言中,您不必担心内存转载 2010-09-14 21:31:00 · 987 阅读 · 0 评论 -
CentOS5.5
<br />CentOS5.5真是不错,无论是稳定性还是观赏性都很好,看fash也不卡,乱码的问题也比较少。毕竟来自RHEL的根,正派血统,名门贵族哈~~原创 2010-09-07 09:29:00 · 642 阅读 · 0 评论 -
Linux下的Python脚本编程
<br />TraceBack:http://blog.seety.org/everydaywork/2008/4/9/1012/<br />撰写Linux使用的 Pythonscript<br />这篇文章写于两年前,主题锁定在以Python写Linux的script。讨论了Python script.的惯用写法、字符串处理、字符编码、档案与目录处理、呼叫外部程序,以及利用内建链接库进行网络通讯。1 Linux、指令稿与Python2 Python指令稿的格式3 字符串转载 2010-09-22 11:38:00 · 31700 阅读 · 0 评论 -
Linux面试题大全
<br />一.填空题:<br />1. 在Linux系统中,以 文件 方式访问设备 。<br />2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。<br />3. Linux文件系统中每个文件用 i节点 来标识。<br />4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。<br />5. 链接分为: 硬链接 和 符号链接 。<br />6. 超级块包含了i节点表 和 空闲块表 等重要的文原创 2010-09-26 16:45:00 · 1167 阅读 · 0 评论 -
AWK命令详解(大全)
<br />什么是awk?<br /><br />你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度。awk是什么?与其它大多数UNIX命令不同的是,从名字上看,我们不可能知道awk的功能:它既不是具有独立意义的英文单词,也不是几个相关单词的缩写。事实上,awk是三个人名的缩写,他们是:Aho、(Peter)Weinberg和(Brain)Kernighan。正是这三个人创造了awk---一个优秀的样式扫描与处理工具转载 2010-09-26 17:15:00 · 960 阅读 · 0 评论 -
quicksort快速排序
<br />#include <stdio.h>#include <stdlib.h>void exchange(int *a,int *b){ int tmp; tmp=*b; *b=*a; *a=tmp;}int partition(int* array,int s,int e){ int x=*(array+e);//最后的值 int i=s-1;//较慢 in原创 2010-09-28 11:28:00 · 848 阅读 · 0 评论 -
Linux 性能监测工具
<br /><br />http://hi.baidu.com/coolda/blog/item/977189139ca397ddf6039e54.html<br />Linux系统出现问题时,我们不仅需要查看系统日志信息,而且还要使用大量的性能监测工具来判断究竟是哪一部分(内存、CPU、硬盘……)出了问题。在Linux系统中,所有的运行参数保存在虚拟目录/proc中,换句话说,我们使用的性能监控工具取到的数据值实际上就是源自于这个目录,当涉及到系统高估时,我们就可以修改/proc目录中的相关参转载 2010-10-03 20:46:00 · 737 阅读 · 0 评论 -
malloc与free的源代码
<br />#include <stdio.h>#include <stdlib.h>#include <unistd.h>//memory control block definationstruct mem_control_block{ int is_available; int size;};void *my_malloc(long numbytes);//alloc numbytes memory,return the pointer to原创 2010-10-06 00:02:00 · 1131 阅读 · 0 评论 -
fork与vfork
fork vs vfork原创 2010-09-29 19:28:00 · 740 阅读 · 0 评论 -
Latex第一篇
Ubuntu下安装Latex:sudo apt-get install latex-cjk-all输入如下代码到Test.tex:/documentclass[12pt]{article} /usepackage{CJK}/begin{document} /begin{CJK}{UTF8}{gbsn}/title{/LaTeX} /author{齐保元}/date{2010-12-01} /maketitle 正文开始/LaTeX{} is a document preparation system for原创 2010-12-01 19:33:00 · 847 阅读 · 0 评论 -
Autoconf与Automake
<br />确定保证安装过autoconf,automake与vim,若没有则:sudo apt-get install autoconf,automake,vim<br /><br />1) 运行autoscan命令<br />2) 将configure.scan 文件重命名为configure.in,并修改configure.in文件<br />3) 在project目录下新建Makefile.am文件,并在core和shell目录下也新建makefile.am文件<br />4) 在project目录原创 2010-12-03 01:24:00 · 1124 阅读 · 0 评论 -
Linux下rar压缩文件乱码与文本文件乱码
<br />1.压缩乱码解决:<br />sudo apt-get remove rar;<br />sudo apt-get install unrar;<br /> <br />2.文本文件乱码:<br />iconv -f gbk -t utf8 from.txt >> from.txt.utf8原创 2010-12-06 16:06:00 · 1787 阅读 · 0 评论 -
进程通信方式
<br />Windows下的进程间通信方式:文件映射、共享内存、管道(匿名管道和命名管道)、邮件槽、剪贴板、动态数据交换、对象链接与嵌入OLE、动态链接库、远程过程调用、Netbios函数、套接字Socket、IPCWM_COPYDATA消息。Linux下的进程间通信方式:管道(匿名管道和命名管道)、信号、报文Message、共享内存、信号量、套接字Socket。Java进程间通信方式:套接字Socket、远程方法调用RMI、异步消息JMS、Web Service、Pipe、CORBA。原创 2010-10-16 20:20:00 · 620 阅读 · 0 评论 -
SVN下使用google code
1.首先检出项目,将XXX下载到本地的XXX,使用用户名未USERNAMEqibaoyuan@qibaoyuan:~/qibaoyuan$svn checkout https://XXX.googlecode.com/svn/trunk/ XXX --username USERNAME2.建立新的文件夹:qibaoyuan@qibaoyuan:~/qibaoyuan$mkdir source3.增加(add)本地数据到服务器qibaoyuan@qibaoyuan:~/qibaoyuan$svn add so原创 2010-12-12 10:25:00 · 824 阅读 · 0 评论 -
CSAPP:Ch0 十进制与16进制的转换脚本
#!/usr/bin/perl#convert hex to decimalfor($i=0;$i#!/usr/bin/perl#convert list of decimal nums to hexfor($i=0;$i原创 2010-12-14 10:35:00 · 1077 阅读 · 0 评论 -
CRONTAB计时
<br /> <br />usage: crontab [-u user] filecrontab [ -u user ] [ -i ] { -e | -l | -r }(default operation is replace, per 1003.2) -e (edit user's crontab) -l (list user's crontab) -r (delete user's crontab) -i (prompt before deleting原创 2010-12-17 15:47:00 · 794 阅读 · 0 评论 -
svn在linux下的使用(svn命令)
<br />svn在linux下的使用(svn命令)<br />1、将文件checkout到本地目录<br />svn checkout path(path是服务器上的目录)<br />例如:svn checkout svn://192.168.1.1/pro/domain<br />简写:svn co<br />2、往版本库中添加新的文件<br /> svn add file<br />例如:svn add test.php(添加test.php)<br />svn add *.php(添加当前目录下原创 2010-12-17 17:14:00 · 514 阅读 · 0 评论 -
UDP进行分词服务器的设计
1.基本思路:远程client发送原始句子到server端,然后服务器进行分词并发送回客户端,客户端进行回显。分词采用ICTCLAS2.server端代码:/* * ===================================================================================== * * Filename: udp_server.c * * Description: * * Version:原创 2010-12-17 12:17:00 · 763 阅读 · 0 评论 -
PHP环境的搭建
<br />1.安装好多的东西,主要是php5,mysql,phpMYsqlmin,参见http://www.idealfly.net.cn/bbs/viewthread.php?tid=276<br />2.再自己的play目录弄个文件夹php5,新建个文件circle.php,然后去/var/www做个软链接:<br /> qibaoyuan@qibaoyuan:/var/www$ sudo ln -s /home/qibaoyuan/qibaoyuan/php5 php5<br />3.原创 2010-12-22 23:26:00 · 1004 阅读 · 0 评论 -
ubuntu下登入mysql
<br /><br />安装好 mysql后在终端输入命令mysql -s root -p<br />显示:<br />Access denied for user 'yeyu712'@'localhost' (using password: YES)<br /><br />查询后发现原来是服务还没开启,哈哈,输入:sudo /etc/init.d/mysql start <br /><br />然后输入 mysql -uroot -p 登录成功<br /> <br />==================原创 2010-12-23 10:14:00 · 1108 阅读 · 0 评论 -
大端还是小端
<br />Big endian machine: It thinks the first byte it reads is the biggest.<br />Little endian machine: It thinks the first byte it reads is the littlest.<br />举个例子,从内存地址0x0000开始有以下数据<br /> 0x0000 0x12<br /> 0x0001 0x34<br /> 0x0002 0xab<br />原创 2010-10-31 22:29:00 · 746 阅读 · 0 评论 -
GDB Internals
<br /><br />gdb consists of three major subsystems: user interface, symbol handling (the symbolside), and target system handling (the target side).<br />The user interface consists of several actual interfaces, plus supporting code.<br />The symbol side co原创 2010-12-27 00:26:00 · 956 阅读 · 0 评论 -
反汇编与寄存器结构
<br />1.寻找一个program的字节码表示:<br /> <br />【gdb下面】(gdb) x/19xb sum<br />【使用objdump】unix> objdump -d code.o2.size of types and GAS suffix:3.整数寄存器:<br />原创 2010-12-29 11:50:00 · 695 阅读 · 0 评论 -
命令行输入密码
需求:因为需要频繁切换网络,ip无法在ubuntu下自动获得,主要是dhcp的服务器太烂了,断了网无法再连接,网络中心不给解封mac,老子只好每次都输入烦人的命令。查了半天的expect的用法,老是提示sudo无法解析,只好用纯shell了。方法:建立一个shell脚本如下,为dhcp.sh#/usr/binecho yourpass|sudo -S sudo ifconfig eth0 downsudo ifconfig eth0 hw ether 00:22:15:eb:1e:XXsudo原创 2011-01-01 14:05:00 · 1199 阅读 · 0 评论 -
taglist的设置
在~/.vimrc中添加如下的配置:"taglist的设置let Tlist_Show_One_File=1 "只显示当前文件的taglet Tlist_Exit_OnlyWindow=1 "如果taglist窗口是最后一个窗口,则退出vimlet Tlist_Use_Right_Window=1 "右侧显示taglistlet Tlist_Auto_Open=1 "自动打开taglistlet Tlist_GainFocus_On_ToggleOpen=1 "自动聚焦到taglis原创 2011-01-03 20:17:00 · 1083 阅读 · 0 评论 -
smplayer字幕乱码、字体设置、置顶
<br />解决方法:<br />“选项”-》首选项-》字幕-》默认字幕编码,选择UTF-8或者GBK<br />“字体和颜色”,选择“微米黑”<br />“视频”-》“置顶”-》“始终置顶”原创 2011-01-01 14:27:00 · 3173 阅读 · 0 评论 -
查看系统调用的source
环境:ubuntu 10.10比如查看ls、cat等系统命令1.看看ls是哪个:which ls输出:/bin/ls2.查找:dpk -S /bin/ls输出:coreutils: /bin/ls3.下载:sudo apt-get source coreutilscd /usr/src/coreutils-XXX #XXX表示版本号sudo tar zxvf coreutils-XXX.tar.gz4.ok原创 2011-01-03 23:07:00 · 706 阅读 · 0 评论 -
find查找忽略大小写
目的:生成mp3的播放列表1.find主要用来进行文件名的查找:find . -iname "*.mp3" >> list.m3u 2.grep主要是用来对文件内容查找。用到了再补充:)原创 2011-01-04 20:57:00 · 4158 阅读 · 0 评论 -
countof
<br />c语言中没有这样的函数wget中定义如下(wget.h),其实就是一个宏定义:<br /> <br />/* The number of elements in an array. For example: static char a[] = "foo"; -- countof(a) == 4 (note terminating /0) int a[5] = {1, 2}; -- countof(a) == 5 char *a[] = {原创 2011-01-03 18:32:00 · 913 阅读 · 0 评论 -
将文本文件中的行随机排序【原创】
<br />目的:将生成的mp3列表随机打乱播放~~<br />使用:./randomsort list.m3u 4 >> list1.m3u<br />/* * ===================================================================================== * * Filename: randomsort.c * * Description: * * Version原创 2011-01-05 01:40:00 · 4153 阅读 · 0 评论 -
多进程与多线程共享变量的处理
1.多进程中全局共享变量的处理是如此之麻烦,因为fork出来的子进程,是不在与父进程共享变量的,因此在主进程中进行的所有的对变量的修改都不会更新到子进程中,因此有很多的方法可以解决,今天试了试共享变量的方法,进本思路就是在内存中开辟一块内存,用指针指向那个变量,然后父子进程操作这个指针。如果要是在子函数中操作该变量,就得传递指针了,很麻烦。参见一个小伙子的代码:#include #include #include #include #include #define MAX_SEQUENC原创 2011-01-05 22:15:00 · 5444 阅读 · 0 评论 -
集中分词服务器-原型
<br />1.基本思路:建立两个监听,一个接收用户的查询,一个接收配置服务器的自动注册。采用线程+网络编程,c语言 under ubuntu<br />/* * ===================================================================================== * * Filename: core_server.c * * Description: 中心服务器,负责进行分词服务器的分发以及信息收原创 2011-01-05 22:18:00 · 841 阅读 · 0 评论 -
linux多线程中的共享变量
<br />http://www.yuanma.org/data/2007/1108/article_2883.htm<br />当解决多线程互斥同步的问题时,经常会有如下几个问题:<br /><br />1. 在一个给定的问题中,需要多少个Mutex,多少个Semaphore?有什么规律?<br />2. 在对临界区加锁和等待信号量的顺序上有什么要求和规律?<br />3. 什么样操作适合放在临界区,什么样的不适合?<br /><br />下面就生产者和消费者问题来分析一些这几个问题.<br />下面是一转载 2011-01-06 17:36:00 · 5743 阅读 · 0 评论 -
端口被谁占有了?
<br />linux下的命令:<br />lsof -i:port原创 2011-01-06 18:02:00 · 684 阅读 · 0 评论 -
Too many open files
socket编程中遇到的这个问题,刚开始还以为是socket fd没有关闭,检查了好多遍,都有close啊。郁闷死了。后来使用linux下的lsof命令找到问题的根源:1.首先得到id: ps -ef | grep "process"2.查看文件打开情况:lsof -p $pid3.在lsof中发现最后一列Name中打开了特别多的文件,忽然想起来,应该是打开的文件没有进行fclose。4.修改,添加fclose(fp);原创 2011-01-07 11:06:00 · 769 阅读 · 0 评论 -
信号量与多线程的退出
<br />两者都可以使用while进行等待,当条件比如处理队列或者资源队列为空时,可以直接发送post信号量和unlock thread,break出去。<br />voiddo_purify(){ debug_log("我是pufify线程0x%x/n",pthread_self()); while(1){ debug_log("thread 0x%x in do_purify/n",pthread_self()); sem_wait(&waitNonFull); p原创 2011-01-08 00:15:00 · 1102 阅读 · 0 评论 -
configure.scan的修改
<br /><br />autoscan以后会生成configure.scan,然而下一级aclocal需要的是configure.in<br />因此,mv configure.scan configure.in<br />然后修改:<br />在其中添加如下黑色部分:<br /> <br />AC_PREREQ([2.67])<br />AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])<br />AM_INIT_AUTOMAKE(原创 2011-01-08 15:26:00 · 2602 阅读 · 0 评论 -
vimrc文件
"文件类型检测filetype onfiletype plugin onfiletype indent on"一个tabset ts=4set expandtab"显示行号set nu"自动缩进set autoindent shiftwidth=4set cindent"语法高亮syntax enablecolorscheme vividchalk"taglist的设置let Tlist_Show_One_File=1 "只显示原创 2011-01-08 02:28:00 · 684 阅读 · 0 评论 -
忙碌基本结束
<br />忙了好几天了,把shell编程、网络编程、多线程、多进程、Linux下的C语言、vim、Python,拼在一块,终于做成了一个基本的智能工厂。<br />主要的功能以及流程:下载网页、网页过滤(两个步骤可以合并),自己写了个分布式的分词架构,见之前的描述,主要是中心服务器、分词服务器和客户端之间通信、传递数据,用脚本合并分词文件,交给python处理生成CRF合格的测试语聊,用训练的model,验证,刚才看了了一下,正确率为:98.34%(total: 1242028 ,success: 122原创 2011-01-08 02:42:00 · 925 阅读 · 0 评论