ºìÁªLinuxÃÅ»§
Linux°ïÖú

³õʶLinux»·¾³±äÁ¿

·¢²¼Ê±¼ä:2007-07-04 09:45:46À´Ô´:ºìÁª×÷Õß:Dcsaqois
LinuxÊÇÒ»¸ö¶àÓû§µÄ²Ù×÷ϵͳ¡£Ã¿¸öÓû§µÇ¼ϵͳºó£¬¶¼»áÓÐÒ»¸öרÓõÄÔËÐл·¾³¡£Í¨³£Ã¿¸öÓû§Ä¬ÈϵĻ·¾³¶¼ÊÇÏàͬµÄ£¬Õâ¸öĬÈÏ»·¾³Êµ¼ÊÉϾÍÊÇÒ»×é»·¾³±äÁ¿µÄ¶¨Òå¡£Óû§¿ÉÒÔ¶Ô×Ô¼ºµÄÔËÐл·¾³½øÐж¨ÖÆ£¬Æä·½·¨¾ÍÊÇÐÞ¸ÄÏàÓ¦µÄϵͳ»·¾³±äÁ¿¡£

³£¼ûµÄ»·¾³±äÁ¿

¶ÔÓÚPATHºÍHOMEµÈ»·¾³±äÁ¿´ó¼Ò¶¼²»Ä°Éú¡£³ý´ËÖ®Í⣬»¹ÓÐÏÂÃæÒ»Ð©³£¼û»·¾³±äÁ¿¡£

¡ô HISTSIZEÊÇÖ¸±£´æÀúÊ·ÃüÁî¼Ç¼µÄÌõÊý¡£

¡ô LOGNAMEÊÇÖ¸µ±Ç°Óû§µÄµÇ¼Ãû¡£

¡ô HOSTNAMEÊÇÖ¸Ö÷»úµÄÃû³Æ£¬Ðí¶àÓ¦ÓóÌÐòÈç¹ûÒªÓõ½Ö÷»úÃûµÄ»°£¬Í¨³£ÊÇ´ÓÕâ¸ö»·¾³±äÁ¿ÖÐÀ´È¡µÃµÄ¡£

¡ô SHELLÊÇÖ¸µ±Ç°Óû§ÓõÄÊÇÄÄÖÖShell¡£

¡ô LANG/LANGUGEÊǺÍÓïÑÔÏà¹ØµÄ»·¾³±äÁ¿£¬Ê¹ÓöàÖÖÓïÑÔµÄÓû§¿ÉÒÔÐ޸Ĵ˻·¾³±äÁ¿¡£

¡ô MAILÊÇÖ¸µ±Ç°Óû§µÄÓʼþ´æ·ÅĿ¼¡£

¡ô PS1ÊÇ»ù±¾Ìáʾ·û£¬¶ÔÓÚrootÓû§ÊÇ#£¬¶ÔÓÚÆÕͨÓû§ÊÇ$¡£PS2ÊǸ½ÊôÌáʾ·û£¬Ä¬ÈÏÊÇ¡°>¡±¡£¿ÉÒÔͨ¹ýÐ޸Ĵ˻·¾³±äÁ¿À´Ð޸ĵ±Ç°µÄÃüÁî·û£¬±ÈÈçÏÂÁÐÃüÁî»á½«Ìáʾ·ûÐ޸ijÉ×Ö·û´®¡°Hello,My NewPrompt :) ¡±¡£

# PS1=" Hello,My NewPrompt :) "
Hello,My NewPrompt :)

³ýÁËÕâЩ³£¼ûµÄ»·¾³±äÁ¿£¬Ðí¶àÓ¦ÓóÌÐòÔÚ°²×°Ê±Ò²»áÔö¼ÓһЩ»·¾³±äÁ¿£¬±ÈÈçʹÓÃJava¾ÍÒªÉèÖÃJAVA_HOMEºÍCLASSPATHµÈ£¬¶ø°²×°Îå±ÊÊäÈë·¨»áÔö¼Ó»·¾³±äÁ¿"XMODIFIERS=@im=fcitx"µÈ¡£

¶¨ÖÆ»·¾³±äÁ¿

»·¾³±äÁ¿ÊǺÍShell½ôÃÜÏà¹ØµÄ£¬Óû§µÇ¼ϵͳºó¾ÍÆô¶¯ÁËÒ»¸öShell¡£¶ÔÓÚLinuxÀ´ËµÒ»°ãÊÇbash£¬µ«Ò²¿ÉÒÔÖØÐÂÉ趨»òÇл»µ½ÆäËüµÄShell¡£»·¾³±äÁ¿ÊÇͨ¹ýShellÃüÁîÀ´ÉèÖõģ¬ÉèÖúõĻ·¾³±äÁ¿ÓÖ¿ÉÒÔ±»ËùÓе±Ç°Óû§ËùÔËÐеijÌÐòËùʹÓ᣶ÔÓÚbashÕâ¸öShell³ÌÐòÀ´Ëµ£¬¿ÉÒÔͨ¹ý±äÁ¿ÃûÀ´·ÃÎÊÏàÓ¦µÄ»·¾³±äÁ¿£¬Í¨¹ýexportÀ´ÉèÖû·¾³±äÁ¿¡£ÏÂÃæÍ¨¹ý¼¸¸öʵÀýÀ´ËµÃ÷¡£

