1. 程式人生 > >shell預習筆記

shell預習筆記

什麼是shell
命令直譯器,提供使用者和機器之間的互動
支援特定語法,比如邏輯判斷、迴圈
每個使用者都有特定的shell
centos預設的shell版本是bash
命令歷史
history命令
最大儲存一千條 echo $HISTSIZE
history -c 清除當前記憶體中的命令歷史
/etc/profile 修改命令歷史最大數值
HISTTIMEFORMAT="%Y/%m%wd %H%M%S"
永久儲存命令歷史 chattr +a ~/.bash_history
!! 表示執行上一條命令
!n n指數字,表示執行歷史中第n條命令
!字串 例如!pw表示執行命令歷史中最近一次以pw開頭的命令
命令補全和檔案補全
tab命令
連續敲兩次會把所有的命令或者檔名都列出來
yum install -y bash-completion 重啟系統自動補充引數
alias 別名
別名存放地址 .bashrc /etc/profile.d/ colorgrep.sh
取消自定義的別名 unalias restat
萬用字元

  • 來匹配零個或多個字元
    ?匹配一個字元
    【】範圍
    {}範圍要加逗號
    輸入/輸出重定向

    重定向 2>錯誤重定向
    > 追加 2>>錯誤追加
    +2> == &>
    < 輸入重定向 (檔案到命令)
    管道符、作業控制
    ctrl z 暫停程序
    ctrl c 結束程序
    fg 命令恢復 bg 使它到後臺執行
    jobs 列出後臺的程序
    & 一次性到後臺執行
    變數
    path,shell預設的一個變數
    shell預設的變數都是大寫的
    path代替了所有常用命令的絕對路徑的設定
    env 列出系統預設的全部變數
    set 不僅可以顯示系統預設的變數,也可以顯示使用者的自定義變數(該變數只能在當前shell中生效)
    變數名規則:字母、數字(不能在首位)、下劃線
    變數值有特殊符號時需要用單引號括起來
    全域性變數 export 變數名=等於變數值
    unset 取消變數
    環境變數配置檔案
    bash可以重新開啟一個shell
    /etc/profile 這個檔案預設了幾個重要變數
    /etc/bashrc 這個檔案主要預設umask以及ps1
    \u指使用者,\h指主機名,\w指當前目錄,\$指字元#(如果是普通使用者,則顯示為$)
    .bash_profile 該檔案定義了使用者的個人化路徑與環境變數的檔名稱
    .bashrc 該檔案包含專屬於自己的shell的bash資訊,當登入或每次開啟新的shell時,該檔案會被讀取
    .bash_history 該檔案用於記錄命令歷史
    .bash_logout 當退出shell時,會執行該檔案