Linux特性詳解

bash及其特性

shell: 外殼

GUI:Gnome, KDE, Xfce

CLI: sh, csh, ksh, bash, tcsh, zsh

 

Linux允許同一個用戶登錄多次

root, student

程序:進程

 

進程:在每個進程看來,當前主機上只存在內核和當前進程

進程是程序的副本,進程是程序執行實例

 

用戶工作環境:

bash:

         #

         $

        

shell,子shell

bash--bash


命令行編輯:

光標跳轉:

         Ctrl+a:跳到命令行首

         Ctrl+e:跳到命令行尾

         Ctrl+u: 刪除光標至命令行首的內容

         Ctrl+k: 刪除光標至命令行尾的內容

         Ctrl+l: 清屏



令歷史特性: history

shell進程會其會話中保存此前用戶提交執行過的命令

history是shell的內置命令

1. 命令語法格式:

  history [-c] [-d OFFSET] [n]

  history -anrw [FILENAME]

  history -ps VALUE [VALUE...]

  -c: 清空命令歷史;

  -d offset(偏移量):刪除指定命令歷史,offset爲history顯示出來的命令數字

  -r: 從文件讀取命令歷史至歷史列表中;

  -w:把歷史列表中的命令追加至歷史文件中;

  history #:顯示最近的#條命令;


環境變量:PATH:命令搜索路徑

                   HISTSIZE :命令歷史緩衝區大小(echo $HISTSIZE)



對命令歷史常用的用法:

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

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

!!   :執行上一條命令

!string :執行命令歷史中最近一個以指定字符串開頭的命令

!$:引用上一個命令的最後一個參數 =Esc+.和Alt+.


命令補全:Tab鍵     

    路徑補全:Tab鍵

命令別名:

#alias CMDALIAS(命令別名)=COMMAND(命令)

在shell中定義的別名僅在當前shell生命週期中有效;別名的有效範圍僅爲當前shell進程。

#alias 查看當前所有定義的命令別名。

#unalias  cmdalias

#\CMD 使用不帶參數的命令自身。

命令替換:$(command),    反引號:`command`

把命令中某個子命令替換爲其執行結果的過程

例:創建一個文件文件名爲file-當前時間.txt  # touch file-$(date +%F-%H-%M-%S).txt

例:打印當前目錄:#echo “The current directory is $(pwd).”

文件名統配:

*:任意長度的任意字符

?:任意單個字符

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

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

     [:space:]:空白字符

    [:punct:]:標點字符

    [:lower:]:小寫字母

    [:upper:]:大寫字母

    [:alpha:]:大小寫字母

    [:digit:]:數字

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

# man 7 glob  獲得以上列表說明

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


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