本篇內(nèi)容主要講解“有哪些Shell常用命令和例子”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“有哪些Shell常用命令和例子”吧!
1、在Windows下的用戶要使用shell命令符的話請先安裝cygwin,安裝方法自行Google(搜技術(shù)問題請使用google,百度搜不到活該)
2、下面粗略介紹下SEO日志分析常用的命令符用法,需要詳細了解每個命令符請使用Google。
less 文件名 查看文件內(nèi)容 按“q” 退出
cat 文件名 打開文件,可以多次打開幾個文件 | cat 1.log 2.log |cat *.cat
grep -參數(shù) 文件名
-i 不區(qū)分大小寫
-v 顯示不符合條件的所有行
-c 顯示符合條件的所有行數(shù)(符合條件的數(shù)量)
egrep 屬于grep的升級版,在正則這一塊的支持更完善,使用正則的時候建議使用egrep
head -2 文件名 顯示2行
head -100 文件名 | tail -10 >>a.log 提取文件第91-100行數(shù)據(jù)
wc -參數(shù) 文件名 統(tǒng)計文本大小,字符多少,行數(shù)
-c 統(tǒng)計文本字節(jié)數(shù)
-m 統(tǒng)計文本字符數(shù)
-l 統(tǒng)計文本有多少行
sort – 參數(shù) 文件名 對文件進行排序
-n 對文件按照數(shù)字排序
-r 反向排序
uniq -參數(shù) 文件名 對文件去重,去重前需要使用排序
sort
-c 顯示數(shù)據(jù)重復(fù)的次數(shù)
split -參數(shù) 文件名 對文件進行切割
-100 (每100行切割成一個文件)
-C 25m/b/k (每25兆/字節(jié)/K 分割成一個文件)
| 管道,把上一條命令的結(jié)果傳輸給下一條命令
“>” 和“>> ” 重定向?qū)懭胛募?“>”相當(dāng)于“w”清空并寫入 “>>”相當(dāng)于“a” 追加進文件
awk -F ‘分割符' Pattern {action} 文件名 使用指定的字符對每一行數(shù)據(jù)進行分段,默認是空格(網(wǎng)站日志就是空格分開)
-F后面跟的是分隔符
pattern 就是action執(zhí)行的條件,這里可以使用正則表達式
$n 即時第幾段數(shù)據(jù) $0表示整行數(shù)據(jù)
NF表示當(dāng)前記錄的字段數(shù)
$NF 表示最后一個字段
BEGIN和END,這兩者都可用于pattern中,提供BEGIN和END的作用是給程序賦予初始狀態(tài)和在程序結(jié)束之后執(zhí)行一些掃尾的工作
bash shell.sh 運行shell.sh腳本
dos2unix xxoo.sh 將“\r\n”轉(zhuǎn)換成“\n” Windows——>linux (由于Windows和Linux下的換行符不同,所以我們在Windows下面下的代碼需要使用dos2unix 轉(zhuǎn)換成Linux下的換行符,否則運行shell腳本會報錯)
unix2dos xxoo.sh 將“\n”轉(zhuǎn)換成“\r\n” linux——>Windows
rm xx.txt 刪除xx.txt文件
3、一些簡單的命令符介紹到這里,需要了解shell,建議大家查看相關(guān)的書籍.
下面我們開始使用shell分析日志
1、切割百度的抓取數(shù)據(jù)(將文件切割出來對專門的爬蟲數(shù)據(jù)進行處理能提高效率)
代碼如下:
cat log.log |grep -i ‘baiduspider' >baidu.log
2、網(wǎng)站狀態(tài)碼個數(shù)查詢
代碼如下:
awk ‘{print $9}' baidu.log|sort|uniq -c|sort -nr
3、百度總抓取量
代碼如下:
wc -l baidu.log
4、百度不重復(fù)抓取量
代碼如下:
awk ‘{print $7}' baidu.log|sort|uniq|wc -l
5、百度平均每次抓取的數(shù)據(jù)大小(結(jié)果是KB)
代碼如下:
awk ‘{print $10}' baidu.log|awk ‘BEGIN{a=0}{a+=$1}END{ print a/NR/1024}'
6、首頁抓取量
代碼如下:
awk ‘$7~/\.com\/$/' baidu.log|wc -l
7、某目錄抓取量
代碼如下:
grep ‘/news/' baidu.log|wc -l
8、抓取最多的10個頁面
代碼如下:
awk ‘{print $7}' baidu.log|sort|uniq -c|sort -nr|head -10
9、找出抓取的404錯誤頁面
代碼如下:
awk ‘$9~ /^404$/ {print $7}' baidu.log|sort|uniq|sort -nr
10、找出抓取了多少js文件和文件抓取的次數(shù)
代碼如下:
awk ‘$7~ /.js$/ {print $7}' baidu.log|sort|uniq -c |sort -nr
到此,相信大家對“有哪些Shell常用命令和例子”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
當(dāng)前標題:有哪些Shell常用命令和例子-創(chuàng)新互聯(lián)
URL鏈接:http://vcdvsql.cn/article14/djjcge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、小程序開發(fā)、全網(wǎng)營銷推廣、軟件開發(fā)、搜索引擎優(yōu)化、網(wǎng)站排名
聲明:本網(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)
猜你還喜歡下面的內(nèi)容