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

µ÷½ÚÓû§»·¾³

·¢²¼Ê±¼ä:2006-10-02 19:55:23À´Ô´:ºìÁª×÷Õß:À÷ìÇ
¡¡¡¡½éÉÜ¡°fortune¡±

¡¡¡¡ÄúµÄ shell Óкܶà¿ÉÉèÖÃΪÊʺÏÄúµÄ¸öÈ˰®ºÃµÄÓÐÓõÄÑ¡Ïî¡£µ«ÊÇ£¬µ½Ä¿Ç°ÎªÖ¹£¬³ýÁËÿ´ÎÖØÐÂÊäÈëÒÔÍ⣬ÎÒÃÇ»¹Ã»ÓÐÌÖÂÛµ½Ã¿´ÎÄúµÇ¼ʱ£¬×Ô¶¯ÉèÖÃÕâЩÉèÖõÄÈκη½·¨¡£ÔÚ±¾ÕÂÖУ¬ÎÒÃǽ«¿´Ò»¿´Í¨¹ýÐÞ¸ÄÆô¶¯ÎļþÀ´µ÷½ÚÄúµÄµÇ¼»·¾³¡£

¡¡¡¡Ê×ÏÈ£¬µ±Äú³õ´ÎµÇ¼ʱ£¬ÎÒÃÇÀ´Ìí¼ÓÒ»ÌõÓѺõÄÏûÏ¢¡£Òª¿´Ê¾ÀýÏûÏ¢£¬ÔËÐÐ fortune£º

