1. 程式人生 > 其它 >電商專案“商品分類瀏覽”如何測試?附詳細思維導圖

電商專案“商品分類瀏覽”如何測試?附詳細思維導圖

linux三劍客之grep

1、find

根據檔案的名稱或者屬性查詢檔案。

語法格式:
	find   [查詢範圍]  [引數]

引數:
	-name : 按照檔案的名字查詢檔案
		* :萬用字元
	-iname :  按照檔案的名字查詢檔案(忽略大小寫)
	-size : 按照檔案的大小查詢檔案
		+	: 大於
		-	: 小於
		沒符號 : 等於

	-mtime : 按照修改時間去查詢
		+(可以省略) : n 天以前
		- 			: n 天以內
	-atime
	-ctime 

	-user :按照使用者的屬主查詢
	-group : 按照使用者的屬組查詢
	-type : 按照檔案的型別查詢
		d : 資料夾
		l : 連結檔案
		s : 套接字檔案
		p : 管道檔案
		c : 字元檔案
		b :磁碟檔案
		f : 普通檔案

	-perm : 按照檔案的許可權查詢
	-inum : 根據index node號碼查詢

	-a : 並且(可以省略,預設時並且)
	-o : 或者
	-maxdepth : 查詢的目錄深度(必須放置與第一個引數位) 

	-exec : 將find處理好的結果交給其他命令繼續處理。

知識儲備:
	dd : 生成檔案
		if 		:從什麼地方讀
		of 		: 寫入到什麼檔案
		bs 		: 每次寫入多少內容
		count 	: 寫入多少次

案例:
	案例1:查詢/etc目錄下hosts檔案
        [root@localhost ~]# find /etc/ -name 'hosts'
        /etc/hosts
    案例2:查詢/etc目錄下名稱中包含hosts檔案
    	[root@localhost ~]# find /etc/ -name '*hosts*'

    案例3:要求把/etc目錄下,所有的普通檔案打包壓縮到/tmp目錄
		[root@localhost /tmp]# tar -czPf /tmp/etcv2.tar.gz `find /etc/ -type f | xargs`

知識儲備
	| : 前面一個命令的結果交給後面一個命令處理
	xargs : 把處理的文字變成以空格分割的一行
	`` : 提前執行命令,然後將結果交給其他命令來處理

2、grep

linux三劍客之一,文字過濾器(根據文字內容過濾檔案)。

語法格式:
	grep [引數] [匹配規則] [操作物件]

引數:
	-n : 過濾文字時,將過濾出來的內容在檔案內的行號顯示出來
	-A : 匹配成功之後,將匹配行的後n行顯示出來
	-B : 匹配成功之後,將匹配行的前n行顯示出來
	-C : 匹配成功之後,將匹配行的前後各n行顯示出來
	-c :  只顯示匹配成功的行數
	-o :  只顯示匹配成功的內容
	-v :  反向過濾
	-q :  靜默輸出
	-i : 忽略大小寫
	-l :  匹配成功之後,將文字的名稱打印出來
	-R|-r : 遞迴匹配 

	-E : 使用拓展正則   等價於  egrep

知識儲備:
	$? : 上一行命令執行的結果,0代表執行成功,其他數字代表執行失敗。
	wc :  匹配行數
		-l : 列印匹配行數
		-c : 列印匹配的位元組數
	

在/etc目錄下,有多少個檔案包含root。
	grep -rl 'root' /etc/ | wc -l

3、正則表示式

1、正則表示式的分類(grep)
	1、普通正則表示式
	2、拓展正則表示式

2、普通正則表示式
	
	^ : 以某字元開頭
	$ : 以某字元結尾
	. : 匹配除換行符之外的任意單個字元
	* :匹配前導字元的任意個數
	[] : 某組字串的任意一個字元
	[^]      : 取反
	[a-z]    : 匹配小寫字母
	[A-Z]    : 匹配大寫字母
	[a-zA-Z] : 匹配字母
	[0-9] 	 : 匹配數字
	\ 		: 取消轉義
	()		: 分組
		\n : 代表第n個分組

3、拓展正則
	{}     :匹配的次數
		{n}		: 匹配n次
		{n,}	:至少匹配n次
		{n,m}	:匹配 n 到 m 次
		{,m}	:最多匹配m次
	+      :匹配至少有一個前導字元
	?      : 匹配一個或零個前導字元
	|      :或

案例:
	案例1:在/etc/passwd檔案中,匹配以ftp開頭的行
		grep '^ftp' /etc/passwd

	案例2:在/etc/passwd檔案中,匹配以bash結尾的行
		grep 'bash$' /etc/passwd

	案例3:匹配本機中有哪些ip
		ip a | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}'

	案例4:要求將/etc/fstab中的去掉包含 # 開頭的行,且要求 # 後至少有一個空格
		grep -vE '^#\ +' /etc/fstab

	案例5:找出檔案中至少有一個空格的行
		grep -E '\ +' xxx

	案例6:將 nginx.conf 檔案中以#開頭的行和空行,全部刪除 
		grep -vE '^\ *#|^$' /etc/nginx/nginx.conf