1. ÏÔʾ»·¾³±äÁ¿HOME

$ echo $HOME
/home/terry

2. ÉèÖÃÒ»¸öÐµĻ·¾³±äÁ¿WELCOME

$ export WELCOME="Hello!"
$ echo $WELCOME
Hello!

3. ʹÓÃenvÃüÁîÏÔʾËùÓеĻ·¾³±äÁ¿

$ env
HOSTNAME=terry.mykms.org
PVM_RSH=/usr/bin/rsh
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
...

4. ʹÓÃsetÃüÁîÏÔʾËùÓб¾µØ¶¨ÒåµÄShell±äÁ¿

$ set
BASH=/bin/bash
BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")
BASH_VERSION='2.05b.0(1)-release'
COLORS=/etc/DIR_COLORS.xterm
COLUMNS=80
DIRSTACK=()
DISPLAY=:0.0
...

5. ʹÓÃunsetÃüÁîÀ´Çå³ý»·¾³±äÁ¿

set¿ÉÒÔÉèÖÃij¸ö»·¾³±äÁ¿µÄÖµ¡£Çå³ý»·¾³±äÁ¿µÄÖµÓÃunsetÃüÁî¡£Èç¹ûδָ¶¨Öµ£¬Ôò¸Ã±äÁ¿Öµ½«±»ÉèΪNULL¡£Ê¾ÀýÈçÏ£º

$ export TEST="Test..." #Ôö¼ÓÒ»¸ö»·¾³±äÁ¿TEST
$ env|grep TEST #´ËÃüÁîÓÐÊäÈ룬֤Ã÷»·¾³±äÁ¿TESTÒѾ­´æÔÚÁË
TEST=Test...
$ unset $TEST #ɾ³ý»·¾³±äÁ¿TEST
$ env|grep TEST #´ËÃüÁîûÓÐÊä³ö£¬Ö¤Ã÷»·¾³±äÁ¿TESTÒѾ­´æÔÚÁË

6. ʹÓÃreadonlyÃüÁîÉèÖÃÖ»¶Á±äÁ¿

Èç¹ûʹÓÃÁËreadonlyÃüÁîµÄ»°£¬±äÁ¿¾Í²»¿ÉÒÔ±»Ð޸ĻòÇå³ýÁË¡£Ê¾ÀýÈçÏ£º

$ export TEST="Test..." #Ôö¼ÓÒ»¸ö»·¾³±äÁ¿TEST
$ readonly TEST #½«»·¾³±äÁ¿TESTÉèΪֻ¶Á
$ unset TEST #»á·¢Ïִ˱äÁ¿²»Äܱ»É¾³ý
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New" #»á·¢ÏÖ´ËÒ²±äÁ¿²»Äܱ»ÐÞ¸Ä
-bash: TEST: readonly variable

7. ÓÃC³ÌÐòÀ´·ÃÎʺÍÉèÖû·¾³±äÁ¿

¶ÔÓÚC³ÌÐòµÄÓû§À´Ëµ£¬¿ÉÒÔʹÓÃÏÂÁÐÈý¸öº¯ÊýÀ´ÉèÖûò·ÃÎÊÒ»¸ö»·¾³±äÁ¿¡£

¡ô getenv()·ÃÎÊÒ»¸ö»·¾³±äÁ¿¡£ÊäÈë²ÎÊýÊÇÐèÒª·ÃÎʵıäÁ¿Ãû×Ö£¬·µ»ØÖµÊÇÒ»¸ö×Ö·û´®¡£Èç¹ûËù·ÃÎʵĻ·¾³±äÁ¿²»´æÔÚ£¬Ôò»á·µ»ØNULL¡£

¡ô setenv()ÔÚ³ÌÐòÀïÃæÉèÖÃij¸ö»·¾³±äÁ¿µÄº¯Êý¡£

¡ô unsetenv()Çå³ýij¸öÌØ¶¨µÄ»·¾³±äÁ¿µÄº¯Êý¡£

ÁíÍ⣬»¹ÓÐÒ»¸öÖ¸Õë±äÁ¿environ£¬ËüÖ¸ÏòµÄÊǰüº¬ËùÓеĻ·¾³±äÁ¿µÄÒ»¸öÁÐ±í¡£ÏÂÃæµÄ³ÌÐò¿ÉÒÔ´òÓ¡³öµ±Ç°ÔËÐл·¾³ÀïÃæµÄËùÓл·¾³±äÁ¿£º

#include
extern char**environ;
int main ()
{
char**var;
for (var =environ;*var !=NULL;++var)
printf ("%s \n ",*var);
return 0;
}

»¹¿ÉÒÔͨ¹ýÐÞ¸ÄһЩÏà¹ØµÄ»·¾³¶¨ÒåÎļþÀ´Ð޸Ļ·¾³±äÁ¿£¬±ÈÈç¶ÔÓÚRed HatµÈLinux·¢Ðа汾£¬Óë»·¾³Ïà¹ØµÄÎļþÓÐ/etc/profileºÍ~/.bashrcµÈ¡£ÐÞ¸ÄÍê±ÏºóÖØÐµÇ¼һ´Î¾ÍÉúЧÁË¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