[code]$ fortune
No amount of careful planning will ever replace dumb luck.[/code]
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 12 ÌõÆÀÂÛ

  1. À÷ìÇ ÓÚ 2006-10-02 20:02:46·¢±í:

    ¡¡¡¡Ê¹Óá°env¡±

    ¡¡¡¡²»ÐÒµÄÊÇ£¬Èç¹ûÄúÍü¼Ç½« PAGER ÉèÖÃ»Ø less£¬man£¨ÏñÆäËüÃüÁîÒ»Ñù£©½«¼ÌÐøÃ»ÓÐÍ£¶ÙµØÏÔʾËùÓеÄÎı¾¡£Èç¹ûÄú½öÒ»´ÎÏ뽫 PAGER ÉèΪ cat£¬Äú¿ÉÒÔʹÓà env ÃüÁ

    [code]$ PAGER=less
    $ env PAGER=cat man man
    $ echo $PAGER
    less[/code]

    ¡¡¡¡ÕâÒ»´Î£¬PAGER ֵΪ cat£¬±»µ¼³öµ½ man£¬µ«ÔÚ bash »á»°ÖУ¬PAGER ±äÁ¿±¾ÉíÈÔȻδ¸Ä±ä¡£

  2. À÷ìÇ ÓÚ 2006-10-02 20:02:18·¢±í:

    ¡¡¡¡µ¼³öÒԸıäÃüÁîÐÐΪ

    ¡¡¡¡Í¨³££¬¿ÉÒÔͨ¹ýÉèÖû·¾³±äÁ¿À´¸Ä±äÃüÁîµÄÐÐΪ¡£ÕýºÍÐ嵀 bash »á»°Ò»Ñù£¬´ÓÄúµÄ bash Ìáʾ·ûÆô¶¯µÄÆäËü³ÌÐò½«Ö»ÄÜ¿´¼û±ê¼ÇΪµ¼³öµÄ±äÁ¿¡£ÀýÈ磬ÃüÁî man ¼ì²é±äÁ¿ PAGER£¬¿´Ò»¿´ÓÃʲô³ÌÐòÀ´Ã¿´ÎÒ»Ò³µØ±éÀúÎı¾¡£

    [code]$ PAGER=less
    $ export PAGER
    $ man man[/code]

    ¡¡¡¡½« PAGER ÉèÖÃΪ less£¬Äú½«Ã¿´Î¿´µ½Ò»Ò³£¬°´¿Õ¸ñ¼üÒÆµ½ÏÂÒ»Ò³¡£Èç¹ûÄú½« PAGER ¸ÄΪ cat£¬½«Á¢¿ÌÏÔʾËùÓеÄÎı¾£¬Ã»ÓÐÍ£¶Ù¡£

    [code]$ PAGER=cat
    $ man man[/code]

  3. À÷ìÇ ÓÚ 2006-10-02 20:01:41·¢±í:

    ¡¡¡¡È¡ÏûÉèÖÃÓë FOO= µÄ±È½Ï

    ¡¡¡¡ÕâÓ뽫±äÁ¿ÉèÖÃΪʲôҲ²»Éè²»Ïàͬ£¬ËäÈ»ÓÐʱºÜÄÑÇø±ð¡£Ò»ÖÖÇø±ðµÄ·½·¨ÊÇʹÓò»´ø²ÎÊýµÄÄÚÖÃµÄ set À´ÁгöËùÓе±Ç°±äÁ¿£º

    [code]$ FOO=bar
    $ set | grep ^FOO
    FOO=bar
    $ FOO=
    $ set | grep ^FOO
    FOO=
    $ unset FOO
    $ set | grep ^FOO[/code]

    ¡¡¡¡³ýÁË set ÁгöËùÓбäÁ¿¶ø²»½ö½öÊÇÄÇЩ±ê¼ÇΪҪµ¼³öµÄ±äÁ¿Í⣬ÏñÕâÑù²»´ø²ÎÊýʹÓà set ÓëʹÓÃÄÚÖÃµÄ export ÀàËÆ¡£

  4. À÷ìÇ ÓÚ 2006-10-02 20:00:48·¢±í:

    ¡¡¡¡Óá°set¡±ÉèÖñäÁ¿

    ¡¡¡¡ÄÚÖÃµÄ set »¹¿ÉÒÔÓÃÀ´ÉèÖñäÁ¿£¬µ«ÕâÑùʹÓÃʱ£¬ËüÊÇ¿ÉÑ¡µÄ¡£bash ÃüÁî set FOO=foo ±íʾµÄÒâ˼ÕýºÃºÍ FOO=foo Ïàͬ¡£È¡ÏûÉèÖñäÁ¿ÓÃÄÚÖÃµÄ unset À´Íê³É£º

    [code]$ FOO=bar
    $ echo $FOO
    bar
    $ unset FOO
    $ echo $FOO[/code]

  5. À÷ìÇ ÓÚ 2006-10-02 20:00:11·¢±í:

    ¡¡¡¡µ¼³öºÍÉèÖà -x

    ¡¡¡¡ÓÉÓÚÕâÖÖÐÐΪ£¬¿ÉÒÔÔÚ ~/.bash_profile »ò /etc/profile ÖÐÉèÖñäÁ¿ºÍ±ê¼ÇΪµ¼³ö£¬È»ºóÔÙÒ²²»ÐèÒªÖØÐÂÉèÖᣵ«ÊÇ£¬ÓÐһЩ²»Äܵ¼³öµÄÑ¡ÏÒò´ËΪÁËÉèÖõÃÒ»Ö£¬±ØÐ뽫ËüÃÇ·ÅÔÚÄúµÄ ~/.bashrc ºÍ »·¾³ÅäÖÃÎļþÖС£ÕâЩѡÏîÓÃÄÚÖÃµÄ set À´µ÷Õû£º

    [code]$ set -x[/code]

    -x Ñ¡Ïîʹ bash ´òÓ¡³öËüÒªÔËÐеÄÿ¸öÃüÁ

    [code]$ echo $FOO
    + echo foo
    foo[/code]

    ¡¡¡¡Õâ¶ÔÓÚÀí½âûÓÐÔ¤Áϵ½µÄÒýÓÃÐÐΪ»òÀàËÆµÄĪÃûÆäÃîµÄÏÖÏó·Ç³£ÓÐÓá£Òª¹Ø±Õ -x Ñ¡ÏÉèÖà set +x¡£Çë²ÎÔÄ bash ÊÖ²áÒ³À´»ñÈ¡ÄÚÖÃµÄ set µÄËùÓÐÑ¡ÏîµÄÐÅÏ¢¡£

  6. À÷ìÇ ÓÚ 2006-10-02 19:59:31·¢±í:

    ¡¡¡¡±ê¼ÇÒªµ¼³öµÄ±äÁ¿

    ¡¡¡¡Èç¹û±äÁ¿Ã»Óбê¼ÇΪµ¼³ö£¬ÈκÎËüÆô¶¯µÄÐ嵀 shell ½«²»»áÉèÖøñäÁ¿¡£µ«ÊÇ£¬Äú¿ÉÒÔͨ¹ý½«±äÁ¿´«¸øÄÚÖÃµÄ export À´½«Æä±ê¼ÇΪµ¼³ö£º

    [code]$ FOO=foo
    $ BAR=bar
    $ export BAR
    $ echo $FOO $BAR
    foo bar
    $ bash
    $ echo $FOO $BAR
    bar[/code]

    ¡¡¡¡ÔÚ±¾Ê¾ÀýÖУ¬Ò»ÆðÉèÖÃÁ˱äÁ¿ FOO ºÍ BAR£¬µ«ÊÇÖ»ÓÐ BAR ±»±ê¼ÇΪµ¼³ö¡£µ±Æô¶¯ÁËÐ嵀 bash£¬Ëü¶ªµô FOO µÄÖµ¡£Èç¹ûÄúÍ˳öÕâ¸öÐ嵀 bash£¬Äú¿ÉÒÔ¿´µ½×î³õµÄ bash ÈÔÈ»ÓÐ FOO ºÍ BAR µÄÖµ£º

    [code]$ exit
    $ echo $FOO $BAR
    foo bar[/code]

  7. À÷ìÇ ÓÚ 2006-10-02 19:58:46·¢±í:

    ¡¡¡¡export

    ¡¡¡¡¿ÉÒÔ¸ø bash ÖеıäÁ¿×÷Éϱê¼Ç£¬Ê¹ËüÃÇÔÚÈκΠbash Æô¶¯µÄÐ嵀 shell ÖÐÉèÖÃÏàͬ£»Õâ±»³ÆÎª×öÉϱê¼ÇÒԱ㵼³ö¡£ÔÚÄúµÄ shell »á»°ÖУ¬Äú¿ÉÒÔÁгö bash ËùÓеĵ±Ç°±ê¼ÇΪҪµ¼³öµÄ±äÁ¿£º

    [code]$ export
    declare -x EDITOR="vim"
    declare -x HOME="/home/chouser"
    declare -x MAIL="/var/spool/mail/chouser"
    declare -x PAGER="/usr/bin/less"
    declare -x PATH="/bin:/usr/bin:/usr/local/bin:/home/chouser/bin"
    declare -x PWD="/home/chouser"
    declare -x TERM="xterm"
    declare -x USER="chouser"[/code]

  8. À÷ìÇ ÓÚ 2006-10-02 19:58:16·¢±í:

    ¡¡¡¡/etc/profile ºÍ /etc/skel

    ¡¡¡¡×÷Ϊϵͳ¹ÜÀíÔ±£¬ÄúÕÆ¹Ü×Å /etc/profile¡£ÒòΪµ±³õ´ÎµÇ¼ʱ£¬Ã¿¸öÈ˶¼ source Ëü£¬ËùÒÔʹËü±£³Ö¹¤×÷״̬ºÜÖØÒª¡£ËüÒ²ÊÇÌṩ¸øÐÂÓû§µÄÇ¿´ó¹¤¾ß£¬¸Ã¹¤¾ßʹÐÂÓû§Ò»µÇ¼½øËûÃǵÄÐÂÕÊ»§£¬Ò»ÇоÍÕýÈ·ÔËÐС£

    ¡¡¡¡µ«ÊÇ£¬ÓÐһЩÄú¿ÉÄÜÏ£ÍûÐÂÓû§×÷ΪȱʡֵµÄÉèÖ㬶øÇÒÔÊÐíÈÝÒ×µØÐÞ¸ÄËüÃÇ¡£ÕâÊÇ /etc/skel Ŀ¼µÄÓÃ;ËùÔÚ¡£µ±ÄúÓà useradd ÃüÁîÀ´´´½¨Ò»¸öÐÂÓû§ÕÊ»§Ê±£¬Ëü½«ËùÓеÄÎļþ´Ó /etc/skel ¸´ÖƵ½Óû§µÄеÄÖ÷Ŀ¼ÖС£ÕâÒâζ×ÅÄú¿ÉÒÔ½«ÓаïÖúµÄ .bash_profile ºÍ .bashrc Îļþ·ÅÔÚ /etc/skel ÖУ¬Ê¹ÐÂÓû§ÓÐÒ»¸öºÃµÄ¿ªÊ¼¡£

  9. À÷ìÇ ÓÚ 2006-10-02 19:57:45·¢±í:

    ¡¡¡¡½»»¥ÐÔ²âÊÔ

    ¡¡¡¡ÓÐʱ bash source ÄúµÄ ~/.bashrc£¬¼´Ê¹Ëü²»ÊÇÕæÕýµÄ½»»¥Ê½ shell£¬±ÈÈ統ʹÓÃÏñ rsh ºÍ scp ÕâÑùµÄÃüÁîʱ¡£½«ÕâЩÀμÇÔÚÐĺÜÖØÒª£¬ÒòΪÏñÇ°ÃæÎÒÃÇÓà fortune ÃüÁîËù×öµÄÒ»Ñù£¬´òÓ¡³öÎı¾¿ÉÄÜÕæµÄ»á´òÂÒÕâЩ·Ç½»»¥Ê½µÄ bash »á»°¡£ÔÚ´ÓÆô¶¯Îļþ´òÓ¡³öÎı¾Ö®Ç°£¬Ê¹Óà PS1 ±äÁ¿À´¼ì²âµ±Ç°µÄ shell ÊÇ·ñÊǽ»»¥Ê½ shell ÊÇÒ»¸öºÃ°ì·¨£º

    [code]if [ -n "$PS1" ]; then
    fortune
    fi[/code]

  10. À÷ìÇ ÓÚ 2006-10-02 19:57:17·¢±í:

    ¡¡¡¡Àí½â --login

    ¡¡¡¡¸æËß bash ×÷Ϊ¡°µÇ¼¡±shell ÔËÐеĵڶþÖÖ·½·¨ÊÇÓà --login ÃüÁîÐÐÑ¡Ïî¡£ÖÕ¶Ë·ÂÕæÆ÷£¨Èç xterm£©ÓÐʱʹÓÃÕâ¸öÑ¡ÏîÀ´Ê¹ËüÃÇµÄ bash »á»°±íÏÖµÃÏñ³õʼµÇ¼»á»°¡£

    ¡¡¡¡µ±ÄúµÇ¼ÒԺ󣬽«ÔËÐÐ shell µÄ¸ü¶à¸±±¾¡£³ý·ÇËüÃÇÒÔ --login Æô¶¯»ò½ø³ÌÃûÖÐÓж̻®Ïߣ¬·ñÔòÕâЩ»á»°½«²»ÊÇ¡°µÇ¼¡±shell¡£µ«ÊÇ£¬Èç¹ûËüÃǸø³öÌáʾ·û£¬ÄÇôËüÃǽС°½»»¥Ê½¡±shell¡£Èç¹û bash ×÷Ϊ¡°½»»¥Ê½¡±shell Æô¶¯£¬¶ø²»ÊÇ×÷Ϊ¡°µÇ¼¡±shell Æô¶¯£¬Ëü½«ºöÂÔ /etc/profile ºÍ ~/.bash_profile£¬¶ø½« source ~/.bashrc¡£

    [code]interactive login profile rc
    yes yes source ignore
    yes no ignore source
    no yes source ignore
    no no ignore ignore[/code]

  11. À÷ìÇ ÓÚ 2006-10-02 19:56:45·¢±í:

    ¡¡¡¡µÇ¼ shell

    ¡¡¡¡µ± bash Æô¶¯£¬Ëü½«±éÀúÄúÖ÷Ŀ¼ÖÐµÄ .bash_profile Îļþ£¬¾ÍÏóÔÚ bash Ìáʾ·ûÏÂÊäÈëÃüÁîÒ»ÑùÔËÐÐÿһÐС£Õâ½Ð×ö¡°source¡±Îļþ¡£

    ¡¡¡¡¸ù¾Ý bash Æô¶¯µÄ·½Ê½£¬bash µÄ¶¯×÷ÓÐЩ²»Í¬¡£Èç¹ûËü×÷Ϊ¡°µÇ¼¡±shell ±»Æô¶¯£¬Ëü½«ÏñÉÏÃæÄÇÑù¶¯×÷ -- Ê×ÏÈ source ϵͳ·¶Î§µÄ /etc/profile£¬È»ºóÊÇÄú¸öÈ赀 ~/.bash_profile¡£

    ¡¡¡¡¸æËß bash ×÷ΪµÇ¼ shell ÔËÐÐÓÐÁ½ÖÖ·½Ê½¡£Ò»ÖÖ·½Ê½Êǵ±Äú³õ´ÎµÇ¼ʱʹÓà -- bash ÓÉÒ»¸öÃûΪ -bash µÄ½ø³ÌÆô¶¯¡£Äú¿ÉÒÔÔÚÄúµÄ½ø³ÌÇåµ¥Öп´µ½ÕâЩ£º

    [code]£º$ ps u
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    chouser 404 0.0 0.0 2508 156 tty2 S 2001 0:00 -bash[/code]

    ¡¡¡¡ÄúºÜ¿ÉÄÜ¿´µ½³¤µÃ¶àµÄÇåµ¥£¬µ«ÊÇÔÚÄúµÄ shell Ãû֮ǰ£¬ÖÁÉÙÓÐÒ»¸ö´øÓж̻®ÏßµÄ COMMAND£¬ÈçÉÏÃæÊ¾ÀýÖÐµÄ -bash¡£shell ÓÃÕâ¸ö¶Ì»®ÏßÀ´È·¶¨ËüÊÇ·ñÕý×÷Ϊ¡°µÇ¼¡±shell ÔËÐС£

  12. À÷ìÇ ÓÚ 2006-10-02 19:56:04·¢±í:

    ¡¡¡¡.bash_profile

    ¡¡¡¡ÏÖÔÚ£¬ÎÒÃÇÀ´ÉèÖà fortune£¬Ê¹Ã¿´ÎÄúµÇ¼ʱ£¬ËüÄÜÔËÐС£Ê¹ÓÃÄúϲ»¶µÄÎı¾±à¼­Æ÷À´±à¼­ÄúµÄÖ÷Ŀ¼ÖÐÃûΪ .bash_profile µÄÎļþ¡£Èç¹û¸ÃÎļþ»¹²»´æÔÚ£¬Ôò½Ó×Å´´½¨Ëü¡£ÔÚ¶¥²¿²åÈëÒ»ÐУº

    [code]fortune[/code]

    ¡¡¡¡ÊÔ×Å×¢Ïú£¬È»ºóÔÙ»ØÀ´¡£³ý·ÇÄúÕýÔÚÔËÐÐÒ»¸öÏñ xdm¡¢gdm »ò kdm ÕâÑùµÄÏÔʾ¹ÜÀíÆ÷£¬·ñÔòµ±ÄúµÇ¼ʱ£¬ÄúÓ¦¸Ã»áºÜÓä¿ìµØ¿´µ½£º

    [code]mycroft.flatmonk.org login: chouser
    Password:
    Freedom from incrustations of grime is contiguous to rectitude.
    $[/code]