shell編程基礎(chǔ)之認(rèn)識與學(xué)習(xí)BASH
1、認(rèn)識Bash
通過Shell將輸入的指令與Kernel溝通,讓Kernel控制硬件工作
查看Shell:cat /etc/shell
登錄后預(yù)設(shè)的shell類型記錄在/etc/passwd中,與賬戶相關(guān)
命令別名:alias lm='ls -al' #注意有無空格
幫助:man bash
命令類型:type
type ls # ls is aliased to `ls –color=auto'
type cat # cat is hashed (/bin/cat)
type cd # cd is a shell builtin
命令執(zhí)行:
\[Enter]:將[Enter]轉(zhuǎn)義,按下后不執(zhí)行,而是另起一行
2、Shell的變量功能
概念:同一變量,不同用戶可以有不同值,所以可以用變量來代表此值,而不用將具體的值 寫入程序,如$PATH
顯示變量:echo $PATH
設(shè)定變量:PATH=xxx #注意空格有無
擴(kuò)充變量:PATH=$PATH:xxx
取消變量:unset MAIL
查看環(huán)境變量:env
查看環(huán)境變量及自定義變量:set
PS1:提示字符設(shè)定
自定義變量轉(zhuǎn)環(huán)境變量:export
為什么要轉(zhuǎn)成環(huán)境變量:因?yàn)樽映绦驎?huì)繼承父程序的環(huán)境變量
語系支持
查看系統(tǒng)支持的語系:locale -a
查看與語系有關(guān)的變量:locale
鍵盤讀取用戶輸入read: read atest #將用戶輸入讀入atest變量
聲明變量類型 declare: declare -i sum=100+50
3、命令別名與歷史命令
別名
alias lm='ls -al | more'
unalias lm
歷史命令
history
4、Bash shell的操作環(huán)境
指令執(zhí)行時(shí)查找順序
相對/絕對路徑 -> alias -> bash內(nèi)建 -> $PATH
bash配置文件
login shell/non-login shell
login shell: 進(jìn)入shell時(shí)需要輸入賬號密碼
non-login shell: 通過圖形界面登錄,再啟動(dòng)shell時(shí)無需輸入賬號密碼
配置文件
login shell:
/etc/profile :系統(tǒng)整體設(shè)定
以下三個(gè)文件按順序,如果存在,就讀取,后面的就不再讀取
~/.bash_profile
~/.bash_login
~/.profile
通配符
* : 0到無窮個(gè)字符
? : 一個(gè)字符
[]: [abc] # a or b or c
[-]: [0-9] # 0 到 9
[^]: [^abc] # 不是a,b,c的一個(gè)字符
5、數(shù)據(jù)流重導(dǎo)向
> :覆蓋
>>:累加
/dev/null:接收信息但不顯示
依次執(zhí)行:cmd1,cmd2,cmd3
根據(jù)上一條執(zhí)行結(jié)果確定下一條
cmd1 && cmd2
cmd1 || cmd2
6、管線命令
ls | less
cut:同一行數(shù)據(jù)分割
echo $PATH | cut -d ':' -f 5 #以':'分割,第5個(gè)數(shù)據(jù)
grep:如果一行里有需要的信息,就返回這一行
sort:排序
uniq:重復(fù)內(nèi)容只顯示一次
wc:統(tǒng)計(jì)單詞數(shù)
tee:雙向重定向
tr:刪除或替換數(shù)據(jù)
col:轉(zhuǎn)化為純文本
join:將兩個(gè)文件中相關(guān)信息放在一起
paste:將兩行并在一起,中間用[Tab]分開
expand:將[Tab]轉(zhuǎn)為空格
split:將大文件傳為小文件
- 利用shell編程實(shí)現(xiàn)DOS風(fēng)格的Linux命令行
- Shell編程的一些知識集合
- shell編程基礎(chǔ) 單引號和雙引號的區(qū)別
- 深入淺出Shell編程 Shell變量介紹
- 分享shell編程中的幾個(gè)小技巧
- shell編程基礎(chǔ)知識小結(jié)
- shift妙用之解決shell編程中的入?yún)栴}
- Shell編程之Shell變量學(xué)習(xí)總結(jié)
- shell編程之實(shí)現(xiàn)windows回收站功能分享
- 讓代碼整潔、過程清晰的BASH Shell編程技巧
- PowerShell編程中的一些命名規(guī)則參考
- Shell編程指南
相關(guān)文章
linux shell實(shí)現(xiàn)判斷輸入的數(shù)字是否為合理的浮點(diǎn)數(shù)
這篇文章主要介紹了linux shell實(shí)現(xiàn)判斷輸入的數(shù)字是否為合理的浮點(diǎn)數(shù),需要的朋友可以參考下2016-08-08Linux實(shí)現(xiàn)定時(shí)備份MySQL數(shù)據(jù)庫并刪除30天前的備份文件
這篇文章主要介紹了Linux實(shí)現(xiàn)定時(shí)備份MySQL數(shù)據(jù)庫并刪除30天前的備份文件,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01一天一個(gè)shell命令 linux文本操作系列-wc命令詳解
這篇文章主要介紹了一天一個(gè)shell命令 linux文本操作系列-wc命令詳解,需要的朋友可以參考下2016-06-06Shell腳本判斷進(jìn)程是否存在的實(shí)現(xiàn)示例
本文主要介紹了Shell腳本判斷進(jìn)程是否存在的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06開發(fā)者常用及實(shí)用Linux Shell命令備忘錄(小結(jié))
這篇文章主要介紹了開發(fā)者常用及實(shí)用Linux Shell命令備忘錄(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11