嵌入式學習筆記:shell特殊字(zi)符(fu)總結
時間:2018-09-07 來源:未知
shell特(te)殊字符最全(quan)面的總結,想要加強這一(yi)方面的可以來學(xue)習(xi)哦,文章尾部還(huan)有題,可以做一(yi)做。
【1】shell 中的通配(pei)符
(1)通配符
當需(xu)要(yao)用(yong)命令處理一組文(wen)件(jian),例如(ru) file.txt、file2.txt、file3.txt....,用(yong)戶(hu)不必意義輸入文(wen)件(jian)
名,
可以使用 shell 通(tong)配符。shell 命令(ling)的通(tong)配符含義(yi)如(ru)下表(biao)
通配符
*
file_lee.txt、file3_
?
含義
匹配任意長度的字符(fu)串
liu.txt
匹配一個長度的(de)字符(fu)
實例
用 file_*.txt, 匹(pi)配(pei) file_wang.txt 、
用(yong) file_?.txt,匹(pi)配(pei) file_1.txt、file_2.txt、
file_3.txt
[...]
file_r.txt 和 file_t。txt
[-]
file_b.txt,直到(dao) file_z.txt
[^...]
匹配其(qi)中指定的一個字符
匹配指定的一(yi)個字符范圍
除了其(qi)中指(zhi)定的字符均可匹配(pei)
用 file_[otr].txt,匹配 file_o.txt、
用 file_[a-z].txt,匹(pi)配(pei) file_a.txt、
用 file_[^otr].txt,除了 file_o.txt、
file_t.txt、file_r.txt 的(de)其它文(wen)件(jian)
【2】shell 中的管道(dao)
(1)管道
管道可以把一(yi)系列命令鏈接起(qi)來,意味著第一(yi)個(ge)命令的輸出將作為第二個(ge)命令的輸入,通過管道傳遞給第二個(ge)命令,
第二個命令的輸出又將(jiang)作為第三個命令的輸入,以此類推(tui)。就像通過使用“|”符連成一個管道。
ls /use/bin | wc -w
【3】總結與(yu)思考
(1)本節課主要介紹(shao)了 shell 中的幾種特殊字符的用法以及管道的使(shi)用
(2)思考
1)shell
2)shell
中(zhong)有哪(na)些特殊(shu)字符?
中管(guan)道的作用(yong)?
* ? [ ]
第一個命令(ling)的(de)(de)輸出(chu)作為(wei)第二個命令(ling)的(de)(de)輸入
3)shell
中
grep
命令和(he)管道如何結合?
cat /etc/passwd | grep
“linux”
ps -ef
是(shi)查(cha)看(kan)當前運行的進程
【3】輸(shu)入(ru)輸(shu)出(chu)重定(ding)向
(1)輸(shu)(shu)入/輸(shu)(shu)出(chu)重(zhong)定向是(shi)改變 shell 命令(ling)或程序默(mo)認的(de)標準輸(shu)(shu)入/輸(shu)(shu)出(chu)目標,重(zhong)新定向到新的(de)目標。
(2)linux 中(zhong)默認的標(biao)準輸入定義為鍵(jian)盤,標(biao)準輸出定義為終(zhong)端窗口(kou)。
(3)用戶可以為(wei)當前操作改變輸(shu)入或輸(shu)出(chu),迫使某個特定命令的輸(shu)入或輸(shu)出(chu)來源(yuan)為(wei)外(wai)
部文件。
重定向符
> file
含義
將(jiang) file 文件重(zhong)定向為輸出源,新建模式(shi)
實例
ls /usr > Lsoutput.txt,將(jiang)
ls /usr
的執行結果,
寫到(dao) Lsoutput.txt 文件(jian)中,若有同名文件(jian)將被刪除
>> file 將(jiang) file 文件重定向為(wei)輸(shu)出源,追加(jia)模式 ls /usr >> Lsoutput.txt,將(jiang) ls
/usr 的執行(xing)結果,
追加(jia)到 Lsoutput.txt 文件已有內(nei)容后
< file 將 file 文件重定向為輸入源 wc < file1,將 file1 中的內(nei)容作為輸入傳
給 wc 命令
2> 或 &> 將(jiang)由命(ming)令產生的錯誤信息輸(shu)入到文(wen)件中 ls noexistingfile.txt 2> err.log,使(shi)用 ls 命(ming)令,
查看一個不存在的文件時,將系(xi)統(tong)錯誤(wu)提(ti)示保
存在 err.log 文(wen)件(jian)中
(4)cat 命(ming)令功能為在(zai)標準輸出上顯示(shi)文件(jian)。下(xia)面通(tong)過一(yi)個實(shi)例,可以更好(hao)地理解(jie)重(zhong)定(ding)
向的功能。
并按
1) cat
have a good day!
Enter 鍵
have a good day!
#使用(yong)標(biao)準輸入/出(chu)設(she)備
#用(yong)戶使用(yong)標準(zhun)輸入設備——鍵(jian)盤,鍵(jian)入字符串,
#系統在標準輸(shu)出(chu)——顯示器上,顯示用(yong)戶剛(gang)剛(gang)
輸(shu)入的字符串
并按
2) cat > file1.txt
have a good day!
Enter 鍵
#輸出(chu)重(zhong)定向,將輸出(chu)定向到(dao)文件 file1.txt
#用(yong)戶(hu)使用(yong)標準(zhun)輸入(ru)設備——鍵盤,鍵入(ru)字符串,
#用戶輸入的字符串(chuan)被保(bao)存在(zai) file1.txt
文件中
3) cat < file1.txt
have a good day!
#輸入(ru)重定向,將(jiang) cat 命(ming)令的輸入(ru)指(zhi)定為 file1.txt 文(wen)件
#系統(tong)在標(biao)準(zhun)輸(shu)出顯(xian)示器上,顯(xian)示 cat 命令從(cong)文
件中讀出的字符串
【4】命令(ling)置換(huan)
(1)命(ming)令(ling)(ling)替換是將一個(ge)命(ming)令(ling)(ling)的輸出(chu)作為另一個(ge)命(ming)令(ling)(ling)的參數。命(ming)令(ling)(ling)格式如下所示。
1)其(qi)中,命(ming)(ming)(ming)令(ling) command2 的輸出將(jiang)作為命(ming)(ming)(ming)令(ling) command1 的參數(shu)。需要(yao)注意(yi),命(ming)(ming)(ming)令(ling)置
換的單引號為 ESC 鍵下方的“`”鍵
command1 `command2`
2)pwd 命(ming)令(ling)(ling)用于顯(xian)示當(dang)前(qian)目錄(lu)的(de)絕(jue)對路徑。在上(shang)面的(de)命(ming)令(ling)(ling)行(xing)中,使用命(ming)令(ling)(ling)置換符,將pwd 的(de)運(yun)行(xing)結果(guo)作為 ls 命(ming)令(ling)(ling)的(de)參數。最終,命(ming)令(ling)(ling)執行(xing)結果(guo)是(shi)顯(xian)示當(dang)前(qian)目錄(lu)的(de)文件(jian)內容(rong)。
linux@ubuntu:~$ ls `pwd`
Desktop Examples historycommandlist mywork
【5】總(zong)結與(yu)思考
(1)本節課首(shou)先(xian)介(jie)紹了 shell 中的輸(shu)入輸(shu)出重(zhong)定(ding)向的用法,然(ran)后(hou)介(jie)紹了命令(ling)置換的使(shi)用(2)思考:
什么(me)叫(jiao)輸入輸出重(zhong)定向?
有哪些輸(shu)入(ru)輸(shu)出重定(ding)向符?