shell学習ノート要約

3748 ワード

  • 命令実行中、逆一重引用符(`)という記号は意味を表し、一連の命令では`内の命令が先に実行され、その実行結果が外部の入力情報となる.
    [wm@adx /usr/local/redis]$ cd /lib/modules/`uname -r`/kernel
    You have new mail in /var/spool/mail/root
    [wm@adx /lib/modules/2.6.18-398.el5/kernel]$ 
  • PS 1使用
        \d :    ,   weekday month date,  :"Mon Aug 1"
        \H :       。  :       :fc4.linux,       fc4.linux
        \h :          ,   ,  fc4,.linux    
        \t :     24    , :HH:MM:SS
        \T :     12    
        \A :     24    :HH:MM
        \u :         
        \v :BASH     
        \w :         。      ~  
        \W :  basename        ,            
        \# :        
        \$ :    ,   root ,    :# ,      :$
  • Linuxの変数$#,$@,$0,$1,$2,$*,$,$の意味
    [wm@adx test]$ cat var.sh 
    #! /bin/sh
    
    echo "var num : $#"
    echo "sh name : $0"
    echo "first var : $1"
    echo "ninth var : $9"
    echo "all var : $@"
    echo "var list : $*"
    echo "PID : $$"
    echo "stat : $?"
    [wm@adx test]$ chmod +x var.sh 
    [wm@adx test]$ ./var.sh 1 2 3 4 5 6 7 8 9 10
    var num : 10
    sh name : ./var.sh
    first var : 1
    ninth var : 9
    all var : 1 2 3 4 5 6 7 8 9 10
    var list : 1 2 3 4 5 6 7 8 9 10
    PID : 13829
    stat : 0
    $#           
    $0         
    $1      shell        
    $2      shell        
    $@              
    $*                     ,       ,     9 
    $$           ID 
    $?             ,0      ,       
    
      :@*
    
       :        。
       :           。              (     12 3) "*"     "12 3"(       ); "@"     "1""2" "$3"(       )
     
  • export
    [wm@adx redis]$ export
    declare -x CLASSPATH=".:/usr/java/jdk1.7.0_75/lib/tools.jar:/usr/java/jdk1.7.0_75/lib/dt.jar"
    declare -x CSCOPE_DB="/home/wm/miad/cscope.out"
    declare -x CVS_RSH="ssh"
  • locale
    [wm@adx redis]$ locale
    LANG=en_US.UTF-8
    LC_CTYPE="en_US.UTF-8"
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
  • デフォルト
    [wm@adx redis]$ cat /etc/sysconfig/i18n 
    LANG="en_US.UTF-8"
    SYSFONT="latarcyrheb-sun16"
  • declareシステム
        :declare [+/-][rxi][    =   ]   declare -f
    
        :declare shell  ,                      ([rix]       ),            shell  。
                      ,       shell     (   set       )。
    
        :
     +/-  "-"          ,"+"           。 
     -f        。 
     r            。 
     x                ,  shell        。 
     i    [   ]     ,       。
  • カーソルプロンプト
    $:          
    #:   root(   )    
  • IFSはshellプリセットで するフィールド り であり、1つ の のボタンからなる
       (White Space) 
       (T ab) 
       (Enter) 
  • である.
  • レベル
    [root@adx ~]# runlevel
    N 3
  • /etc/motdすなわちmessageoftoday( )
  • login shell は2つのプロファイルを み みます:1./etc/profile:これはシステム の ですから、このファイルを しないほうがいいです.2.  ~/.bash_profileまたは~/.bash_loginまたは~/.profile:( に み れば、 に して は み れない)は、ユーザー の です. のデータを して、ここに き んでください.
  • linuxユーザー
    (1)/etc/profile:                 ,         ,      .   /etc/profile.d          shell   。
    (2)/etc/bashrc:       bash shell        . bash shell    ,      。
    (3) ~/.bash_profile:                      shell  ,      ,         !     ,         ,     .bashrc  。
    (4) ~/.bashrc:           bash shell bash  ,            shell ,       。
    (5)~/.bash_logout:       (  bash shell) ,     .  ,/etc/profile      (  )          , ~/.bashrc       (  )    /etc/profile    ,   "  "  。
    (6)~/.bash_profile     、login      bash    ~/.bashrc      non-login      bash              ,           。