Note For Linux By Jes(5)-认识与学习 BASH
正確的關(guān)機方法:
數(shù)據(jù)同步寫入磁盤:sync
慣用的關(guān)機命令:shutdown
重新啟動,關(guān)機:reboot, halt, poweroff
切換運行等級:init
-  
run level 0:關(guān)機
 -  
run level 3:純文本模式
 -  
run level 5:含有圖形接口模式
 -  
run level 6:重新啟動
 
 
 
認識BASH這個Shell
 
 
/etc/shells
-  
/bin/sh (已經(jīng)被/bin/bash 所取代)
 -  
/bin/bash (就是Linux 默認的shell)
 -  
/bin/ksh (Kornshell 由AT&T Bell lab. 發(fā)展出來的,兼容于bash)
 -  
/bin/tcsh (整合C Shell ,提供更多的功能)
 -  
/bin/csh (已經(jīng)被/bin/tcsh 所取代)
 -  
/bin/zsh (基于ksh 發(fā)展出來的,功能更強大的shell)
 
Bash shell 的功能:
命令編修能力(history):
命令與文件補全功能:([tab] 按鍵的好處)
命令別名配置功能:(alias)
工作控制、前景背景控制:(job control, foreground, background)
程序化腳本:(shell scripts)
通配符:(Wildcard)
Bash shell 的內(nèi)建命令:type
命令的下達:
如果命令串太長的話,如何使用兩行來輸出? [vbird@www ~]# cp /var/spool/mail/root /etc/crontab \ > /etc/fstab /root
 
 
Shell的變量功能
變量的取用與配置:echo,變量配置守則,unset
環(huán)境變量的功能:用env 觀察環(huán)境變量與常見環(huán)境變量說明,用set觀察所有變量(含環(huán)境變量與自定義變量),export:自定義變量轉(zhuǎn)成環(huán)境變量
影響顯示結(jié)果的語系變量(locale):
變量鍵盤讀取、數(shù)組與宣告:read, array, declare
與文件系統(tǒng)及程序的限制關(guān)系:ulimit
變量內(nèi)容的刪除、取代與替換:
|   變量配置方式  |   說明  | 
|   ${變量#關(guān)鍵詞}  |   若變量內(nèi)容從頭開始的數(shù)據(jù)符合『關(guān)鍵詞』,則將符合的最短數(shù)據(jù)刪除  | 
|   ${變量%關(guān)鍵詞}  |   若變量內(nèi)容從尾向前的數(shù)據(jù)符合『關(guān)鍵詞』,則將符合的最短數(shù)據(jù)刪除  | 
|   ${變量/舊字符串/新字符串}  |   若變量內(nèi)容符合『舊字符串』則『第一個舊字符串會被新字符串取代』  | 
 
 
變量的測試與內(nèi)容替換:
|   變量配置方式  |   str 沒有配置  |   str 為空字符串  |   str 已配置非為空字符串  | 
|   var=${str-expr}  |   var=expr  |   var=  |   var=$str  | 
|   var=${str:-expr}  |   var=expr  |   var=expr  |   var=$str  | 
|   var=${str+expr}  |   var=  |   var=expr  |   var=expr  | 
|   var=${str:+expr}  |   var=  |   var=  |   var=expr  | 
|   var=${str=expr}  |   str=expr  |   str 不變  |   str 不變  | 
|   var=${str:=expr}  |   str=expr  |   str=expr  |   str 不變  | 
|   var=${str?expr}  |   expr 輸出至stderr  |   var=  |   var=$str  | 
|   var=${str:?expr}  |   expr 輸出至stderr  |   expr 輸出至stderr  | ? | 
 
 
命令別名與歷史命令
命令別名配置:alias, unalias
歷史命令:history
 
 
Bashshell 的操作環(huán)境
bash 的進站與歡迎信息:/etc/issue, /etc/motd
bash 的環(huán)境配置文件:
 
 
 
終端機的環(huán)境配置:stty, set
通配符與特殊符號:
 
 
|   符號  |   意義  | 
|   *  |   代表『0 個到無窮多個』任意字符  | 
|   ?  |   代表『一定有一個』任意字符  | 
|   [ ]  |   同樣代表『一定有一個在括號內(nèi)』的字符(非任意字符)。例如[abcd] 代表『一定有一個字符,可能是 a, b, c, d 這四個任何一個』  | 
|   [ - ]  |   若有減號在中括號內(nèi)時,代表『在編碼順序內(nèi)的所有字符』。例如[0-9] 代表0 到9 之間的所有數(shù)字,因為數(shù)字的語系編碼是連續(xù)的!  | 
|   [^ ]  |   若中括號內(nèi)的第一個字符為指數(shù)符號(^) ,那表示『反向選擇』,例如[^abc] 代表一定有一個字符,只要是非 a, b, c的其他字符就接受的意思。  | 
 
 
 
 
|   符號  |   內(nèi)容  | 
|   #  |   批注符號:這個最常被使用在script 當中,視為說明!在后的數(shù)據(jù)均不運行  | 
|   \  |   跳脫符號:將『特殊字符或通配符』還原成一般字符  | 
|   |  |   管線(pipe):分隔兩個管線命令的界定(后兩節(jié)介紹);  | 
|   ;  |   連續(xù)命令下達分隔符:連續(xù)性命令的界定(注意!與管線命令并不相同)  | 
|   ~  |   用戶的家目錄  | 
|   $  |   取用變量前導符:亦即是變量之前需要加的變量取代值  | 
|   &  |   工作控制(job control):將命令變成背景下工作  | 
|   !  |   邏輯運算意義上的『非』not 的意思!  | 
|   /  |   目錄符號:路徑分隔的符號  | 
|   >, >>  |   數(shù)據(jù)流重導向:輸出導向,分別是『取代』與『累加』  | 
|   <, <<  |   數(shù)據(jù)流重導向:輸入導向(這兩個留待下節(jié)介紹)  | 
|   ' '  |   單引號,不具有變量置換的功能  | 
|   " "  |   具有變量置換的功能!  | 
|   ` `  |   兩個『` 』中間為可以先運行的命令,亦可使用$( )  | 
|   ( )  |   在中間為子shell 的起始與結(jié)束  | 
|   { }  |   在中間為命令區(qū)塊的組合!  | 
 
 
數(shù)據(jù)流重導向(Redirection)
-  
1>:以覆蓋的方法將『正確的數(shù)據(jù)』輸出到指定的文件或裝置上;
 -  
1>>:以累加的方法將『正確的數(shù)據(jù)』輸出到指定的文件或裝置上;
 -  
2>:以覆蓋的方法將『錯誤的數(shù)據(jù)』輸出到指定的文件或裝置上;
 -  
2>>:以累加的方法將『錯誤的數(shù)據(jù)』輸出到指定的文件或裝置上;
 
/dev/null 垃圾桶黑洞裝置與特殊寫法
standard input :< 與<<
命令運行的判斷依據(jù):; , &&, ||
 
 
|   命令下達情況  |   說明  | 
|   cmd1 && cmd2  |   1. 若cmd1 運行完畢且正確運行($?=0),則開始運行cmd2。  | 
|   cmd1 || cmd2  |   1. 若cmd1 運行完畢且正確運行($?=0),則cmd2 不運行。  | 
 
 
管線命令(pipe):
擷取命令:cut, grep
排序命令:sort, wc(統(tǒng)計),uniq(僅列出一個顯示)
雙向重導向:tee
字符轉(zhuǎn)換命令:tr, col, join, paste, expand
分割命令:split
關(guān)于減號– 的用途:[root@www ~]# tar -cvf - /home |tar -xvf -
 
 
總結(jié)
以上是生活随笔為你收集整理的Note For Linux By Jes(5)-认识与学习 BASH的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: ftp文件服务器与nas性能,nas和f
 - 下一篇: Note For Linux By Je