
linux开发
CodeMasterShiller
一个老码农
展开
-
svn快速参考手册
<br />http://www.cs.put.poznan.pl/csobaniec/Papers/svn-refcard.pdf转载 2011-03-22 22:10:00 · 873 阅读 · 0 评论 -
使用 FUSE 开发自己的文件系统
<br />http://blog.chinaunix.net/u3/117103/showart_2318671.html<br /> <br />使用用户空间的文件系统(FUSE),您无需理解文件系统的内幕,也不用学习内核模块编程的知识,就可以开发用户空间的文件系统框架。本文是一篇简单的逐步介绍的指南,内容包括安装、定制和启用 FUSE 和 AFS,这样您就可以在 Linux® 的用户空间中创建自己的功能完备的文件系统了。<br />文件系统是一种用来存储和组织计算机文件、目录及其包含的数据的方法,它使转载 2010-09-17 09:58:00 · 905 阅读 · 1 评论 -
libcurl开发简介
<br /><br />api说明文档<br />http://curl.haxx.se/libcurl/c/libcurl-easy.html<br /> <br />调用流程<br />CURL * handle = curl_easy_init( );<br /> <br />curl_easy_setopt<br />...<br /> <br />curl_easy_setopt<br /> <br />curl_easy_perform();<br /> <br />curl_easy_clea原创 2010-09-17 10:36:00 · 687 阅读 · 0 评论 -
virtualbox的linux客户机如何访问共享目录
<br /><br />首先在设置数据空间,选取一个名字,比如为share,并指定该共享数据空间在宿主机上的目录<br />然后在客户机下执行如下命令<br />mount -t vboxsf share mount_point<br />其中mount_point是客户机下的共享目录名,可以指定任何一个空目录原创 2010-09-17 10:30:00 · 1049 阅读 · 0 评论 -
screen使用笔记
<br />from http://blog.chinaunix.net/u1/37553/showart_341863.html<br /> <br /> GNU Screen 是一个非常不错的东西,GNU 称之为一个全屏窗口管理器,用他可 以轻松在一个物理终端上获得多个虚拟终端的效果,当然也就可以在自己喜欢的X 终端模拟器上面用了,可以弥补有些终端模拟器没有标签功能的缺陷,而且, screen 的强大之处远远不止提供标签功能。<br />定制 screen 强大的软件通常都有很灵活的可定制性,转载 2010-09-18 09:53:00 · 700 阅读 · 0 评论 -
linux下ftp自动登录配置以及相关宏命令配置
<br /> <br />http://www.mavetju.org/unix/netrc.php<br />http://linux.about.com/library/cmd/blcmdl5_netrc.htm<br /> <br />创建.netrc<br />放在$HOME目录下<br />除了owner之外,任何人都不能读取<br />可以使用<br />chmod 600 ~/.netrc<br /> <br />配置说明<br /> <br />1、machine定义<br />machin原创 2010-09-17 10:43:00 · 1232 阅读 · 0 评论 -
我比较喜欢的indent配置
<br />alias indent="indent -kr -ts4 -bl -bli 0 -sob -l80"原创 2010-09-17 10:26:00 · 737 阅读 · 0 评论 -
贴一个批量下载脚本
<br />在网上下载时,可以发现有些有规律的连接,如以递增数字命名<br />http://xx...xx/chapter01.pdf<br />http://xx...xx/chapter02.pdf<br />....<br />http://xx...xx/chapter99.pdf<br /> <br />上面的连接模板为<br />http://xx...xx/chapter{}.pdf<br />把{}依次替换为01到99下载即可<br /> <br />下面这个脚本完成这个功能<br />原创 2010-08-29 20:50:00 · 1152 阅读 · 0 评论 -
如何从本地计算机向ssh服务器上传文件或从ssh服务器下载文件
<br />from http://jefftan.cn/blog/article/linux/132.htm<br /> <br /> <br />由于使用ssh,我们无法使用简单的拖拽或者复制粘贴操作对本地计算机和ssh服务器上的文件进行交流。我们需要用到scp命令行。<br />程序代码scp <本地文件名> <用户名>@<ssh服务器地址>:<上传保存路径即文件名><br /><br />举例以说明。如果希望将当前目录下的a.txt文件上传到ssh服务器上test文件夹并改名为b.txt,其中ssh转载 2010-08-29 13:23:00 · 19514 阅读 · 0 评论 -
英文环境下svn签出包含中文的文件时失败的处理方法
<br />LANG="en_US"时,如果服务器上的文件名中包含中文,则check out失败<br /> <br />解决方法<br />export LANG="zh_CN"<br />原创 2010-09-09 21:28:00 · 911 阅读 · 0 评论 -
介绍一个RFC浏览器qRFCView
<br />官方网址 http://developer.berlios.de/projects/qrfcview/<br /> <br />ubuntu安装<br />sudo apt-get install qrfcview<br /> <br />软件使用qt编写,可以打开本地的rfc文件,也可以根据你输入的rfc编号直接从网上下载<br /> <br />视图左边有根据rfc文档章节生成的文档结构树,双击可以跳转到相应章节原创 2010-08-25 10:09:00 · 3296 阅读 · 0 评论 -
如何重启gnome而不重启电脑
使用快捷键Ctrl-Alt-Backspace或者使用如下命令sudo /etc/init.d/gdm restart翻译 2010-08-24 22:11:00 · 15266 阅读 · 1 评论 -
在Shell脚本中使用Trap捕获相关信号进行hook
<br />from http://steve-parker.org/sh/trap.shtml<br /> <br />trap指令可以用来捕获相关信号,并运行指定的代码<br /> <br />例如<br /> <br />#!/bin/sh<br /> <br />trap cleanup EXIT<br />#or<br />#trap cleanup 0<br /> <br />cleanup()<br />{<br />#do some cleanup thing when exit<br /转载 2010-08-24 10:38:00 · 1485 阅读 · 0 评论 -
在Bash脚本中使用命名管道(FIFO)
如何在bash脚本中使用命名管道进行IPC翻译 2010-08-24 09:38:00 · 4841 阅读 · 0 评论 -
swf解码库libswfdec
<br /> <br />swf解码库<br />sudo apt-get install libswfdec-0.8-dev<br /> <br />example from http://swfdec.freedesktop.org/wiki/SwfdecExamples<br /> <br />//Created by : pepsidrinker@hotmail.com// Date : Sept. 15 2008#include <swfdec-gtk/swfdec-gtk.h>/原创 2010-08-18 11:28:00 · 3546 阅读 · 1 评论 -
常用的bash配置
<br /><br />#env var<br />export EDITOR=vim<br /> <br />#command alias<br />alias indent="indent -kr -ts4 -bl -bli 0 -sob -l80"<br />alias md="mkdir -p"<br />alias rd="rm -rf"<br />alias ztar="tar zcf"<br />alias uztar="tar zxf"<br />alias du="du -h"<br />原创 2010-09-17 23:57:00 · 660 阅读 · 0 评论 -
linux如何写一个daemon程序
<br />http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html<br /> <br />不过现在linux直接提供了api实现这个功能<br /><br />#include <unistd.h><br /> <br />int daemon(int nochdir, int noclose);原创 2010-09-28 09:56:00 · 1251 阅读 · 0 评论 -
linux capability 权限控制
如何使用capability控制linux权限转载 2010-10-14 12:15:00 · 7118 阅读 · 0 评论 -
php的max-execution-time参数
<br />linux的php最大执行时间是使用setitimer的ITIMER_PROF类型,触发SIGPROF信号。统计的是一个php请求的cpu消耗时间,如果请求处于sleep状态,是不计时间的。如果在php-cgi个数有限,而请求中阻塞睡眠函数较多的情况下,可以将timer类型改为ITIMER_REAL类型<br /> <br />另外,php.ini中的max-execution-time参数对php-cli是无效的,只对php-cgi有效。原创 2011-03-21 09:43:00 · 1418 阅读 · 0 评论 -
le putty,可以rz和sz传输文件的putty
<br />Le Putty's home<br /> <br />http://leputty.sourceforge.net/原创 2011-03-09 15:48:00 · 13379 阅读 · 0 评论 -
通过inotify监控linux文件系统变化
<br /><br />http://www.mjmwired.net/kernel/Documentation/filesystems/inotify.txt<br />http://www.ibm.com/developerworks/linux/library/l-ubuntu-inotify/index.html?ca=drs-<br />http://linux.die.net/man/7/inotify<br />http://en.wikipedia.org/wiki/Inotify<br /转载 2010-11-24 15:45:00 · 2604 阅读 · 0 评论 -
如何禁止linux文件系统缓存
<br />http://www.linuxquestions.org/questions/linux-kernel-70/how-to-disable-filesystem-cache-627012/<br /> <br />Well, preventing read cache usage is pretty simple. You can do some raw-read tests with dd. You can also do some tests (one-time read only, un转载 2010-11-11 18:33:00 · 7264 阅读 · 0 评论 -
linux下fork和pthread混用的问题
<br />linux下编程处理并行任务时,可以采用多进程模块(fork)或者多线程模型(pthread)。有时候还会采用混合的模式。<br />当混合使用两者的时候,可能存在一些问题。<br /> <br />一种情况是:<br />进程创建了一些线程,然后执行了fork。代码编写者的意图可能是希望fork出很多个副本,执行同样的任务。可是fork之前创建的线程却并没有被复制,只有最初的进程拥有该线程。<br /> <br />另一种情况是:<br />进程创建了一些线程用于处理一些工作。然后希望转到后台原创 2010-11-10 22:37:00 · 5112 阅读 · 0 评论 -
linux下几个stat函数的区别
<br /><br />linux下几个stat函数的区别<br />lstat和stat的区别:<br />如果文件名指向的是一个软链,lstat会判断这个软链本身是否存在,而stat则会判断软链指向的文件是否存在<br />因此,使用ln -sf创建的软链,stat可能会失败,lstat则可以成功<br /> <br />fstat和stat的区别,fstat接受一个文件句柄为参数,而不是文件名原创 2010-11-10 14:08:00 · 1173 阅读 · 0 评论 -
用户空间文件系统FUSE源码解析
<br /><br />FUSE是sourceforge上的一个开源项目。包含一个内核的服务模块一个用于用户空间开发的lib。它完成和内核fuse模块通信的功能,并为开发者提供友好的接口。<br /> <br />http://fuse.sourceforge.net/<br /> <br />首先,从kernel模块说起,本文以2.7.4 版本为例<br /> <br />kernel/inode.c<br /> <br />1144: module_init(fuse_init);<br />1145:原创 2010-11-06 02:17:00 · 6328 阅读 · 0 评论 -
tcmalloc介绍
<br />http://goog-perftools.sourceforge.net/doc/tcmalloc.html<br /> <br />google perftools中的一员<br /> <br />比glic的实现ptmalloc2快6倍,ptmalloc2一次malloc和free操作约要300ns,tcmalloc只需约50ns<br /> <br />比ptmalloc更高的空间利用率,ptmalloc每个对象约浪费8字节,tcmalloc只额外花费1%的空间<br /> <br />翻译 2010-11-06 01:32:00 · 1997 阅读 · 0 评论 -
僵尸进程
<br />http://baike.baidu.com/view/758736.html僵尸进程百科名片<br />In UNIX System terminology, a process that has terminated,but whose parent has not yet waited for it, is called a zombie. 在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程. 但是如果该进程的父进程转载 2010-11-06 02:40:00 · 1028 阅读 · 0 评论 -
使用RCU避免在更新时使用互斥
<br /><br />http://en.wikipedia.org/wiki/Read-copy-update<br /> <br />The name comes from the way that RCU is used to update a linked structure in place. A thread wishing to do this uses the following steps:create a new structure,copy the data from the old转载 2010-10-27 11:07:00 · 520 阅读 · 0 评论 -
tcmalloc使用说明
<br /><br />http://code.google.com/p/google-perftools/wiki/GooglePerformanceTools<br /> <br /> <br />TC Malloc:gcc [...]-ltcmalloc<br />Heap Checker:gcc [...]-o myprogram -ltcmalloc<br />HEAPCHECK=normal ./myprogram<br />Heap Profiler:gcc [...]-o myprogram转载 2010-12-10 22:19:00 · 1954 阅读 · 0 评论 -
gprof使用说明
<br />http://www.cs.utah.edu/dept/old/texinfo/as/gprof.htmlgcc使用 -pg 参数编译程序gcc -o test test.c -g -pg编译成功后运行程序,会在当前目录下生成gmon.out文件./test使用gprof和gmon.out运行程序gprof test gmon.out这时将输出程序的性能信息原创 2010-12-10 22:24:00 · 768 阅读 · 0 评论 -
Linux用户态程序读写IO端口方法总结
<br /><br />http://blog.youkuaiyun.com/deep_pro/archive/2010/02/22/5315655.aspx<br /> <br />1、使用ioperm() and iopl()来获得权限,然后To write data to an I/O port, use outb(), outw(), outl(), or their cousins. To read data from a port, use inb(), inw(), inl(), or their rel转载 2010-10-17 18:27:00 · 3152 阅读 · 0 评论 -
shell编程中使用数组
<br /><br />声明<br />declare -a arr<br /> <br />赋值<br />arr[1]=one<br />arr['a']=1<br /> <br />引用<br />val=${arr['a']}<br /> <br />删除<br />unset arr['a']<br /> <br />求长<br />len=${#arr[*]}<br /> <br />拷贝<br />newarr=( ${arr[*]} )<br /> <br />追加<br />arr=( $原创 2010-12-06 20:34:00 · 1198 阅读 · 0 评论 -
How to break out of a chroot() jail
如何逃脱chroot的限制转载 2010-10-14 17:36:00 · 1765 阅读 · 0 评论 -
如何将彩色图片转换成灰白图片
<br /> <br />http://desktoppub.about.com/od/scanninggraphics/ss/color_to_bw_3.htm<br />Corel Photo-Paint: Image > Convert to... > Grayscale (8-bit) <br />Adobe Photoshop: Image > Mode > Grayscale <br />Adobe Photoshop Elements: Image > Mode > Grayscale (sa原创 2010-08-17 11:53:00 · 3447 阅读 · 0 评论 -
linux下安装opencv
installsudo apt-get install libcv-dev libcv-docfix bug under ubuntu 10.04: cannot find -lhighguisudo ln /usr/lib/libhighgui.so.4 /usr/lib/libhighgui.sobuildg++ -g -Wall -Wno-unused-function `pkg-config --cflags opencv` `pkg-config --libs opencv` opencv-t原创 2010-08-16 00:13:00 · 875 阅读 · 0 评论 -
使用libao播放wav文件
/** * file: test.c * author: rare * date: 2009/04/15 */#include #include int main(int argc, char** argv){ FILE* fp; char buf[4096]; int len; ao_device* de原创 2010-04-07 19:07:00 · 1602 阅读 · 0 评论 -
一个根据断点续传原理而实现的多线程下载的程序
前些日子贴了两个关于断点续传的帖子,又看到firefox的downloadthemall插件的可视画界面里形象的可以看到一个文件被分成几块同时在下载,不由得想到可以由断点续传来实现多线程下载。虽然涉及的http协议不算很多很复杂,但是很显然有很多线程的http库可以使用,记得以前在svn项目中了解到libneon就是这样一个http lib。下面便是用它实现的一个超级简单的多线程下载工具,:)。原创 2010-04-07 19:00:00 · 983 阅读 · 0 评论 -
使用SDL播放YUV图像数据
SDL提供了针对YUV格式数据的直接写屏操作。废话不多说,直接上代码吧/** * file showyuv.c * author: rare * date: 2009/12/06 * email: dux003#163.com */#include #include "SDL.h"int main(int argc , char* argv[]){ int i = 1; int x,原创 2010-04-07 18:57:00 · 5915 阅读 · 2 评论 -
GCC对可变参数的宏的支持
匿名可变参数:#define TRACE(fmt, ...) fprintf(stderr, fmt, ##__VA_ARGS__)带名称的可变参数:#define TRACE(fmt, args...) fprintf(stderr, fmt, ##args)“##”会将可变参数列表连接在固定参数的后面,如果可变参数列表为空,"##"会将前面多余的“,”去掉原创 2010-04-07 18:52:00 · 1018 阅读 · 0 评论 -
linux 下如何编译使用SDL的工程
首先看一下SDL的头文件在哪,一般在/usr/include/SDL里面,跟你具体的安装路径有关在我的bash中输入 find /usr/include -name SDL*输出如下:/usr/include/SDL/usr/include/SDL/SDL_gfxPrimitives.h/usr/include/SDL/SDL_platform.h/usr/include/SDL/SDL_vide原创 2010-04-07 18:50:00 · 5332 阅读 · 0 评论