Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linux VIʹÓÃ

viµÄʹÓÃÖ®»ã×Ü
 
¹¦ÄÜ×îÇ¿Ôڵı༭Æ÷——vi
viÊÇËùÓÐUNIXϵͳ¶¼»áÌṩµÄÆÁÄ»±à¼­Æ÷£¬ËüÌṩÁËÒ»¸öÊÓ´°É豸£¬Í¨¹ýËü¿ÉÒԱ༭Îļþ¡£µ±È»£¬¶ÔUNIXϵͳÂÔÓÐËùÖªµÄÈË£¬»ò¶à»òÉÙ¶¼¾õµÃvi³¬¼¶ÄÑÓ㬵«viÊÇ×î»ù±¾µÄ±à¼­Æ÷£¬ËùÒÔÏ£Íû¶ÁÕßÄܺúðÑËüѧÆðÀ´£¬ÒÔºóÔÚUNIXÊÀ½çÀï±Ø½«³©ÐÐÎÞ×è¡¢ÓÎÈÐÓÐÓ࣬ÒòΪÆäËû¼¸ÖÖÎı¾´¦ÀíÆ÷²¢·ÇUNIX±ê×¼Å䱸¡£Ëµ²»¶¨±ðÈ˵ÄLinux»úÆ÷û°²×°joe»òpico£¬Èç¹ûÄú²»»ávi£¬ÄÇÄú¿ÉÄܾÍûéüÁË¡£
viµÄ»ù±¾¸ÅÄî
»ù±¾ÉÏvi¿É·ÖΪÈýÖÖ²Ù×÷״̬£¬·Ö±ðÊÇÃüÁîģʽ£¨Command mode£©¡¢²åÈëģʽ£¨Insert mode£©ºÍµ×ÏßÃüÁîģʽ£¨Last line mode£©£¬¸÷ģʽµÄ¹¦ÄÜÇø·ÖÈçÏ£º
1£® Comand mode£º¿ØÖÆÆÁÄ»¹â±êµÄÒÆ¶¯£¬×Ö·û»ò¹â±êµÄɾ³ý£¬Òƶ¯¸´ÖÆÄ³Çø¶Î¼°½øÈëInsert modeÏ£¬»òÕßµ½Last line mode¡£
2£® Insert mode£ºÎ¨ÓÐÔÚInsert modeÏ£¬²Å¿É×öÎÄ×ÖÊý¾ÝÊäÈ룬°´EscµÈ¿É»Øµ½Comand mode¡£
3£® Last line mode£º½«´¢´æÎļþ»òÀ뿪±à¼­Æ÷£¬Ò²¿ÉÉèÖñ༭»·¾³£¬ÈçѰÕÒ×Ö·û´®¡¢ÁгöÐкŵȡ£
²»¹ý¿ÉÒÔ°Ñvi¼ò»¯³ÉÁ½¸öģʽ£¬¼´Êǽ«Last line modeÒ²ËãÈëCommand mode,°Ñvi·Ö³ÉCommand ºÍInsert mode¡£
viµÄ»ù±¾²Ù×÷
?½øÈëvi
ÔÚϵͳÌáʾ·ûºÅÊäÈëvi¼°ÎļþÃû³Æºó£¬¼´¿É½øÈëviÈ«ÆÁÄ»±à¼­»­Ã棺
$ vi testfile
ÓÐÒ»µãÒªÌØ±ð×¢Ò⣬¾ÍÊÇÄú½øÈëviÖ®ºóÊÇ´¦ÓÚ“Command mode”Ï£¬ÄúÒªÇл»µ½Insert mode²ÅÄÜÊäÈëÎÄ×Ö¡£³õ´ÎÓÃviµÄÓû§¶¼»áÏëÏÈÓÃÉÏÏÂ×óÓÒ¼üÒÆ¶¯¹â±ê£¬½á¹ûµçÄÔÒ»Ö±½Ð£¬°Ñ×Ô¼ºÆø¸ö°ëËÀ£¬ËùÒÔ½øÈëviºó£¬ÏȲ»ÒªÂÒ¶¯£¬×ª»»ÈëInsertºóÔÙ˵¡£
?Çл»ÖÁInsert mode±à¼­Îļþ
ÔÚCommand modeϰ´‘i’¡¢‘a’»ò‘o’Èý¼ü¾Í¿É½øÈëInsert mode¡£ÕâʱºòÄú¾Í¿ÉÒÔ¿ªÊ¼ÊäÈëÎÄ×ÖÁË¡£
i: ²åÈ룬´ÓĿǰ¹â±êËùÔÚÖ®´¦²åÈëËùÊäÈëµÄÎÄ×Ö¡£
a: Ôö¼Ó£¬Ä¿Ç°¹â±êËùÔÚµÄÏÂÒ»¸ö×Ö¿ªÊ¼ÊäÈëÎÄ×Ö¡£
o: ²åÈëеÄÒ»ÐУ¬´ÓÐÐÊ׿ªÊ¼ÊäÈëÎÄ×Ö¡£
?InsertµÄÇл»→Command mode£¬°´Esc¼ü
ÄúĿǰ´¦ÓÚInsert mode£¬Äú¾ÍÖ»ÄÜÒ»Ö±´ò×Ö¡£¼ÙÈçÄú·¢ÏÖ´ò´í×ÖÁË£¬ÏëÓùâ±ê¼üÍù»ØÒƶ¯£¬½«¸Ã×Öɾ³ý£¬¾ÍÒª°´ESC¼üת»»»ØCommand mode£¬ÔÙɾ³ýÎÄ×Ö¡£
?À뿪vi¼°´æÎļþ
ÔÚCommand modeÏ£¬¿É°´Ã°ºÅ“£º”¼üÈëÈëLast line mode£¬ÀýÈ磺
:w filename (ÊäÈë“w filename”£¬½«ÎÄÕ´æÈëÖ¸¶¨µÄÎļþÃûfilename)
:wq (ÊäÈë“wq”£¬ÒòΪ½øÈë֮ʱÒѾ­Ö¸¶¨ÎļþÃûtestfile£¬ËùÒÔ»áдÈëtestfile²¢À뿪vi)
:q!


