linux×Ö·ûÉ豸Çý¶¯Ñ§Ï°
	
    
    
	 ½ñÌìѧϰÁËÔÚlinux2.6ƽ̨Ï嵀 char drvier £¬ÔÚlinuxÏÂÍÆ¼öʹÓõÄÊÇcdev½á¹¹ÌåÀ´ÊµÏÖ¶ÔcharacterÉ豸µÄÃèÊö£¬´úÂëÈçÏÂ
/*This module is desired for sunplusapp s3c2440_board */
#include <linux/fs.h>
#include <linux/types.h>
#include <linux/cdev.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <asm/uaccess.h>
#include <linux/errno.h>
#include <mach/regs-gpio.h>
#include <mach/hardware.h>
#include <linux/platform_device.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <asm/io.h>
#include <asm/system.h>
#define DEVICE_NAME "LED_S3C2440"
struct LED_dev{
 struct cdev cdev;
 char name[10];
 /*...*/
}*LED_devp;
static dev_t LED_device_num;
static struct class *LED_class;
//struct class *LED_class;
static unsigned long LED_table[]={
 S3C2410_GPG0,
 S3C2410_GPG1,
 S3C2410_GPG2,
};
static unsigned int LED_cfg_table[]={
 S3C2410_GPG0_OUTP,
 S3C2410_GPG1_OUTP,
 S3C2410_GPG2_OUTP,
};
int LED_open(struct inode *inode, struct file *filp)
{
  /*½«É豸½á¹¹ÌåÖ¸Õ븳ֵ¸øÎļþ˽ÓÐÊý¾ÝÖ¸Õë*/
  filp->private_data = LED_devp;
  printk("Open OK\n");
  return 0;
}
/*ÎļþÊͷź¯Êý*/
int LED_release(struct inode *inode, struct file *filp)
{
 printk("Release OK\n");
  return 0;
}
static ssize_t LED_write(struct file *filp,const char __user *buf,size_t size,loff_t *f_pos)
{
  unsigned char buff = 0; 
  int ret;
  int i; 
  /*Óû§¿Õ¼ä->Äں˿ռä*/
  if (copy_from_user(&buff, buf, size))
    ret =  - EFAULT;
    
 printk("write:buff=0x%x,buff=0x%x,count=%d\n", buff, buf, size);
 buff-=0x30;
 for(i=0;i<3;i++)
 {
  if(i==buff)
   s3c2410_gpio_setpin(LED_table[i],1);
  else 
   s3c2410_gpio_
    
     
	
	
    
    
	Ïà¹ØÎĵµ£º
        
    
     Èí¼þÏÂÔØµØÖ·£º
pcre£ºhttp://www.pcre.org/ 
Nginx£ºhttp://nginx.net/
spawn-fcig: http://redmine.lighttpd.net/projects/spawn-fcgi/news
ÀûÓà wget ÃüÁîÏÂÔØÏàÓ¦µÄ °²×°°ü
²½Öè
1¡¢°²×°pcre
     ngnix ÐèÒª°²×°pcre¿â£º
    wget http://sourceforge.net ......
	
    
        
    
     linuxµÄechoÃüÁî, ÔÚshell±à³ÌÖм«Îª³£ÓÃ, ÔÚÖÕ¶ËÏ´òÓ¡±äÁ¿valueµÄʱºòÒ²Êdz£³£Óõ½µÄ, Òò´ËÓбØÒªÁ˽âÏÂechoµÄÓ÷¨
echoÃüÁîµÄ¹¦ÄÜÊÇÔÚÏÔʾÆ÷ÉÏÏÔʾһ¶ÎÎÄ×Ö£¬Ò»°ãÆðµ½Ò»¸öÌáʾµÄ×÷Óá£
¸ÃÃüÁîµÄÒ»°ã¸ñʽΪ£º echo [ -n ] ×Ö·û´®
ÆäÖÐÑ¡Ïîn±íʾÊä³öÎÄ×Öºó²»»»ÐУ»×Ö·û´®ÄܼÓÒýºÅ£¬Ò²Äܲ»¼ÓÒýºÅ¡£ÓÃechoÃüÁîÊä³ö¼ ......
	
    
        
    
    shell ±à³ÌÖÐʹÓõ½µÃifÓï¾äÄÚÅжϲÎÊý
–b µ±file´æÔÚ²¢ÇÒÊÇ¿éÎļþʱ·µ»ØÕæ 
-c µ±file´æÔÚ²¢ÇÒÊÇ×Ö·ûÎļþʱ·µ»ØÕæ 
-d µ±pathname´æÔÚ²¢ÇÒÊÇÒ»¸öĿ¼ʱ·µ»ØÕæ 
-e µ±pathnameÖ¸¶¨µÄÎļþ»òĿ¼´æÔÚʱ·µ»ØÕæ 
-f µ±file´æÔÚ²¢ÇÒÊÇÕý¹æÎļþʱ·µ»ØÕæ 
-g µ±ÓÉpathnameÖ¸¶¨µÄÎļþ»òĿ¼´æÔÚ²¢ÇÒÉèÖÃÁËSGIDλʱ·µ»ØÎ ......
	
    
        
    
    ¹¤×÷¶ÓÁÐ(work queue)ÊÇLinux kernelÖн«¹¤×÷ÍÆºóÖ´ÐеÄÒ»ÖÖ»úÖÆ¡£ÕâÖÖ»úÖÆºÍBH(bottom half)»òTasklets²»Í¬Ö®´¦ÔÚÓÚ¹¤×÷¶ÓÁÐÊǰÑÍÆºóµÄ¹¤×÷½»ÓÉÒ»¸öÄÚºËÏß³ÌÈ¥Ö´ÐУ¬Òò´Ë¹¤×÷¶ÓÁеÄÓÅÊÆ¾ÍÔÚÓÚËüÔÊÐíÖØÐµ÷¶ÈÉõÖÁ˯Ãß¡£
linux 2.6.20ÒԺ󣬹¤×÷¶ÓÁлúÖÆºÍ֮ǰµÄ°æ±¾ÓÐÒ»µã²»Í¬£¬ÔÚÍøÉÏÕÒÁËÒ»µã×ÊÁÏ£¬Ò²ÏàÓ¦µÄ¿´ÁËһЩcode£ ......
	
    
        
    
    ת×Ô£ºhttp://www.cnblogs.com/hopeworld/archive/2009/08/07/1541444.html
 Í³¼Æ×ÜÊý´óС 
    du -sh xmldb/
    du -sm * | sort -n //ͳ¼Æµ±Ç°Ä¿Â¼´óС ²¢°²´óС ÅÅÐò
    du -sk * | sort -n
    du -sk * | grep guojf //¿´Ò»¸öÈ˵ĴóС
&nb ......