linuxϵÄso¡¢o¡¢lo¡¢a¡¢laÎļþÓÐÊ²Ã´Çø±ð£¿
o: ±àÒëµÄÄ¿±êÎļþ
a: ¾²Ì¬¿â£¬Æäʵ¾ÍÊǰÑÈô¸ÉoÎļþ´òÁ˸ö°ü
so: ¶¯Ì¬Á´½Ó¿â£¨¹²Ïí¿â£©
lo: ʹÓÃlibtool±àÒë³öµÄÄ¿±êÎļþ£¬Æäʵ¾ÍÊÇÔÚoÎļþÖÐÌí¼ÓÁËһЩÐÅÏ¢
la: ʹÓÃlibtool±àÒë³öµÄ¿âÎļþ£¬ÆäʵÊǸöÎı¾Îļþ£¬¼Ç¼ͬÃû¶¯Ì¬¿âºÍ¾²Ì¬¿âµÄÏà¹ØÐÅÏ¢
1 libtoolµÄ¹¤×÷ÔÀí
libtool ÊÇÒ»¸öͨÓÿâÖ§³Ö½Å±¾£¬½«Ê¹Óö¯Ì¬¿âµÄ¸´ÔÓÐÔÒþ²ØÔÚͳһ¡¢¿ÉÒÆÖ²µÄ½Ó¿ÚÖУ»Ê¹ÓÃlibtoolµÄ±ê×¼·½·¨£¬¿ÉÒÔÔÚ²»Í¬Æ½Ì¨ÉÏ´´½¨²¢µ÷Óö¯Ì¬¿â¡£¿ÉÒÔÈÏΪlibtoolÊÇgccµÄÒ»¸ö³éÏ󣬯ä°ü×°ÁËgcc£¨»òÕ߯äËûµÄ±àÒëÆ÷£©£¬Óû§ÎÞÐèÖªµÀϸ½Ú£¬Ö»Òª¸æËßlibtoolÐèÒª±àÒëÄÄЩ¿â¼´¿É£¬libtool½«´¦Àí¿âµÄÒÀÀµµÈϸ½Ú¡£libtoolÖ»Óëºó׺ÃûΪlo¡¢laΪµÄlibtoolÎļþ´ò½»µÀ¡£
libtoolÖ÷ÒªµÄÒ»¸ö×÷ÓÃÊÇÔÚ±àÒë´óÐÍÈí¼þµÄ¹ý³ÌÖнâ¾öÁË¿âµÄÒÀÀµÎÊÌ⣻½«·±ÖصĿâÒÀÀµ¹ØÏµµÄά»¤¹¤×÷³Ðµ£ÏÂÀ´£¬´Ó¶øÊÍ·ÅÁ˳ÌÐòÔ±µÄÈËÁ¦×ÊÔ´¡£libtoolÌṩͳһµÄ½Ó¿Ú£¬Òþ²ØÁ˲»Í¬Æ½Ì¨¼ä¿âµÄÃû³ÆµÄ²îÒìµÈϸ½Ú£¬Éú³ÉÒ»¸ö³éÏóµÄºó׺ÃûΪla¸ß²ã¿âlibxx.la£¨ÆäʵÊǸöÎı¾Îļþ£©£¬²¢½«¸Ã¿â¶ÔÆäËü¿âµÄÒÀÀµ¹ØÏµ£¬¶¼Ð´ÔÚ¸ÃlaµÄÎļþÖС£¸ÃÎļþÖеÄdependency_libs¼Ç¼¸Ã¿âÒÀÀµµÄËùÓп⣨ÆäÖÐÓÐЩÊÇÒÔ.laÎļþµÄÐÎʽ¼ÓÈëµÄ£©£»libdirÔòÖ¸³öÁË¿âµÄ°²×°Î»Öã»library_names¼Ç¼Á˹²Ïí¿âµÄÃû×Ö£»old_library¼Ç¼Á˾²Ì¬¿âµÄÃû×Ö¡£
µ±±àÒë¹ý³Ìµ½link½×¶ÎµÄʱºò£¬Èç¹ûÓÐÏÂÃæµÄÃüÁ
$libtool --mode=link gcc -o myprog -rpath /usr/lib –L/usr/lib –la
libtool»áµ½/usr/lib·¾¶ÏÂȥѰÕÒliba.la£¬È»ºó´ÓÖжÁȡʵ¼ÊµÄ¹²Ïí¿âµÄÃû×Ö£¨library_namesÖмǼÁ˸ÃÃû×Ö£¬±ÈÈçliba.so£©ºÍ·¾¶(lib_dirÖмǼÁË£¬±ÈÈçlibdir=’/usr/lib’)£¬·µ»ØÖîÈç/usr/lib/liba.soµÄ²ÎÊý¸ø¼¤·¢³öµÄgccÃüÁîÐС£
Èç¹ûliba.soÒÀÀµÓÚ¿â/usr/lib/libb.so£¬ÔòÔÚliba.laÖн«»áÓÐdependency_libs=’-L/usr/lib -lb’»òÕßdependency_libs=’/usr/lib/libb.la’µÄÐУ¬Èç¹ûÊÇǰÕߣ¬Æä½«Ö±½Ó°Ñ“-L/usr/lib –lb”µ±×÷²ÎÊý´«¸øgccÃüÁîÐУ»Èç¹ûÊǺóÕߣ¬libtool½«´Ó/usr/lib/libb.laÖжÁȡʵ¼ÊµÄlibb.soµÄ¿âÃû³ÆºÍ·¾¶£¬È»ºó×éºÏ³É²ÎÊý“/usr/lib/libb.so”´«µÝ¸øgccÃüÁîÐС£
µ±ÒªÉú³ÉµÄÎļþÊÇÖîÈçlibmylib.laµÄʱºò£¬±ÈÈ磺
$libtool --mode=link gcc -o libmylib.la -rpath /usr/lib –L/usr/lib –la
ÆäÒÀÀµµÄ¿âµÄËÑË÷»ù±¾ÀàËÆ£¬Ö»ÊÇÔÚÕâ¸öʱºò»á¸ù¾ÝÏàÓ¦µÄ¹æÔòÉú³ÉÏàÓ¦µÄ¹²Ïí¿
Ïà¹ØÎĵµ£º
LinuxϵͳÏ»ù±¾ÃüÁ 񻂿·Ö´óСд uname ÏÔʾ°æ±¾ÐÅÏ¢£¨Í¬win2KµÄ ver£© dir ÏÔʾµ±Ç°Ä¿Â¼Îļþ,ls -al ÏÔʾ°üÀ¨Òþ²ØÎļþ£¨Í¬win2KµÄ dir£© pwd ²éѯµ±Ç°ËùÔÚµÄĿ¼λÖà cd cd¡¡..»Øµ½ÉÏÒ»²ãĿ¼£¬×¢Òâcd Óë..Ö®¼äÓпոñ¡£cd¡¡/·µ»Øµ½¸ùĿ¼¡£ cat ÎļþÃû ²é¿´ÎļþÄÚÈÝ cat >abc.txt Íùabc.txtÎļþÖÐдÉÏÄÚÈÝ¡£ more Î ......
¶ÔÓÚÒ»¸öÎļþÀ´Ëµ£¬ÓÐΨһµÄË÷Òý½ÓµãÓëÖ®¶ÔÓ¦£¬¶ø¶ÔÓÚÒ»¸öË÷Òý½ÓµãºÅ£¬È´¿ÉÒÔÓжà¸öÎļþÃûÓëÖ®¶ÔÓ¦¡£Òò´Ë£¬ÔÚ´ÅÅÌÉϵÄͬһ¸öÎļþ¿ÉÒÔͨ¹ý²»Í¬µÄ·¾¶È¥·ÃÎÊ
¸ÃÎļþ¡£
¡¡¡¡£±.Á¬½ÓÓÐÈíÁ¬½ÓºÍÓ²Á¬½Ó(hard link)Ö®·ÖµÄ£¬ÈíÁ¬½Ó(symbolic
link)ÓֽзûºÅÁ¬½Ó¡£·ûºÅÁ¬½ÓÏ൱ÓÚWindowsϵĿì½Ý·½Ê½¡£
ÈíÁ´½Óʵ¼ÊÉÏÖ»ÊÇÒ»¶ÎÎÄ× ......
½«¿ÉÒÆ¶¯É豸Á¬Èëϵͳʱ£¬ÏµÍ³µÄºǫ́ÖлáÒÀ´Î·¢ÉúÈçÏÂʼþ£º
l Äں˼ì²âµ½ÐÂÓ²¼þ²åÈ룬Ȼºó·Ö±ð֪ͨhotplugºÍudev¡£Ç°ÕßÓÃÀ´×°ÈëÏàÓ¦µÄÄÚºËÄ£¿é(Èçusb-storage)£¬¶øºóÕßÓÃÀ´ÔÚ/devÖд´½¨ÏàÓ¦µÄÉ豸½Úµã(Èç/dev/sda1)¡£
l udev´´½¨ÁËÏàÓ¦µÄÉ豸½ÚµãÖ®ºó£¬»á½«ÕâÒ»ÏûϢ֪ͨhalµÄÊØ»¤³ÌÐò(hald)¡£µ±È»udev»¹µÃ±£Ö¤Ð ......
ËäȻѧ¹ý
Linux Shell
±à³Ì£¬µ«ÓÉÓÚ±àд
Shell
½Å±¾µÄ»ú»áʵÔÚÊDZȽÏÉÙ
(
ͨ³£ÔÚÏîÄ¿³õÆÚ´î½¨¿ª·¢»·¾³Ê±±àдµÃ±È½Ï
¶àһЩ
)
£¬ËùÒÔÒ»
ЩÓï·¨¾Ã¶ø¾ÃÖ®¾Í»áÍüÁË£¬Ò»¸ö¼òµ¥µÄÓ﷨ȥ·ÊéЧÂÊʵÔÚÊÇÂý£¬ËùÒԾ͸öÈËÕûÀíÁËÒ»¸ö±í¸ñ£¬ÓÉÓÚÎÒÓõıà³ÌÓïÑÔÊÇ
C/C++
£¬ËùÒÔÔÚ±à³ÌµÄʱºòÍùÍùÄÔº£ÀïÃæÊ×
Ïȸ¡ÏÖµÄÊÇÓÃ
C
......
˵Ã÷£º±¾ÎÄÒÔÖ÷ÒªÎª×ªÔØÄÚÈÝ£¬Í¬Ê±¼ÓÈëÁËÎÒÔÚʹÓùý³ÌÖÐÓöµ½ÎÊÌâ¶ÔÆäµÄÐÞÕý£¡£¡£¡£¡£¡£¡£¡£¡£¡
ÏÈ˵statfs½á¹¹£º
#include <sys/vfs.h> /* »òÕß <sys/statfs.h> */
int statfs(const char *path, struct statfs *buf);
int fstatfs(int fd, struct statfs *buf);
²ÎÊý£º ......