Ïà¹ØÎĵµ£º

linux 0.11 ÄÚºËѧϰ read_write.c


/*
 * ¸ÃÎļþʵÏÖϵͳµ÷ÓÃread£¬writeºÍlseek¡£
 */
/*
 *  linux/fs/read_write.c
 *
 *  (C) 1991  Linus Torvalds
 */
#include <sys/stat.h>
#include <errno.h>
#include <sys/types.h>
#include <linux/kernel.h>
#include < ......

linux 0.11 ÄÚºËѧϰ pipe.c


/*
 * ¸ÃÎļþÖеÄÁ½¸öº¯Êýread_pipeºÍwrite_pipeÊÇÉϲ㺯Êý
 * readºÍwriteµÄµ×²ãʵÏÖ
 */
/*
 *  linux/fs/pipe.c
 *
 *  (C) 1991  Linus Torvalds
 */
#include <signal.h>
#include <linux/sched.h>
// ÄÚ´æ¹ÜÀíÍ·Îļþ¡£º¬ÓÐÒ³Ãæ´óС¶¨Òåº ......

linux 0.11 ÄÚºËѧϰ file_dev.c


/*
 *  linux/fs/file_dev.c
 *
 *  (C) 1991  Linus Torvalds
 */
#include <errno.h>
#include <fcntl.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <asm/segment.h>
#define MIN(a,b) (((a)<(b))?(a):(b))
#defi ......

linux¸ùÎļþϵͳ¹ÒÔØ

ÓÉbootload½øÈëlinuxºóÓÉhead.s½øÈëÁËstart_kernelÁË.
asmlinkage void __init start_kernel(void)
{
       char * command_line;
       extern struct kernel_param __start___param[], __stop___param[];
       &hel ......

linux ÄÚ´æ¹ÜÀíÖ®»ù´¡Æª

Ò».LinuxÄÚ´æ¹ÜÀíµÄһЩ»ù±¾¸ÅÄî
ÄÚ´æ¿Õ¼ä£º
            ¾ø´ó¶àÊýµÄǶÈëʽϵͳµÄϵͳÄÚ´æºÍI/OµØÖ·¿Õ¼äÊÇͳһ±àÖ·µÄ£¬ÄÚ´æºÍI/OµØÖ·¿Õ¼ä¹²Ïí0x00000000~0xFFFFFFFF¹²4GBµØÖ·¿Õ¼ä·¶Î§£¬Õâ4GBµÄµØÖ·¿Õ¼ä·¶Î§°üÀ¨ÒÔϼ¸ÖÖ´æ´¢¿Õ¼ä£ºÉ豸¿Õ¼ä¡¢ÄÚ²¿¸ßËÙSRAM¿Õ¼ä¡¢ÄÚ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