07.學習筆記-bash的特性及配置文件

bash的功能:

    1.命令行編輯

    2.歷史命令

    3.命令補全

    4.命令別名和命令替換

    5.管道,重定向

    6.命令行展開

    7.文件名通配

    8.變量

    9.編程

    

1.命令行編輯

光標跳轉

    ctrl+a 跳到命令首行

    ctrl+e 跳到命令行尾

    ctrl+u 刪除光標與行首間的內容

    ctrl+k 刪除光標與行首間的內容

    ctrl+l 清屏


bash支持的引號

    `  `(反引號) 命令引用

    ”“ 弱引用,可以實現變量替換

    ’‘(單引號) 強引用,不完成變量替換


2.歷史命令

查看歷史命令:history

    -c 清空歷史

    -d OFFSET [n] 刪除指定位置的命令

    -w 保存命令歷史至歷史文件中

命令歷史的使用

    !n 執行命令歷史中的第n條命令

    !-n 執行命令歷史中倒數的第n條命令

    !! 執行上一條命令

    !String 執行命令歷史中最近一條以字符串String開頭的命令

    !$ 引用前一個命令的最後一個參數

    Esc鬆開後按“ . ” 同上

    Alt+ . 同上

    

3.命令補全

    命令自動補全     Tab

    路徑補全 Tab

4.命令別名和命令替換

alias CMDALIAS = ‘COMMAND [ ]’

定義的別名僅在當前的shell的生命週期內有效


替換             語法               含義

歷史              !                 前一個命令行

大括號     {}                 指定的文本

代字號    ~username 用戶的主目錄

變量             $,${...}         Shell 和環境變量

算術           $((...))         算術運算

命令替換   `...` , $(...) 運行在子 shell 中的命令的輸出

路徑名   *,?,[...],[^...] 文件系統中匹配的文件名


$( ) 先執行()中的命令再執行整個命令,也可以使用反引號


5.文件名通配

        *:任意長度的任意字符

        例:a* 以a開頭後面任意字符(沒長度也可以)

            a*3 以a開頭後長度爲3的任意字符

        ?:任意單個字符

[]:匹配指定範圍內的任意單個字符

    例:[abc], [a-m], [a-z], [A-Z], [0-9], [a-zA-Z], [0-9a-zA-Z]

        [^]:匹配指定範圍之外的任意單個字符

    例:     [^[:alpha:]] 一個非字母

        [:space:]:所有的空白字符

        [:punct:]:所有的標點符號

        [:lower:]:小寫字母

        [:upper:]: 大寫字母

        [:alpha:]: 大小寫字母

        [:digit:]: 數字

        [:alnum:]: 數字和大小寫字母    


6.變量

    本地變量 set VARNAME=VALUE  作用域爲整個bash進程。

    局部變量 local VARNAME=VALUE  作用域爲當前代碼段

    環境變量 export VARNAME  作用域爲當前shell進程及其子進程;

    位置變量 $1,$2……

    特殊變量 $?  上一個命令的執行狀態返回值

    程序執行可能有兩類返回值:程序執行結果,程序狀態返回代碼(0-255) 

    0:正確執行

    1-255:錯誤執行,其中1,2,127系統預留。


    撤銷變量 unset VARNAME

    查看系統中所有變量(含環境變量和自定義變量):set

    查看當前shell中的環境變量:printenv、env、export



bash的配置文件


1、/etc/profile:在登錄時,操作系統定製用戶環境時使用的第一個文件,此文件爲系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行。

2、/etc/environment:在登錄時操作系統使用的第 二個文件,系統在讀取你自己的profile前,設置環境文件的環境變量。

3、~/.bash_profile:在 登錄時用到的第三個文件是.profile文件,每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該 文件僅僅執行一次!默 認情況下,他設置一些環境變遊戲量,執行用戶的.bashrc文件。/etc/bashrc:爲每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取.

4、~/.bashrc:該 文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該 該文件被讀取。


全局配置

/etc/profile , /etc/profile.d/*.sh  ,  /etc/bashrc

個人配置

~/.bash_profile  ,  ~/.bashrc


profile類的文件

設定本地變量

運行命令或腳本


bashrc類文件

設定本地變量

定義命令別名


登陸式shell讀取配置文件的方式:

/etc/profile-->/etc/profile.d/*.sh-->~/.bash_profile-->~/.bashrc-->/etc/bashrc

非登錄式shell讀取配置文件的方式:

~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章