管道命令符 " | " 的作用是將前一個命令的標(biāo)準(zhǔn)輸出當(dāng)作后一個命令的標(biāo)準(zhǔn)輸入,格式為"命令A(yù)|命令B"。

成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)介紹好的網(wǎng)站是理念、設(shè)計和技術(shù)的結(jié)合。創(chuàng)新互聯(lián)擁有的網(wǎng)站設(shè)計理念、多方位的設(shè)計風(fēng)格、經(jīng)驗豐富的設(shè)計團隊。提供PC端+手機端網(wǎng)站建設(shè),用營銷思維進(jìn)行網(wǎng)站設(shè)計、采用先進(jìn)技術(shù)開源代碼、注重用戶體驗與SEO基礎(chǔ),將技術(shù)與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuàng)意性的視覺化效果。
例如:
搜索rsyslogd進(jìn)程: $ ps -ef | grep rsyslogd
用反野形式查看/etc 目錄中有哪些文件: $ ls -l /etc/ | more
bash解釋器支持多種文本通配符,包括:
我們之前在學(xué)文本查詢搜索命令時就用到了通配符,例如,在 /etc 目錄下搜索所有的以host開頭的文件:
$ find /etc -name "host*"
另外,bash解釋器還支持很多的特殊字符擴展:
例如:
先定義名稱為PRICE的變量值為5
$ PRICE=5
輸出“價格是5”:
輸出“價格是$5”,但因為美元符號與代表變量取值的$符號沖突,所以需要用到轉(zhuǎn)義字符:
使用單引號,變量將不再被取值:
執(zhí)行 uname -a 后可以查看到本機內(nèi)核的版本與架構(gòu)信息(反引號里面的命令會被執(zhí)行):
通配符和正則表達(dá)式支持的命令不相同。通配符用于Linux的shell命令(如文件名相關(guān)操作)中,而正則表達(dá)式用于文本內(nèi)容中的字符串搜索和替換等。通配符是Linux系統(tǒng)本身就支持的,而正則表達(dá)式用于vim編輯器或awk程序,這些文本處理工具正是由于支持正則表達(dá)式才變得強大。
正則表達(dá)式:在計算機科學(xué)中,是指一個用來描述或者匹配一系列符合某個句法規(guī)則的字符串的單個字符串。在很多文本編輯器或其他工具里,正則表達(dá)式通常被用來檢索或替換那些符合某個模式的文本內(nèi)容。正則表達(dá)式這個概念最初是由Unix中的工具軟件(例如sed和grep)普及開的。
只有掌握了正則表達(dá)式,才能全面地掌握 Linux 下的常用文本工具(例如:grep、egrep、GUN sed、 Awk 等) 的用法
grep、sed、awk天然支持正則
grep -v代表反選,反向選擇匹配到的內(nèi)容
grep -E代表使用擴展正則
grep -P代表使用Perl正則
sed -r 代表使用擴展正則
正則表達(dá)式分為三類(man grep可以看到,分別是basic RegExs,extended RegExs,perl RegExs)
1、基本的正則表達(dá)式(Basic Regular Expression 又叫 Basic RegEx 簡稱 BREs)
2、擴展的正則表達(dá)式(Extended Regular Expression 又叫 Extended RegEx 簡稱 EREs)
3、Perl 的正則表達(dá)式(Perl Regular Expression 又叫 Perl RegEx 簡稱 PREs)
b. 處理過程:查找文本文件中是否包含要查找的 “關(guān)鍵字”(關(guān)鍵字可以是正則表達(dá)式) ,默認(rèn)返回匹配的該行的內(nèi)容
c. grep|egrep處理文件時,按行處理 |
| sed | sed | sed -r | - | a. 處理對象:文本文件
b.處理操作:對文本文件的內(nèi)容進(jìn)行 查找、替換、刪除、增加等操作
c. sed 在處理文本文件的時候,按行處理 |
| awk | - | awk | - | a. awk 處理的對象:文本文件
b. awk 處理操作:主要是對列進(jìn)行操作 |
注意:egrep 或 sed -r 默認(rèn)使用擴展正則表達(dá)式(EREs),一般特殊字符({})可以不轉(zhuǎn)義
grep -E 以及egrep(Extend Regular Expression)
Linux通配符和三劍客的正則表達(dá)式是不一樣的,因此,代表的意義也有較大的區(qū)別 。
通配符一般用戶命令行bash環(huán)境,而linux正則表達(dá)式用于grep, sed, awk場景。
通配符說明
示例:* 的使用:代表任意0-N個字符,代表所有字符
1、通配符:它由 shell 解析,一般用于搜索時匹配文件名或目錄名。
2、常用通配符:
3、實操練習(xí):
文件通配符
* 匹配零個或多個字符
? 匹配任何單個字符
~ 當(dāng)前用戶家目錄
~mage 用戶mage家目錄
~+ 當(dāng)前工作目錄
~- 前一個工作目錄
[0-9] 匹配數(shù)字范圍
[a-z]:字母(或的關(guān)系)就是表示中括號中的某一個字符
[A-Z]:字母
[a-c]:a A b B c
[A-C]:A b B c C,也就是[]在里面匹配字母時是以aAbB...這樣排序的
[wang] 匹配列表中的任何的一個字符
[^wang] 匹配列表中的所有字符以外的字符
{}花括號用來匹配一組用逗號分隔的字符串中的任一個。
左花括號之前的所有字符稱為前文(preamble),右花括號之后的所有字符稱為后文(preamble)。
前文和后文都是可選的。花括號中不能包含不加引號的空白符
預(yù)定義的字符類:man 7 glob(通配符)
[:digit:]:任意數(shù)字,相當(dāng)于0-9
[:lower:]:任意小寫字母[:lower:] 這個只相當(dāng)于a-z,表示的時候必須要在加上中括號
[:upper:]: 任意大寫字母
[:alpha:]: 任意大小寫字母
[:alnum:]:任意數(shù)字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:標(biāo)點符號
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:圖形字符
[:xdigit:]:十六進(jìn)制字符
ls命令的功能:
列出當(dāng)前目錄的內(nèi)容或指定目錄
ls命令的用法:
ls [options] [files_or_dirs]
示例:
ls -a 包含隱藏文件
ls -l 顯示額外的信息
ls -r 倒轉(zhuǎn)排序或者可以說是逆序排列
ls -R 目錄遞歸通過(遞歸會進(jìn)入到子目錄)
ls -ld 目錄和符號鏈接信息
ls -1? 文件分行顯示(列顯示)
ls –S? 按從大到小排序(按文件的大小排序)
ls –t? 按mtime排序(按文件的修改時間排序)
ls –u 配合-t選項,顯示并按atime從新到舊排序
ls –U? 按目錄存放順序顯示(以創(chuàng)建文件的次序進(jìn)行顯示)
ls –X? 按文件后綴排序
ls -d? 列出目錄本身并不顯示內(nèi)容
ls -h? 單位換算
ls -I? --ignore(忽略)=PATTERN(模式)按著規(guī)定的模式去隱藏不進(jìn)行顯示
實例:
1、顯示/var目錄下所有以l開頭,以一個小寫字母結(jié)尾,且中間出現(xiàn)至少一位數(shù)
字的文件或目錄
ls -d /var/l*[0-9]*[[:lower:]]
2、顯示/etc目錄下以任意一位數(shù)字開頭,且以非數(shù)字結(jié)尾的文件或目錄
ls -d /etc/[0-9]*[^0-9]
3、顯示/etc/目錄下以非字母開頭,后面跟了一個字母及其它任意長度任意字符
的文件或目錄
ls -d /etc/[^[:alpha:]][[:alpha:]]*
4、顯示/etc/目錄下所有以rc開頭,并后面是0-6之間的數(shù)字,其它為任意字符
的文件或目錄
ls -d /etc/rc[0-6]*
5、顯示/etc目錄下,所有以.d結(jié)尾的文件或目錄
ls -d /etc/*.d
6、顯示/etc目錄下,所有.conf結(jié)尾,且以m,n,r,p開頭的文件或目錄
ls -d /etc/[mnrp]*.conf
7、只顯示/root下的隱藏文件和目錄
ls -d /root/.*
ls -aI "[^.]*"? 當(dāng)前目錄為/root
l. ls -d .* --color=auto 當(dāng)前目錄為/root
8、只顯示/etc下的非隱藏目錄
ls -d /etc/*/
網(wǎng)站名稱:linux命令支持通配符的簡單介紹
網(wǎng)頁網(wǎng)址:http://www.chinadenli.net/article0/doddgoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、網(wǎng)站收錄、企業(yè)網(wǎng)站制作、網(wǎng)站導(dǎo)航、微信小程序、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)