歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> shell筆記,老男孩shell筆記

shell筆記,老男孩shell筆記

日期:2017/3/3 18:05:22   编辑:學習Linux

shell筆記,老男孩shell筆記

shell筆記,老男孩shell筆記


shell:俗稱操作系統的"外殼",就是命令解釋程序。

    是用戶與Linux內核之間的接口。

    是負責與用戶交互,分析、執行用戶輸入的命令,並給出結果或出錯提示。

    每個用戶賬號創建時都會指定一個shell。當用戶使用該賬號注冊成功,便會馬上執行。

    root賬號的shell提示符是#號。

 

shell種類:

ash:占用資源最少的shell。

bash:默認使用,內部命令一共用40個。

ksh:共42條內部命令,與商業版ksh完全兼容。

csh:linux較大的內核,C語言寫成。tcsh就是csh,它指向/bin/tcsh這樣的一個shell。

zsh:最大的shell之一,84個內部命令。

 

查看用戶指定的shell:cat /etc/passwd。

    命令顯示的內容中,每一行是用戶的信息。信息末尾就是指定shell類型。比如/sbin/nologin,這是一個假shell,表示該用戶無法登錄;/sbin/bash,表示用戶登錄後使用bash。

 

修改用戶指定shell的方法:

  • 修改shell命令:chsh。
  •  

    Shell變量:用於定制用戶本身的工作環境,可保存有用的信息使系統獲知用戶相關設置。

        按作用分:環境變量和本地變量。本地變量只限於一次會話。

        查看環境變量:set命令。

        定制或設置變量值:set 變量名=變量值

        

    Shell腳本:將一系列的命令保存在一文件內,可以一次執行該系列命令。

    執行腳本文件的方法:

     

    如果要設定腳本文件執行時的shell,可以在腳本文件開頭這樣寫:

    #!/bin/bash

     

    /etc/profile:環境變量文件,所有的環境變量都在裡面設置,該文件會在用戶登錄時自動執行。

    /etc/bashrc: bash shell環境變量文件,該文件只會在用戶登錄時使用的是bash shell才會自動執行。

    ~/.bash_profile:用戶環境變量文件,當前用戶登錄時才會執行。

    ~/.bashrc:同上。

     

    腳本命令:

    shift:用於將腳本參數值向後一位傳遞。

    循環控制:

    For i in 1 2 3

    do

    …..

    done

     

    while <判別命令>

    do

    ….

    done

     

    until <判別命令>

    do

    ….

    done

     

    條件測試:test命令

    test –e [文件名]:檢查文件名是否存在;

    -x [文件名]:檢查是否為可執行文件;

    -f [文件名]:檢查文件是否存在,並為普通文件;

    -L [文件名]:是否為硬鏈接文件

    -d [文件名]:是否為目錄;

    -nt:前者比後者是否新。示例:test file1 -nt file2

     

    判斷兩整數:

    -eq:兩值相等;

    -ne:兩值不相等 ;

    -lt:小於;

    -gt:大於;

    -le:小於等於;

    -ge:大於等於;

     

    判斷字串:

    –z string:是否空字串;

    -n string:是否不為空;

    ==:是否相等;

    !=:是否不相等;

     

    shell預設參數:

    $0預設的參數值為腳本名稱;

    第1個參數為$1,第2個參數為$2……

    特殊的參數:

    $@:包含所有從$1開始的參數值,空格相隔。

    $#:包含的參數個數。

    注意:shift命令能對以上特殊參數造成值的變化。

    http://xxxxxx/Linuxjc/1175550.html TechArticle

    Copyright © Linux教程網 All Rights Reserved