shell編程基礎(chǔ)之認識與學(xué)習(xí)BASH
1、認識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 #注意空格有無
擴充變量:PATH=$PATH:xxx
取消變量:unset MAIL
查看環(huán)境變量:env
查看環(huán)境變量及自定義變量:set
PS1:提示字符設(shè)定
自定義變量轉(zhuǎn)環(huán)境變量:export
為什么要轉(zhuǎn)成環(huán)境變量:因為子程序會繼承父程序的環(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í)行時查找順序
相對/絕對路徑 -> alias -> bash內(nèi)建 -> $PATH
bash配置文件
login shell/non-login shell
login shell: 進入shell時需要輸入賬號密碼
non-login shell: 通過圖形界面登錄,再啟動shell時無需輸入賬號密碼
配置文件
login shell:
/etc/profile :系統(tǒng)整體設(shè)定
以下三個文件按順序,如果存在,就讀取,后面的就不再讀取
~/.bash_profile
~/.bash_login
~/.profile
通配符
* : 0到無窮個字符
? : 一個字符
[]: [abc] # a or b or c
[-]: [0-9] # 0 到 9
[^]: [^abc] # 不是a,b,c的一個字符
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個數(shù)據(jù)
grep:如果一行里有需要的信息,就返回這一行
sort:排序
uniq:重復(fù)內(nèi)容只顯示一次
wc:統(tǒng)計單詞數(shù)
tee:雙向重定向
tr:刪除或替換數(shù)據(jù)
col:轉(zhuǎn)化為純文本
join:將兩個文件中相關(guān)信息放在一起
paste:將兩行并在一起,中間用[Tab]分開
expand:將[Tab]轉(zhuǎn)為空格
split:將大文件傳為小文件
相關(guān)文章
linux shell實現(xiàn)判斷輸入的數(shù)字是否為合理的浮點數(shù)
這篇文章主要介紹了linux shell實現(xiàn)判斷輸入的數(shù)字是否為合理的浮點數(shù),需要的朋友可以參考下2016-08-08Linux實現(xiàn)定時備份MySQL數(shù)據(jù)庫并刪除30天前的備份文件
這篇文章主要介紹了Linux實現(xiàn)定時備份MySQL數(shù)據(jù)庫并刪除30天前的備份文件,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01一天一個shell命令 linux文本操作系列-wc命令詳解
這篇文章主要介紹了一天一個shell命令 linux文本操作系列-wc命令詳解,需要的朋友可以參考下2016-06-06開發(fā)者常用及實用Linux Shell命令備忘錄(小結(jié))
這篇文章主要介紹了開發(fā)者常用及實用Linux Shell命令備忘錄(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11