用shell命令讀取與輸出數(shù)據(jù)的代碼
shell腳本讀取數(shù)據(jù)有以下幾種方式:
1.鍵盤輸入,默認(rèn)
2.從文件中讀取
3.通過管道命令傳遞
echo的功能:
\c :不換行
\f :進(jìn)紙
\t :跳格
\n :換行
\表示轉(zhuǎn)義,例如:"\"/dev/rmt0"\"翻譯為,"/dev/rmt0"
read:從鍵盤或文件的某一行文本中讀取信息,并將其賦給一個(gè)變量。
[jb51]/>read name
hello i am a regular user
[jb51]/>echo $name
hello i am a regular user
[jb51]/>
cat:作用,1.顯示文件內(nèi)容,2.創(chuàng)建文件,3.顯示控制字符。
1.顯示文件內(nèi)容
cat filename | more
cat filename | pg
2.創(chuàng)建文件
cat > filename
3.顯示控制字符
cat -v filename
管道:可以通過管道,將一個(gè)命令的輸出傳遞給另一個(gè)命令做為輸入。
形式:命令1 | 命令2
例如:
[jb51]/usr/xxxx/ytcclb>who | awk '{print $1"\t"$2}'
xxxx ttyp0
xxxx ttyp1
xxxx ttyp2
...
xxxx ttyp55
[jb51]/usr/xxxx/ytcclb>df -k | awk '{print $1}' | grep -v "Filesystem"
/dev/root
/dev/boot
[jb51]/usr/xxxx/ytcclb>df -k | awk '{print $1}'| grep -v "Filesystem"|sed s'/\/dev\///g'
root
boot
[jb51]/usr/xxxx/ytcclb>
tee命令
作用:把輸出的一個(gè)副本輸送到標(biāo)準(zhǔn)輸出,另一個(gè)副本拷貝到相應(yīng)的文件中。
tee -a file
-a:追加到文件末尾。
[jb51]/usr/xxxx/ytcclb>who | tee who.out
將who命令查找到的數(shù)據(jù)保存到who.out文件中。
文件重定向:
command > filename 把標(biāo)準(zhǔn)輸出重定向到一個(gè)新文件中
command >> filename 把標(biāo)準(zhǔn)輸出重定向到一個(gè)文件中(追加)
command 1 > fielname 把標(biāo)準(zhǔn)輸出重定向到一個(gè)文件中
command > filename 2>&1 把標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤一起重定向到一個(gè)文件中
command 2 > filename 把標(biāo)準(zhǔn)錯(cuò)誤重定向到一個(gè)文件中
command 2 >> filename 把標(biāo)準(zhǔn)輸出重定向到一個(gè)文件中(追加)
command >> filename 2>&1 把標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤一起重定向到一個(gè)文件中(追加)
command < filename >filename2 把command命令以filename文件作為標(biāo)準(zhǔn)輸入,
以filename2文件作為標(biāo)準(zhǔn)輸出
command < filename 把command命令以filename文件作為標(biāo)準(zhǔn)輸入
command << delimiter 把從標(biāo)準(zhǔn)輸入中讀入,直至遇到delimiter分界符
command <&m 把文件描述符m作為標(biāo)準(zhǔn)輸入
command >&m 把標(biāo)準(zhǔn)輸出重定向到文件描述符m中
command <&- 把關(guān)閉標(biāo)準(zhǔn)輸入
重定向標(biāo)準(zhǔn)輸出
1.將很多命令的輸出追加到一個(gè)文件中
ls -l | grep ^d >>files.out
ls account* >> files.out
[jb51]/usr/xxxx/ytcclb>ls -l null.txt
-rw-r--r-- 1 xxxx group 3 Nov 15 16:07 null.txt
[jb51]/usr/xxxx/ytcclb>chmod u +x null.txt
chmod: WARNING: cannot access +x: No such file or directory (error 2)
u與+x之間有空格!
[jb51]/usr/xxxx/ytcclb>chmod u+x null.txt
[jb51]/usr/xxxx/ytcclb>ls -l null.txt
-rwxr--r-- 1 xxxx group 3 Nov 15 16:07 null.txt
相關(guān)文章
linux上搭建solr的實(shí)現(xiàn)方法(用jetty部署)
下面小編就為大家分享一篇linux上搭建solr的實(shí)現(xiàn)方法(用jetty部署),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12Linux環(huán)境下tcpdump網(wǎng)絡(luò)協(xié)議抓包與解析
這篇文章主要為大家介紹了Linux環(huán)境下tcpdump網(wǎng)絡(luò)協(xié)議抓包與解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Linux命令行查看cpu(lm_sensors)和顯卡溫度(nvidia-smi)的操作方法
lm_sensors,是一款基于linux系統(tǒng)的硬件監(jiān)控的軟件。可以監(jiān)控主板,CPU的工作電壓,溫度等數(shù)據(jù),這篇文章主要介紹了Linux命令行如何查看cpu(lm_sensors)和顯卡溫度(nvidia-smi),需要的朋友可以參考下2022-12-12Shell腳本連接oracle數(shù)據(jù)庫的實(shí)現(xiàn)代碼
這篇文章主要介紹了Shell腳本連接oracle數(shù)據(jù)庫的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05shell之創(chuàng)建文件及內(nèi)容的方法示例
這篇文章主要介紹了shell之創(chuàng)建文件及內(nèi)容的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05shell腳本快速刪除服務(wù)器指定目錄下文件(最新方法)
這篇文章主要介紹了shell腳本快速刪除服務(wù)器指定目錄下文件(最新方法),包括刪除4天前的文件及只刪除指定文件,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07