LinuxÓÃNasmÇÉ»ã±à
Ëæ×ÅLinuxµÄÆÕ¼°£¬ÈçºÎÔÚLinuxƽ̨ϽøÐбà³Ì£¬ÓÈÆäÊÇ»ã±à³ÉΪ´ó¼Ò¹Ø×¢µÄÒ»¸öÎÊÌ⣬µ«ÊÇÕâ·½Ãæ×ÊÁÏÈ´ºÜÉÙ¡£ÔÚ±é·ÃÍøÕ¾ºÍÂÛ̳ºó£¬ÎÒ°ÑÊÕ¼¯µ½µÄ×ÊÁϽáºÏ±¾ÈË×ܽáµÄһЩ¾Ñé¸ú´ó¼Ò·ÖÏíһϡ£
Nasm½éÉÜ
LinuxϵĻã±à±àÒëÆ÷ÓжàÖÖ£¬Óï·¨Ò²²»¾¡Ïàͬ£¬ÆäÖÐGASÊDZȽϻù±¾µÄ»ã±à¹¤¾ß¡£µ«ÊÇGAS²ÉÓõIJ»ÊÇÎÒÃÇͨ³£ÔÚDOSÌåϵÏÂʹÓõĻã±àÓï·¨£¬Ëü²ÉÓõÄÊÇAT&TµÄÓï·¨¸ñʽ£¬ÕâÊǼ̳ÐUnixµÄÌØµã£¬ÓëIntelÓï·¨¸ñʽÓкܴóµÄ²»Í¬¡£
×÷Ϊһ¸ö´ÓDOSתÐ͵½LinuxµÄ»ã±à°®ºÃÕߣ¬AT&TµÄ¸ñʽ²»Ì«ÈÝÒ×½ÓÊÜ£¬Ñ§Ï°ÆðÀ´Ò²·Ç³£À§ÄÑ¡£ÎÒÒª½éÉܵÄÊÇÁíÒ»ÖÖ»ã±à¹¤¾ßNasm£¬Õâ¸úDOSÏÂÓõÄIntel x86»ã±à·ç¸ñµÄMasmÀàËÆ£¬ÊÇLinuxÖÐÓï·¨ÓëDOS×îΪÏàÏñµÄÒ»ÖÖ»ã±à¹¤¾ß¡£
ÏÂÃæ¾ÍÒÔhello.asmÕâ¸öС³ÌÐòΪÀý£¬½éÉÜÈçºÎÓÃNasmÔÚLinuxϽøÐлã±à¡£
hello.asm
hello world for Linux
section .text
extern puts
global main
main:
push dword msge ;
call puts ;
add esp, byte 4 ;
ret ;
msge:
db “Hello World!”,0
Nasm±àÒëÃüÁîÈçÏ£º
Nasm -f elf hello.asm
gcc -o hello hello.o
“Nasm -f elf hello.asm”Êǽ«°Ñhello.asm»ã±à³Éelf objectÎļþ¡£“gcc -o hello hello.o”»á°Ñhello.asm»ã±à³É¶þ½øÖÆ¿ÉÖ´ÐÐÎļþhello.com ¡£
Nasm -fÃüÁîµÄ²ÎÊýÖ÷ÒªÓÐaoutºÍelfÁ½ÖÖ£¬Èç¹û²»ÄÜÈ·¶¨LinuxϵͳӦ¸ÃÓÃaout»¹ÊÇelf£¬¿ÉÒÔÔÚNasmĿ¼ÖÐÊäÈëÃüÁîfile Nasm£¬Èç¹ûÊä³ö“Nasm: ELF 32-bit LSB executable i386(386 and up) Version 1”Ó¦¸ÃʹÓÃelf£»Èç¹ûÊä³ö“Nasm: Linux/i386 demand-paged executable(QMAGIC) ”Ó¦¸ÃʹÓÃaout¡£ÓÃÃüÁîNasm -h¿ÉÒÔÈ¡µÃNasmÃüÁîÐеÄÍêÕû˵Ã÷¡£
³ÌÐò˵Ã÷
hello.asmÊǵ÷ÓÃÁËLinuxϵͳµÄputsº¯Êý£¬ÔÀíÓëµ÷ÓÃDOSÏÂCÓïÑԵĺ¯ÊýÏàͬ£¬ÏÈÓÃexternÉùÃ÷putsÊÇÍⲿº¯Êý£¬ÔٰѲÎÊý£¨¼´msgµÄµØÖ·£©Ñ¹Èë¶ÑÕ»£¬×îºócallº¯ÊýʵÏÖÊä³ö¡£ ÔÙÀ´¿´Ò»¸ö³ÌÐò£º
section .text
global main
main:
mov eax,4 ; 4ºÅµ÷ÓÃ
mov ebx,1 ; ebxËÍ1±íʾÊä³ö
mov ecx,msge ; ×Ö·û´®µÄÊ×µØÖ·ËÍÈëecx
mov edx,14 ; ×Ö·û´®µÄ³¤¶ÈËÍÈëedx
int 80h ; Êä³ö×Ö´®
mov eax,1 ; 1ºÅµ÷ÓÃ
int 80h ; ½áÊø
msge:
db “Hello World!”,0ah,0dh
Õâ¸ö³ÌÐòÓëDOS³ÌÐòÊ®·ÖÏàËÆ£¬¶øÇÒ½á¹ûͬhello.asmÒ»Ñù£¬ËüÓõÄÊÇLinuxÖеÄ80hÖжϣ¬Ï൱ÓÚDOSϵÄ21hÖжϣ¬Ö»ÊÇÒòΪLinuxÊÇ32λ²Ù×
Ïà¹ØÎĵµ£º
ʹÓÃInputStreamºÍOutputStreamÀ´»ñµÃÃüÁîÐÐÔËÐнá¹ûºÍÊäÈëÄÚÈÝÊÇÊ×ÏÈÐèÒª¾ß±¸µÄ.
È»ºóÒª½â¾öSSHÁ¬½ÓÎÊÌâ.
ÔÚOpenSourceÏîÄ¿ÀïÕÒµ½ÁËGanymed SSH-2 for Java .ÏÂÔØºóÓÐÀý×Ó,µ«ÊÇûÓÐÕÒµ½Óйؽ»»¥ÃüÁîµÄÀý×Ó.ËùÒÔ×Ô¼ºÌ½Ë÷ÁËÒ»ÏÂ
ÔÚÍøÉÏ¿´ÓÐÀÏÍâÌÖÂÛÓÃÕâ¸öÈçºÎ¸ÄÃÜÂë,»ù±¾ÉϵÄÎÊÌâ¶¼ÊÇÒòΪÕÒ²»µ½·µ»ØµÄÌáʾ
LinuxÐÞ¸ÄÃÜ ......
1 Ê×ÏÈORACLE_SIDÎÊÌâ
[oracle@paopao ~]$ echo $ORACLE_SID
orcl
ÒòΪҪ´´½¨µÄÊý¾Ý¿âÃûΪorcl1£¬ËùÒÔ¸ü¸ÄORACLE_SIDÈçÏ£º
[oracle@paopao ~]$ export ORACLE_SID=orcl1
2 ×¼±¸³õʼ»¯²ÎÊýÎļþ
##########################################################################
####
# Copyright (c) 19 ......
fg¡¢bg¡¢jobs¡¢&¡¢ctrl + z¶¼ÊǸúϵͳÈÎÎñÓйصģ¬ËäÈ»ÏÖÔÚ»ù±¾Éϲ»ÔõôÐèÒªÓõ½ÕâЩÃüÁµ«Ñ§»áÁËÒ²ÊǺÜʵÓõÄ
Ò»¡£& ×î¾³£±»Óõ½
Õâ¸öÓÃÔÚÒ»¸öÃüÁîµÄ×îºó£¬¿ÉÒÔ°ÑÕâ¸öÃüÁî·Åµ½ºǫִ́ÐÐ
¶þ¡£ctrl + z
¿ÉÒÔ½«Ò»¸öÕýÔÚǰִ̨ÐеÄÃüÁî·Åµ½ºǫ́£¬²¢ÇÒÔÝÍ£
Èý¡£jobs
& ......
ÄÚºËÇý¶¯·ÖÀà
Çý¶¯ÊµÏÖ¹¦ÄÜ£º
¶Á
д
´ò¿ª
ÉèÖÃ
×îÖÕÄ¿µÄ²Ù×÷Ó²¼þÉ豸£ºÊý¾Ý´«ÊäºÍÊý¾Ý¿ØÖÆ
Ó²¼þ²Î¿¼ÊֲᣬÄÚºËÌṩµÄ¹¦ÄÜ£º²Ù×÷ʱÐò£¬×ÜÏßÈçºÎ²Ù×÷£¬ÄÚºËAPI
1.×Ö·ûÉ豸£¨char£©
2.¿éÉ豸£¨block£©
3.ÍøÂçÉ豸£¨net£©
ÄÚºËÄ£¿é²Ù×÷ÃüÁî
make
¼ÓÔØ:sudo modprobe ./Mo ......
1ºÅ½ø³Ì£¬pidΪ1µÄ½ø³Ì£¬ÓÖ³Æinit½ø³Ì¡£
¡¡¡¡linuxϵͳÆô¶¯ºó£¬µÚÒ»¸ö±»´´½¨µÄÓû§Ì¬½ø³Ì¾ÍÊÇinit½ø³Ì¡£ËüÓÐÁ½ÏîʹÃü£º
¡¡¡¡1¡¢Ö´ÐÐϵͳ³õʼ»¯½Å±¾£¬´´½¨Ò»ÏµÁеĽø³Ì(ËüÃǶ¼ÊÇinit½ø³ÌµÄ×ÓËï);
¡¡¡¡2¡¢ÔÚÒ»¸öËÀÑ»·ÖеȴýÆä×Ó½ø³ÌµÄÍ˳öʼþ£¬²¢µ÷ÓÃwaitidϵͳµ÷ÓÃÀ´Íê³É“ÊÕʬ”¹¤×÷;
¡¡¡¡init½ø³Ì²»»á±»ÔÝ ......