×Ô¶¯vc2005¿ªÊ¼£¬Î¢ÈíÁ¦ÍÆ_s°²È«°æº¯ÊýÒÔÈ¡´ú²»°²È«µÄ±ê×¼·Ç_s°æº¯Êý£¬Èç¹ûÄã²»Óð²È«°æ£¬VC»á±¨Ò»´ó¶ÑÄÑ¿´µÄwarning¡£ÏÖÔÚÎÊÌâÀ´ÁË£¬Ê¹ÓÃÁË_s°æº¯Êýºó£¬VC2003²»ÄÜÓÃÁË£¬¶øÇÒÏëÒª°Ñ³ÌÐòÄõ½linuxÒ²ÎÞ·¨ÔËÐУ¬Äã¿ÉÒԷѾ¢°ÍÀµÄÔٸĻطÇ_s°æ£¬µ«ÊÇÌ«·Ñ¾¢ÁË£¬¶øÇÒwarningÓÖÀ´ÁË£¬¶øÇÒÕæµÄ¿ÉÄܻ᲻°²È«Å¶£¨¸ßÊÖºöÂÔ£©¡£
Óиö¼òµ¥µÄ°ì·¨À´½â¾öÕâ¸öÎÊÌ⣬¾ÍÊÇʹÓúꡣÔÚÄãµÄ³ÌÐòÀﶨÒåÒ»¸ömacro.hÎļþ£¬
#ifdef WIN32
#if _MSC_VER <1400 //vc2003
#define _DO_NOT_HAVE_S //Õâ¸öºê±íʾûÓÐ_s°æ£¬¾ÍÊÇvc2003»òÕßlinux
#else
#endif //VC2003
#else //LINUX
#define _DO_NOT_HAVE_S
#endif //WIN32
#ifdef _DO_NOT_HAVE_S //Èç¹ûûÓÐ_s°æµÄº¯Êý£¬ÔòÆô¶¯ÈçϵÄÌæ»»ºê
//#define sprintf_s(buffer,size,format, ...) sprintf(buffer,format,__VA_ARGS__)
#include <stdio.h>
#include <stdarg.h>
int sprintf_s(
char *buffer,
size_t sizeOfBuffer,
const char *format , ......
ºÍÎÒÃÇÌÖÂÛµÄÖ÷ÌâÔ½À´Ô½½üÁË¡£¡°ÄÐÅÂÈë´íÐУ¬Å®Å¼޴íÀÉ¡±£¬ÎÒ¶ÔÕâ¾ä»°µÄÌå»áÔ½À´Ô½Éî¿ÌÁË¡£×î½üÓиöÃñÉúÒøÐеÄÀÏ×ܺÍÎÒ̽ÌÖÁËÕâ¸öÎÊÌ⣬ºÁÎÞÒÉÎÊ£¬ÔÚÒøÐÐÕâ¸öÐÐÒµ¿Ï¶¨±ÈÒ»°ãµÄÐÐÒµÕõÇ®¡£ÓÚÊÇ£¬×ÔÈ»Çе½ÎÒÃǵϰÌ⣺LinuxÕâ¸öÐÐÒµÔõôÑù£¿ÕõÇ®Âð£¿ÒÔºó¿ªÔ´ÁËÎÒ»¹Óз¹³ÔÂð£¿×î½ü£¬ÎÒÄõ½ÁËÒ»·ÝLinuxµÄÖ°Òµ±¨¸æ¡£µ÷²é·¢ÏÖ£¬Ëæ×ŹúÄÚʹÓÃLinuxµÄµ¥Î»Ô½À´Ô½¶à£¬Ïà¹ØÈ˲ŵÄÐèÇóËæ¼´²úÉú£¬²¢ÇÒ³ÊÏÖ³ö¹©²»Ó¦ÇóµÄ¾ÖÃæ£¬Æä´ÓÒµÈËÔ±µÄ¾ÍÒµ»ú»áÏÔÖø¸ßÓÚUnix´ÓÒµÕߣ¬²¢ÇÒÒѲ»²îÓÚWindows¡£ÇÒÌýÎÒæ¸æ¸µÀÀ´¡£
ÕâÊDZ¨¸æµÄ¶ÔÏóÊǹúÄÚÖªÃûÕÐÆ¸ÍøÕ¾ÖÐ×î½üÒ»ÖÜ£¨2009-10-10µ½2009-10-20£©¹ØÓÚLinux¡¢WindowsÒÔ¼°UnixÈ˲ŵÄ21679ÌõÕÐÆ¸ÐÅÏ¢¡£ÔÚÕâÒ»ÖܵÄÕÐÆ¸ÐÅÏ¢ÖУº¶ÔLinuxÓÐÕÐÆ¸ÐèÇóµÄÆóÒµÊýÁ¿¹²ÓÐ2694¼Ò£¬ÓÐ8516¸ö¾ßÌ幤×÷¸Ú룬ÐèÇó25465ÃûLinuxÈ˲Å(LinuxÏà¹ØÖ°Î»ÈÈÕÐ)£»¶ÔWindowsÓÐÕÐÆ¸ÐèÇóµÄÆóÒµÊýÁ¿¹²ÓÐ3267¼Ò£¬ÓÐ9183¸ö¾ßÌ幤×÷¸Ú룬ÐèÇóÈ˲Å25770Ãû£»¶ÔUnixÓÐÕÐÆ¸ÐèÇóµÄÆóÒµÊýÁ¿¹²ÓÐ1727¼Ò£¬ÓÐ5491¸ö¾ßÌ幤×÷¸Ú룬ÐèÇóÈ˲Å20498Ãû¡£´Óµ®ÉúÆð£¬Linux¾ÍÒÔ¿ª·ÅÔ´´úÂëµÄģʽ¼°Æä°²È«ÐÔºÍÎȶ¨ÐÔÎüÒý×ÅÈ«ÊÀ½ç¼ÆËã»ú°®ºÃÕß¡£¶øËæ×ÅLinuxÔÚÖйúÊг¡Ñ¸ÃÍ·¢Õ¹£¬¹úÄÚLinuxÈ˲Åȱ¿ÚÖð ......
1£®¹ØÓÚÎļþ/Ŀ¼´¦ÀíµÄÖ¸Áî
1.1 ls Ö¸Áî
lsµÄÒâÒåΪ“list”£¬Ò²¾ÍÊǽ«Ä³Ò»¸öĿ¼ÏµÄÄÚÈÝÏÔʾ³öÀ´¡£
lsÓÐһЩ²ÎÊý£¬¿ÉÒÔ¸øÓèʹÓÃÕ߸ü¶àÓйصÄ×ÊѶ£¬ÈçÏ£º
-a£ºÔÚlinuxÖÐÈôÒ»¸öĿ¼»òÎļþÃû×ֵĵÚÒ»¸ö×ÖԪΪ“.”£¬ÔòʹÓÃls½«²»»áÏÔʾ³öÕâ¸öÎļþµÄÃû×Ö£¬ÎÒÃdzƴËÀàÎļþΪÒþ²ØÎļþ¡£Èç¹ûÎÒÃÇÒª²ì¿´ÕâÀàÎļþ£¬Ôò±ØÐë¼ÓÉϲÎÊý“-a”¡£
-l£º¿ÉÒÔÏÔʾ¸ü¶àµÄ×ÊѶ£¬ÈçÎļþ´æÈ¡È¨£¬ÎļþÓµÓÐÕߣ¨owner£©£¬Îļþ´óС£¬Îļþ×îºó¸üÐÂÈÕÆÚ¡£
-t£º°´Ê±¼äÅÅÐò³öÀ´
1.2 cp Ö¸Áî
cpÕâ¸öÖ¸ÁîµÄÒâÒåÊǸ´ÖÆ(“COPY”)£¬Ò²¾ÍÊǽ«Ò»¸ö»ò¶à¸öÎļþ¸´ÖƳÉÁíÒ»¸öÎļþ»òÕßÊǽ«Æä¸´ÖƵ½ÁíÒ»¸öĿ¼ȥ¡£
cpµÄÓ÷¨ÈçÏ£º
cp f1 f2£º½«ÎļþÃûΪf1µÄÎļþ¸´ÖÆÒ»·ÝΪÎļþÃûΪf2µÄÎļþ¡£
cp f1 f2 f3 … dir£º½«Îļþf1¡¢f2¡¢f3…¶¼ÒÔÏàͬµÄÎļþÃû¸´ÖÆÒ»·Ý·Åµ½Ä¿Â¼dirÀïÃæ¡£
cp –r dir1 dir2£º½«dir1µÄÈ«²¿ÄÚÈÝÈ«²¿¸´ÖƵ½dir2ÀïÃæ¡£
cpÒ²ÓÐһЩ²ÎÊý£¬ÈçÏ£º
-i£º´Ë²ÎÊýÊǵ±ÒÑÓÐÎļþÃûΪf2µÄÎļþʱ£¬ÈôåÉ×ÔʹÓÃcp½«»á½«ÔÀ´f2µÄÄÚÈÝÑڸǹýÈ¥£¬Òò´ËÔÚÒª¸Ç¹ý֮ǰ±ØÐëÏÈѯÎÊʹÓÃÕßһϡ£ÈçʹÓÃÕߵĻشðÊÇy(yes)²ÅÖ´Ðи´ÖƵ͝×÷¡ ......
LinuxÄÚºËÊÇ×÷ΪMonolithic architecture (µ¥ÄÚºËÌåϵ½á¹¹) ¶øÊµÏֵģ¬ÎªÁË»ñµÃ Microkernel architecture (΢ÄÚºËÌåϵ½á¹¹) ´øÀ´µÄ¿ÉÀ©Õ¹ÐԺͿÉά»¤ÐÔ£¬Linux ÒýÈëÁËÄ£¿é (module) »úÖÆ£¬(±È½Ï׼ȷµÄ˵·¨ÊÇ Loadable Kernel Module, ¿É×°ÔØÄÚºËÄ£¿é)£¬½å´ËÀ´±£Ö¤Äں˵Ľô´ÕÐÔºÍLinux±¾Éí¹ÌÓеĵ¥Ò»Ìåϵ½á¹¹µÄÓŵ㗗ÉÏÏÂÎÄÇл»Ëٶȿ졣 ÔÚLinuxÖУ¬Óû§(ͨ³£ÐèÒªrootȨÏÞ)ͨ¹ýmodutilsÈí¼þ°üÖÐÌṩµÄ¹¤¾ß£¬¶¯Ì¬µØ½«Ä£¿é(ÈçÍøÂçÇý¶¯µÈ)²åÈë¡¢ÒÆ³öÄںˡ£ÕâÑù£¬Äں˵ŦÄÜ¿ÉÒÔ¶¯Ì¬µØÌí¼ÓºÍɾ³ý£¬È´²»ÐèҪÿ´Î¶¼¾¹ýÈß³¤µÄ¹Ø»ú/ÖØÆô¹ý³Ì¡£ÒòΪģ¿éÔËÐеĻ·¾³ÊÇÄںˣ¬Òò¶øËü¾ßÓÐÄÚºËÌØÈ¨£¬Ä£¿é±à³ÌÒ²¾ÍÊÇÄں˱à³Ì£¬ËüÊÇLinux Kernel Hacking µÄÖ÷Òª¹¤¾ß¡£ÏÂÃæ£¬½²ÊöÔÚLinuxÏÂÈçºÎͨ¹ýmodule À´À¹½ØÏµÍ³µ÷Óã¬ÒÔ¼°Kernel Hacking µÄһЩ·À·¶ÊֶΡ£ Linuxͨ¹ýint 0x80 ÈíÖжÏʵÏÖϵͳµ÷Óá£ÏµÍ³µ÷ÓÃÁбíÔÚLinux×Ô¾Ùʱͨ¹ýinit_IRQ( ) µ÷Óúê set_intr_gate ³õʼ»¯¡£µ±ÏµÍ³µ÷Ó÷¢Éúʱ£¬Äں˼ì²éϵͳµ÷ÓõÄÓÐЧÐÔ£¬È»ºó½«¿ØÖÆÈ¨×ª¸øÊµ¼ÊµÄϵͳµ÷ÓôúÂ롣ϵͳµ÷Óñí sys_call_table[] ¿ÉÒÔÔÚÎļþ entry.S ÖÐÕÒµ½¡£Ëü¿´ÆðÀ´Ó¦¸ÃÈçÏÂËùʾ£º ¡ ¡ ENTRY (sys_call_table) ......
linuxÏÂĬÈÏÖ»ÄܽâѹzipѹËõÎļþ£¬¶ørarÎļþĬÈÏûÓнâѹ֧³ÖµÄ¹¤¾ß£¬ÕâÀïÌṩһ¸ö¼òµ¥µÄ·½Ê½£¬°²×°rar¹¤¾ß£¬Ö§³ÖlinuxϽâѹrarÎļþ¡£
1£ºÊ×ÏÈÏÂÔØrar½âѹ¹¤¾ß£¬ÕâÀïÓà rarlinux-3.6.b6.tar.gz£¬¸ø³öÒ»¸öÍøÓÑÌṩµÄ°æ±¾ÏÂÔØµØÖ·£º
http://blogimg.chinaunix.net/blog/upfile2/080226173046.gz
2£º½ÓÏÂÀ´Ö´ÐÐÈçϲÙ×÷
tar -zxvf rarlinux-3.6.b6.tar.gz
cd rar
make
make install
3£º´Ëʱ¿ÉÒÔ¿´µ½rarºÍunrarÁ½¸öÃüÁî¡£
½âѹrarѹËõÎļþÓãº
unrar x filename ......
sudoÊÇlinuxϳ£ÓõÄÔÊÐíÆÕͨÓû§Ê¹Ó󬼶Óû§È¨Ï޵Ť¾ß¡£
ËüµÄÖ÷ÒªÅäÖÃÎļþÊÇsudoers,linuxÏÂͨ³£ÔÚ/etcĿ¼Ï£¬Èç¹ûÊÇsolaris£¬È±Ê¡²»×°sudoµÄ£¬±àÒë°²×°ºóͨ³£ÔÚ°²×°Ä¿Â¼µÄ etcĿ¼Ï£¬²»¹ý²»¹ÜsudoersÎļþÔÚÄĶù£¬sudo¶¼ÌṩÁËÒ»¸ö±à¼¸ÃÎļþµÄÃüÁvisudoÀ´¶Ô¸ÃÎļþ½øÐÐÐ޸ġ£Ç¿ÁÒÍÆ¼öʹÓøÃÃüÁîÐÞ¸Ä sudoers£¬ÒòΪËü»á°ïÄãУÑéÎļþÅäÖÃÊÇ·ñÕýÈ·£¬Èç¹û²»ÕýÈ·£¬ÔÚ±£´æÍ˳öʱ¾Í»áÌáʾÄãÄĶÎÅäÖóö´íµÄ¡£
ÑÔ¹éÕý´«£¬ÏÂÃæ½éÉÜÈçºÎÅäÖÃsudoers
Ê×ÏÈдsudoersµÄȱʡÅäÖãº
#############################################################
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
# Defaults specification
# User privilege specification
root ALL=(ALL) ALL
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ......