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