一、bash及其特性
1、shell:外殼
廣義shell包含:1、gui:gnome、kde、xfce
2、cli:sh,csh,ksh,bash
程序:在每個程序看來,當前主機上只存在核心和當前程序,程序是程式的副本,程序是程式執行例項。
2、bash:
1、支援命令歷史、命令補全
2、支援管道、重定向
3、支援命令別名
4、支援命令列編輯
5、支援命令列展開
6、支援檔名通配
7、支援變數
8、支援程式設計
3、命令歷史:
history:
檢視命令歷史:history
-c:清空命令歷史
-d offset[n]:刪除指定位置的命令
例1:history -d 500 #刪除第500個歷史命令
例2:history -d 500 3 #刪除第500個命令起3個歷史命令
-w:儲存命令歷史至歷史檔案(家目錄下.bash_history)中
4、命令歷史使用技巧:
!n:執行命令歷史中的第n條命令
例:root@localhost /]# !44
!-n:執行命令歷史中倒數第n條命令
例:[root@localhost /]# !-44
!!:重新執行上一次命令
!string:執行命令歷史中最近乙個已指定字元(string)串開頭的命令
!$:引用前乙個命令的最後乙個引數
esc,.:引用前乙個命令的最後乙個引數
alt+.:引用前乙個命令的最後乙個引數
5、命令別名:
alias cmdalias=『command [options] [arguments]』
例:[root@localhost /]# alias cls=clear
在shell中定義的別名僅在當前shell生命週期中有效:別名有效範圍為當前shell程序
unalias:撤銷別名
例:[root@localhost /]# unalias cls
\command:使用命令本身
6、命令替換:
$(command)
`command`:(反引號)
把命令中某個子命令替換為其執行結果的過程
例1:[root@localhost ~]# echo "the current directory is $(pwd)."
the current directory is /root.
例2:[root@localhost ~]# touch ./file-$(date +%f-%h-%m-%s).txt
[root@localhost ~]# ls
anaconda-ks.cfg file-2017-03-30-15-10-30.txt install.log sort.test
desktop hello install.log.syslog
7、bash支援的引號:
``:命令替換
"":弱引用,可以實現變數替換
『』:強引用,不完成變數替換
8、檔名通配:globbing
*:匹配任意長度的任意字元
例:[root@localhost test]# ls a*
a a123 ab123 abc
?:匹配任意單個字元
例:[root@localhost test]# ls ?y*
xyz xyz123
:匹配指定範圍內的任意單個字元
#man 7 glob #檢視萬用字元
[a-z],[a-z],[0-9],[a-za-z],[0-9a-za-z]
[:space:]:空白字元
[:punct:]:標點符號
[:lower:]:小寫字母
[:upper:]:大寫字母
[:alpha:]:大小寫字母
[:digit:]:數字
[:alnum:]:數字和大小寫字母
例:[root@localhost test]# ls [a-za-z]*[0-9]
a123 ab123 x12 xyz123
[^]:匹配指定範圍外的任意單個字元
例:[root@localhost test]# ls [^0-9]*
a a123 ab123 abc helloy x12 xyz xyz123
9、環境變數:
path:命令搜尋路徑
histsize:命令歷史緩衝區大小(預設1000條):
例:[root@localhost ~]# echo $histsize
1000
游標跳**
ctrl+a:跳到命令列首部
ctrl+e:跳到命令行尾
ctrl+u:刪除游標至命令列首的內容
ctrl+k:刪除游標至命令行尾的內容
ctrl+l:清屏
linux的學習之路 (五)bash及其特性
作業系統組成作用shell是離使用者最近的程式 shell 外殼 兩類 gui gnome,kde,xfce cli sh,csh,ksh,bash 都是程式,就是功能支援的不同而已 程序 在每個程序看來,當前主機只存在核心和當前程序 程序是程式的副本,程序是程式執行例項 不同的使用者,登陸系統的時...
Linux學習 bash及其特性
shell 外殼 gui gnome,kde,xfce cli sh,csh,ksh,bash bourne again shell tcsh,zsh 不同使用者啟動相同sh程式,但是是不同的程序。程序 在每個程序看來,當前主機上只存在核心和當前程序。程序是程式的副本,也是程式執行的例項,具有生命週...
Linux之bash基礎特性一
命令補全 tab shell程式在接收到使用者執行命令的請求,分析完成後,最左側的字串會被當做命令 命令查詢機制 查詢內部命令 根據path環境變數中設定的目錄,自左而右逐個搜尋目錄下的檔名 給定的打頭字元如果能唯一標識某命令檔案程式,則直接補全 給定的打頭字元如果不能唯一標識某命令檔案程式,在一次...