Linux學習筆記之bash

一、shell(外殼)→離用戶最近的計算機程序,提供人機交互的功能
廣義的shell:
GUI(Graphical User Interface)
CLI(Command Line Interface):sh,csh(類似於C語言),ksh(功能更強大,付費使用),tcsh(增強的csh),zsh

bash:shell在用戶登錄後啓動,大多數默認使用bash
二、bash(Bourne-Again Shell)
1、每個進程不知道別人的存在,在每個進程看來,當前主機上只存在內核和當前進程
2、系統靠進程號識別進程,進程是程序的副本,進程是程序執行的實例
例:兩個用戶登陸,只有一個shell程序執行,但是有2個進程,但是兩個進程之間互不相干
shell是一個外部命令
Linux學習筆記之bash
用戶工作環境
#管理員模式
$用戶模式
支持用戶自定義工作環境
shell 有父shenll 和子shell的概念 每個shell並不知道其他shell去運行,對子shell的設定不影響父shell,對父shell的設定不影響子shell
三、bash的功能
1、命令歷史:上下翻使用
2、管道、重定向
3、命令別名
4、命令行編輯
5、命令行展開
6、文件名通配
7、變量
8、編程(將執行的命令通過各種邏輯組合起來,腳本)
四、bash特性
1、命令行編輯
光標跳轉:ctrl+a:跳轉到命令行行首
ctrl+e:跳轉到命令行行尾
ctrl+⬅:按單詞向左跳轉
ctrl+➡:按單詞向右跳轉
命令刪除:ctrl+u:刪除光標至行首
ctrl+k:刪除光標至行尾
清屏(clear):ctrl+L windows(cls)
2、命令歷史
bash自動記錄過去執行的命令,保存在內存的緩衝區上,進程結束命令將保存至某一個文件,當用戶正常退出,文件保存於家目錄下隱藏文件bash_history
history:查看命令歷史(屬於內建命令)
Linux學習筆記之bash
history -c(clear):清空命令歷史
Linux學習筆記之bash
history -d(delete):清空指定命令歷史
Linux學習筆記之bash
history -w:保存歷史命令至歷史文件中(覆蓋之前保留的命令)
Linux學習筆記之bash
環境變量
PATH:命令搜索的路徑
HISTSIZE:命令歷史緩衝區大小,默認1000條命令
命令歷史使用技巧
!n 執行命令歷史中第n條命令
Linux學習筆記之bash
!-n 執行命令歷史中倒數第n條
Linux學習筆記之bash
!! 執行剛剛執行的命令
Linux學習筆記之bash
!string 執行命令歷史中最近一個以指定字符串開頭的命令
Linux學習筆記之bash
!$:引用上一個命令中最後一個參數 ESC和"." Alt和"."
Linux學習筆記之bash
3、補齊(tab)
命令補齊(在命令搜索路徑下補齊命令)
一次tab 命令自動補齊(寫出的字符能夠唯一標識命令)
兩次tab 顯示所有與字符有關的命令
路徑補齊:和命令補齊類似(在所給打頭目錄下查找補齊目錄或文件)
4、命令別名
alias CMDALIAS='CMMAND [option] [argument]'
Linux學習筆記之bash
在shell中定義的別名僅在當前shell生命週期有效:別名的有效範圍僅爲當前shell進程
alias 顯示所有命令別名(內建命令)
Linux學習筆記之bash
unalias CMDALIAS 撤銷別名
在定義命令別名的情況下可以使用 \COMMAND 使用原命令
Linux學習筆記之bash
5、命令替換
把命令中某個子命令替換爲其執行結果的過程
echo "the current directory is $(pwd)"
$(pwd)=pwd
Linux學習筆記之bash
touch file-$(date +%F-%H-%M-%S).txt
Linux學習筆記之bash
``:命令替換
"":弱引用,可以實現變量替換
'':強引用,不完成變量替換
6、文件名通配(globbing)

  • 任意長度的任意字符
    ? 任意長度單個字符
    [] 匹配指定範圍內任意單個字符
    [abc],[a-m],[a-z],][0-9],[A-Za-z]
    [^] 匹配指定範圍外的任意字符
    [[:space:]] 空白字符
    [[:punct:]] 標點符號
    [[:lower:]] 小寫字母
    [[:upper:]] 大寫字母
    [[:alpha:]] 大小寫字母
    [[:digiqt:]] 數字
    [[:alnum:]] 數字和大小寫字母
    man 7 glob(查看文件名統配)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章