當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 學(xué)習(xí)筆記 > 嵌入式學(xué)習(xí)筆記:shell特殊字符總結(jié)
shell特殊字符最全面的總結(jié),想要加強(qiáng)這一方面的可以來學(xué)習(xí)哦,文章尾部還有題,可以做一做。
【1】shell 中的通配符
(1)通配符
當(dāng)需要用命令處理一組文件,例如 file.txt、file2.txt、file3.txt....,用戶不必意義輸入文件
名,
可以使用 shell 通配符。shell 命令的通配符含義如下表
通配符
*
file_lee.txt、file3_
?
含義
匹配任意長度的字符串
liu.txt
匹配一個長度的字符
實(shí)例
用 file_*.txt, 匹配 file_wang.txt 、
用 file_?.txt,匹配 file_1.txt、file_2.txt、
file_3.txt
[...]
file_r.txt 和 file_t。txt
[-]
file_b.txt,直到 file_z.txt
[^...]
匹配其中指定的一個字符
匹配指定的一個字符范圍
除了其中指定的字符均可匹配
用 file_[otr].txt,匹配 file_o.txt、
用 file_[a-z].txt,匹配 file_a.txt、
用 file_[^otr].txt,除了 file_o.txt、
file_t.txt、file_r.txt 的其它文件
【2】shell 中的管道
(1)管道
管道可以把一系列命令鏈接起來,意味著第一個命令的輸出將作為第二個命令的輸入,通過管道傳遞給第二個命令,
第二個命令的輸出又將作為第三個命令的輸入,以此類推。就像通過使用“|”符連成一個管道。
ls /use/bin | wc -w
【3】總結(jié)與思考
(1)本節(jié)課主要介紹了 shell 中的幾種特殊字符的用法以及管道的使用
(2)思考
1)shell
2)shell
中有哪些特殊字符?
中管道的作用?
* ? [ ]
第一個命令的輸出作為第二個命令的輸入
3)shell
中
grep
命令和管道如何結(jié)合?
cat /etc/passwd | grep
“linux”
ps -ef
是查看當(dāng)前運(yùn)行的進(jìn)程
【3】輸入輸出重定向
(1)輸入/輸出重定向是改變 shell 命令或程序默認(rèn)的標(biāo)準(zhǔn)輸入/輸出目標(biāo),重新定向到新的目標(biāo)。
(2)linux 中默認(rèn)的標(biāo)準(zhǔn)輸入定義為鍵盤,標(biāo)準(zhǔn)輸出定義為終端窗口。
(3)用戶可以為當(dāng)前操作改變輸入或輸出,迫使某個特定命令的輸入或輸出來源為外
部文件。
重定向符
> file
含義
將 file 文件重定向?yàn)檩敵鲈,新建模?/p>
實(shí)例
ls /usr > Lsoutput.txt,將
ls /usr
的執(zhí)行結(jié)果,
寫到 Lsoutput.txt 文件中,若有同名文件將被刪除
>> file 將 file 文件重定向?yàn)檩敵鲈,追加模?ls /usr >> Lsoutput.txt,將 ls
/usr 的執(zhí)行結(jié)果,
追加到 Lsoutput.txt 文件已有內(nèi)容后
< file 將 file 文件重定向?yàn)檩斎朐?wc < file1,將 file1 中的內(nèi)容作為輸入傳
給 wc 命令
2> 或 &> 將由命令產(chǎn)生的錯誤信息輸入到文件中 ls noexistingfile.txt 2> err.log,使用 ls 命令,
查看一個不存在的文件時,將系統(tǒng)錯誤提示保
存在 err.log 文件中
(4)cat 命令功能為在標(biāo)準(zhǔn)輸出上顯示文件。下面通過一個實(shí)例,可以更好地理解重定
向的功能。
并按
1) cat
have a good day!
Enter 鍵
have a good day!
#使用標(biāo)準(zhǔn)輸入/出設(shè)備
#用戶使用標(biāo)準(zhǔn)輸入設(shè)備——鍵盤,鍵入字符串,
#系統(tǒng)在標(biāo)準(zhǔn)輸出——顯示器上,顯示用戶剛剛
輸入的字符串
并按
2) cat > file1.txt
have a good day!
Enter 鍵
#輸出重定向,將輸出定向到文件 file1.txt
#用戶使用標(biāo)準(zhǔn)輸入設(shè)備——鍵盤,鍵入字符串,
#用戶輸入的字符串被保存在 file1.txt
文件中
3) cat < file1.txt
have a good day!
#輸入重定向,將 cat 命令的輸入指定為 file1.txt 文件
#系統(tǒng)在標(biāo)準(zhǔn)輸出顯示器上,顯示 cat 命令從文
件中讀出的字符串
【4】命令置換
(1)命令替換是將一個命令的輸出作為另一個命令的參數(shù)。命令格式如下所示。
1)其中,命令 command2 的輸出將作為命令 command1 的參數(shù)。需要注意,命令置
換的單引號為 ESC 鍵下方的“`”鍵
command1 `command2`
2)pwd 命令用于顯示當(dāng)前目錄的絕對路徑。在上面的命令行中,使用命令置換符,將pwd 的運(yùn)行結(jié)果作為 ls 命令的參數(shù)。最終,命令執(zhí)行結(jié)果是顯示當(dāng)前目錄的文件內(nèi)容。
linux@ubuntu:~$ ls `pwd`
Desktop Examples historycommandlist mywork
【5】總結(jié)與思考
(1)本節(jié)課首先介紹了 shell 中的輸入輸出重定向的用法,然后介紹了命令置換的使用(2)思考:
什么叫輸入輸出重定向?
有哪些輸入輸出重定向符?