linux ²éÕÒÖ´ÐгÌÐòµÄµ±Ç°Â·¾¶
linux shell pwd ÏÔʾµ±Ç°Â·¾¶
¼ÙÈôÓÐtest.cpp
g++ test.cpp -o test
./test
ÏëÔÚtestÖÐÕÒµ½µ±Ç°Ö´ÐгÌÐòËùÔڵķ¾¶
¿ÉÒÔÔÙtest.cppÖÐʹÓÃreadlinkº¯Êý
¾ßÌå¼ûÈçÏÂʵÀý£º
#include<iostream>
#include<unistd.h>
#include<dirent.h>
#include<string.h>
#include<string>
using namespace std;
int main()
{
char buff[1024];
memset(buff,0,sizeof(buff));
int n = readlink("/proc/self/exe",buff,1023);
if(n<0)
{
cout<<"Get Path failed"<<endl;
return -1;
}
string path = buff;
int nLen = path.rfind('/');
path.erase(nLen,path.length() - nLen);
cout<<"zui zhong lu jing :"<<path<<endl;
return 0;
}
½÷¼ÇÊÇ/proc/self/exe ÔÚ´ËijÈËÔعý¸úÍ·
Ïà¹ØÎĵµ£º
Òý×Ô£ºhttp://server.it168.com/a2009/0309/267/000000267918.shtml
4.1.7 LinuxµÄµÚÒ»¸ö½ø³Ì£ºinit£¨1£©
initÊÇLinuxϵͳִÐеĵÚÒ»¸ö½ø³Ì£¬½ø³ÌIDΪ1£¬ÊÇϵͳËùÓнø³ÌµÄÆðµã£¬Ö÷ÒªÓÃÀ´Ö´ÐÐһЩ¿ª»ú³õʼ»¯½Å±¾ºÍ¼àÊÓ½ø³Ì¡£LinuxϵͳÔÚÍê³ÉÄÚºËÒýµ¼ÒÔºó¾Í¿ªÊ¼ÔËÐÐinit³ÌÐò£¬init³ÌÐòÐèÒª¶ÁÈ¡ÅäÖÃÎļþ/etc/inittab¡£init ......
WindowsϵͳÆäʵºÍLinuxϵͳÓÐÏàËƵĵط½£¬WindowsϵͳÎļþ¡¢Ä¿Â¼µÄÊôÐÔÓÐÖ»¶Á¡¢Òþ²Ø£¬¶øLinuxÒ²Ò»Ñù¡£ LinuxÖУ¬Ã¿Ò»¸öÎļþ¶¼¾ßÓÐÌض¨µÄÊôÐÔ¡£Ö÷Òª°üÀ¨ÎļþÀàÐͺÍÎļþȨÏÞÁ½¸ö·½Ãæ¡£¿ÉÒÔ·ÖΪ5ÖÖ²»Í¬µÄÀàÐÍ£ºÆÕͨÎļþ¡¢Ä¿Â¼Îļþ¡¢Á´½ÓÎļþ¡¢É豸ÎļþºÍ¹ÜµÀÎļþ¡£ ËùνµÄÎļþȨÏÞ£¬ÊÇÖ¸¶ÔÎļþµÄ·ÃÎÊȨÏÞ£¬°üÀ¨¶Ô ......
¹«Ë¾ÓÐ̨ÔËÐÐCentOS5.3µÄµçÄÔ½ñÔçÆô¶¯µÄʱºòÒ»Ö±Ìáʾ#repair filesystem 1ϵͳÎļþË𻵣¬ÐèÒªÐÞ¸´£¬È»¶øʹÓÃfsckÐÞ¸´ÁË°ëÌ컹ÊÇÎÞ·¨½øÈëXWindow¡£ÕâʱÎÒÐèÒªÓÃÓÅÅÌ¿½±´ÀïÃ漸¸öÎļþ£¬Ë÷ÐÔµ½ÃüÁîÐÐshellÖп½±´µÃÁË¡£¿ÉÊǽøÈ¥mountÉ豸µÄʱºòÈ´ÌáʾÎÒ£ºÏµÍ³ÎļþĿ¼ֻ¶Á£¬ÎÞ·¨´´½¨¹Ò½ÓÉ豸Îļþ......Ôõô° ......
×î½ü×ölinuxϵͳ²Ã¼ô£¬ÐÞ¸ÄǶÈëʽϵͳµÄinittabÎļþʱÎ󽫱¾»úinittabÎļþÐ޸ġ£
rebootºó³öÏÖ
INIT: /etc/inittab[2]: missing id field
INIT: /etc/inittab[3]: missing id field.
Enterrunlevel:
ÊäÈë3,»ò1£¬»òsinggleºó³öÏÖ
INIT: no more processess left in this runlevel
ϵͳֹͣ¡£
google£¬baiduµ½Ò»ÆªÒý ......
ÓɲÙ×÷ϵͳʵÏÖµÄËùÓÐϵͳµ÷ÓÃËù¹¹³ÉµÄ¼¯ºÏ¼´³ÌÐò½Ó¿Ú»òÓ¦Óñà³Ì½Ó¿Ú(Application Programming Interface£¬API)¡£ÊÇÓ¦ÓóÌÐòͬϵͳ֮¼äµÄ½Ó¿Ú¡£
¡¡¡¡²Ù×÷ϵͳµÄÖ÷Òª¹¦ÄÜÊÇΪӦÓóÌÐòµÄÔËÐд´½¨Á¼ºÃµÄ»·¾³£¬ÎªÁË´ïµ½Õâ¸öÄ¿µÄ£¬ÄÚºËÌṩһϵÁо߱¸Ô¤¶¨¹¦ÄܵĵÄÄں˺¯Êý£¬Í¨¹ýÒ»×é³ÆΪϵͳµ÷Óõģ¨system call)µÄ½Ó¿Ú³ÊÏÖ¸øÓà ......