Linux¿éÉ豸Çý¶¯(2) ¿éÇý¶¯ÖÐÏà¹ØÏà¹ØÄ£¿éÄ£°å
1.¿éÉ豸Çý¶¯µÄÄ£¿é¼ÓÔØÓëÐ¶ÔØ
1)¿éÉ豸Çý¶¯µÄÄ£¿é¼ÓÔØÍê³ÉµÄ¹¤×÷ÈçÏÂ:
Ø ·ÖÅä,³õʼ»¯ÇëÇó¶ÓÁÐ,°ó¶¨ÇëÇó¶ÓÁкÍÇëÇóº¯Êý
Ø ·ÖÅä,³õʼ»¯gendisk,¸øgendiskµÄmajor,fops,queueµÈ³ÉÔ±¸³Öµ,×îºóÌí¼Ógendisk.
Ø ×¢²á¿éÉ豸Çý¶¯.
´úÂë1:ʹÓÃblk_alloc_queueº¯ÊýÍê³É¿éÉ豸Çý¶¯µÄÄ£¿é¼ÓÔØÄ£°å
static int __init xxx_init(void){
//·ÖÅägendisk
xxx_disks = alloc_disk(1);
if(!xxx_disks){
goto out;
}
//¿éÉ豸Çý¶¯×¢²á
if(register_blkdev(xxx_MAJOR, "xxx"){
err = -EIO;
goto out;
}
//"ÇëÇó¶ÓÁÐ"·ÖÅä
xxx_queue = blk_alloc_queue(GFP_KERNEL);
if(!xxx_queue){
goto out_queue;
}
blk_queue_make_request(xxx_queue, &xxx_make_request);//°ó¶¨"ÖÆÔìÇëÇó"º¯Êý
blk_queue_hardsect_size(xxx_queue,xxx_blocksize);//¸æÖªÄÚºËÓ²¼þÉÈÇø³ß´ç
//gendisk³õʼ»¯
xxx_disks->major = xxx_MAJOR;
xxx_disks->first_minor = 0
Ïà¹ØÎĵµ£º
»ù±¾ÊµÓù¤¾ß£º
ls ÏÔʾÎļþÃû(list)
cat ÏÔʾÎı¾ÎļþÄÚÈÝ
rm [-i] ɾ³ýÎļþ(remove),-i´ò¿ªÑ¡Ïî
less/more ·ÖÆÁÏÔʾÎļþ
hostname ÏÔʾϵͳÃû
Îļþ²Ù×÷£º
cp SOURCEFILE DESTINATIONFILE ¸´ÖÆÎļþcopy
mv OLDNAME NEWNAME ¸ü¸ÄÎļþÃû(move)
lpr [-p] FILEN ......
Ò»¡¢ ShellÃüÁî
1. man vi
2. echo $PATH
3. catÏÔʾÎļþÄÚÈÝ
1 cat ÎļþÃûÒ»ÎļþÃû¶þ
2 moreÎļþÃû
3 lessÎļþÃû Ïòǰ·°´b¼ü;Ïòºó·°´p¼ü;Ö¸¶¨Î»ÖÃÊäÈë°Ù·Ö±È;Í˳ö ......
¸ù¾Ý¹¤×÷»·¾³µÄÐèÇó£¬ÐèÒªÕÆÎÕLinux/Unix»·¾³Ï½øÐÐÈí¼þ°²×°Î¬»¤ÒÔ¼°Ïà¹ØÅäÖõȼ¼ÄÜ¡£ÕâÀォÎÒµÄʹÓÃÐĵüǼÏÂÀ´¸ú´ó¼Ò·ÖÏíһϡ£ÉÏһƪÖ÷Òª½²½âÁËÊý¾Ý¿âµÄ°²×°(postgresql)¡£ÏÖÔÚ¾ÍWebÓ¦Ó÷þÎñÆ÷[Apache]µÄ°²×°½øÐн²½â(×¢£ºÒÔÉϰ²×°¾ùÒÔÔ´´úÂ뷽ʽ½øÐа²×°)¡£ÒÔÏÂʹÓõÄLinuxϵͳÊǰ²×°Ô ......
ffmpeg°æ±¾:0.5.1 flv -> mp4 ->3gp
#½ØÍ¼£º
./ffmpeg -i ÊÓÆµÎļþ -y -ss ½ØÍ¼Ê±¼ä -vframes 1 -f image2 -s 128x96 Ä¿±êÎļþÃû;
#Éú³ÉÔ¤ÀÀ°æ£º
./ffmpeg -i out.3gp -ss 00:00:00 -t 00:00:10 -s qcif -acodec copy -vcodec copy -y preview.3gp
#ת»»16:9 flvÊÓÆµµ½ 4:3µÄmp4ÊÓÆµ
ffmpeg -i src. ......
ÕªÒª£º¶¯Ì¬Á´½Ó¿â¼¼ÊõʵÏÖºÍÉè¼Æ³ÌÐò³£Óõļ¼Êõ£¬ÔÚWindowsºÍLinuxϵͳÖж¼Óж¯Ì¬¿âµÄ¸ÅÄ²ÉÓö¯Ì¬¿â¿ÉÒÔÓÐЧµÄ¼õÉÙ³ÌÐò´óС£¬½ÚÊ¡¿Õ¼ä£¬Ìá¸ßЧÂÊ£¬Ôö¼Ó³ÌÐòµÄ¿ÉÀ©Õ¹ÐÔ£¬±ãÓÚÄ£¿é»¯¹ÜÀí¡£
µ«²»Í¬²Ù×÷ϵͳµÄ¶¯Ì¬¿âÓÉÓÚ¸ñʽ ²»Í¬£¬ÔÚÐèÒª²»Í¬²Ù×÷ϵͳµ÷ÓÃʱÐèÒª½øÐж¯Ì¬¿â³ÌÐòÒÆÖ²¡£±¾ÎÄ·ÖÎöºÍ±È½ÏÁËÁ½ÖÖ²Ù×÷ϵͳ¶¯Ì¬¿â¼¼Ê ......