學linux營運前水平測試題,linux營運測試題

來源:互聯網
上載者:User

學linux營運前水平測試題,linux營運測試題

著作權聲明:

本文的所有內容均來自作者劉春凱的學習總結,未經本人許可,禁止私自轉寄及使用。

QQ:1151887353

E-mail:dakai517@163.com      1151887353@qq.com

##########################################################################

 

1.建立一個目錄/data。

解答:

mkdir /data

 

2.在/data下面建立一個檔案oldboy.txt。

解答:

touch /data/oldboy.txt

或者:

cd /data

touch oldboy.txt

 

3.為oldboy.txt增加內容為“I am studying linux.”。

解答:

法一:

cd /data

echo "I am studying linux">>oldboy.txt

法二:

vi/vim --a/i--" I am studying linux "--enter--esc--:qw

法三:

cat >>oldboy.txt

> I am studying linux

crul+c

 

4.把oldboy.txt檔案拷貝到/tmp下。

解答:

cd /data

cp oldboy.txt /tmp/

 

5.把/data目錄移動到/root下。

解答:

mv /data /root/

 

6.進入/root目錄下的data目錄,刪除oldboy.txt檔案。

解答:

cd -

cd data

rm -f oldboy.txt

 

7.接第6題,退出到上一級目錄,刪除data目錄。

解答:

cd -

rm -fr data

 

 

8.已知檔案test.txt內容為:

test

liyao

oldboy

請給出輸出test.txt檔案內容時,不包含oldboy字串的命令。

解答:

類比環境

cd /data

touch test.txt

cat >>/test.txt>>EOF(echo或者vi/vim)

test

liyao

oldboy

EOF

ctul+c

法一:

head -n 2 /data/test.txt

法二:

tail -n 3 test.txt|head -n 2或者head -n 2 test.txt|tail -2

法三:

sed -n "1,2p" test.txt

法四:

grep -v oldboy test.txt或者greptest liyao test.txt

法五:

awk 'NR<3&&NR>0' test.txt或者awk '{if(NR<3&&NR>0) print $0"\n"}' test.txt

法六:

grep 2 -A 1 test.txt

grep 1 -B 1 test.txt

 

 

9.請用一條命令完成建立目錄/oldboy/test,即建立/oldboy目錄及/oldboy/test目錄

解答:

cd ~

mkdir -p /oldboy/test

 

10.已知/tmp下已經存在test.txt檔案,如何執行命令才能把/mnt/test.txt拷貝到/tmp下覆蓋掉/tmp/test.txt,而讓系統不提示是否覆蓋(root許可權下)。

解答:

法一:

/bin/cp /mnt/test.txt /tmp/

法二:

\cp /mnt/test.txt /tmp/

法三:

alias cp

unalias cp

cp /mnt/test.txt /tmp/

 

11.只查看ett.txt檔案(共100行)內第20到第30行的內容

解答:

法一:

head 30 ett.txt|tail 11或者tail 81 ett.txt|head 11

法二:

sed -n '20,30p' ett.txt

法三:

grep 30 -A 10 ett.txt

grep 20 -B 10 ett.txt

grep 25 -C 5 ett.txt

法四:

awk 'NR>19&&NR<31' ett.txt

awk '{if(NR>19&&NR<31) print$0"\n"}' ett.txt

 

12.分析圖片服務日誌,把日誌(每個圖片訪問次數*圖片大小的總和)排行,取top10,也就是計算每個url的總訪問大小

【附加題:工作情境高難度加分題,不會的同學可以放棄不答】。

說明:本題生產環境應用:這個功能可以用於IDC網站流量頻寬很高,然後通過分析伺服器日誌哪些元素佔用流量過大,進而進行最佳化或裁剪該圖片,壓縮js等措施。

本題需要輸出三個指標: 【訪問次數】    【訪問次數*單個檔案大小】  【檔案名稱(可以帶URL)】

測試資料

59.33.26.105 - - [08/Dec/2010:15:43:56 +0800] "GET /static/images/photos/2.jpg HTTP/1.1" 200 11299 "http://oldboy.blog.51cto.com/static/web/column/17/index.shtml?courseId=43" "Mozilla/4.0 (compatible;MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
59.33.26.105 - - [08/Dec/2010:15:43:56 +0800] "GET /static/images/photos/2.jpg HTTP/1.1" 200 11299 "http://oldboy.blog.51cto.com/static/web/column/17/index.shtml?courseId=43" "Mozilla/4.0 (compatible;MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
59.33.26.105 - - [08/Dec/2010:15:44:02 +0800] "GET /static/flex/vedioLoading.swf HTTP/1.1" 200 3583 "http://oldboy.blog.51cto.com/static/flex/AdobeVideoPlayer.swf?width=590&height=328&url=/[[DYNAMIC]]/2" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
124.115.4.18 - - [08/Dec/2010:15:44:15 +0800] "GET /?= HTTP/1.1" 200 46232 "-" "-"
124.115.4.18 - - [08/Dec/2010:15:44:25 +0800] "GET /static/js/web_js.js HTTP/1.1" 200 4460 "-" "-"
124.115.4.18 - - [08/Dec/2010:15:44:25 +0800] "GET /static/js/jquery.lazyload.js HTTP/1.1" 200 1627 "-" "-"

 

解答:類比環境

cd /var/log

touch access.log 1.log 2.log

vim access.log(新增內容,組建記錄檔)

 

法一:通過兩個數組來計算(用到數組累加和去重)

因為我們要的最終結果是某個檔案的訪問次數和消耗的流量,所以考慮建立以檔案名稱為索引的兩個數組,一個儲存訪問次數,一個儲存消耗的流量,這樣當使用awk按行遍曆檔案時,對次數數組+1,同時對流量數組進行檔案大小的累加,等檔案掃描完成,再遍曆輸出兩個數組既可以得到該檔案的反問次數和總的流量消耗。

 

awk '{array_num[$7]++;array_size[$7]+=$10}END{for(x in array_num){print array_size[x],array_num[x],x}}' access.log|sort -rn -k1|head -10 >1.log

cat 1.log

 46232 1 /?=

22598 2 /static/images/photos/2.jpg
4460 1 /static/js/web_js.js
3583 1 /static/flex/vedioLoading.swf
1627 1 /static/js/jquery.lazyload.js

 

法二:

awk '{print $7"\t" $10}' access.log|awk '{S[$1]+=$2;S1[$1]+=1}END{for(i in S) print S[i],S1[i],i}'|sort -rn|head -10 >2.log

cat 2.log

 46232 1 /?=

22598 2 /static/images/photos/2.jpg
4460 1 /static/js/web_js.js
3583 1 /static/flex/vedioLoading.swf
1627 1 /static/js/jquery.lazyload.js

13、把/oldboy目錄及其子目錄下所有以副檔名.sh結尾的檔案中包含oldboy的字串全部替換為oldgirl【附加題:加分題,不會的同學可以放棄不答】。

解答:

類比環境:

mkdir -p /oldboy/test

touch a.txt /oldboy

touch b.txt /oldboy/test

echo "oldboy" >a.sh

echo "oldgirl" >b.sh

法一:sed

sed -i "s#oldboy#oldgirl#g" /oldboy/*.txt

sed -i "s#oldboy#oldgirl#g" `find/oldboy/ -type f -name "*.sh"`

sed -i "s#oldboy#oldgirl#g" $(fing/oldboy/ -type f -name "*.sh")

法二:find+|xargs

find /oldboy/ -type f -name "*.sh" |xargs sed -i "s#oldboy#oldgirl#g"

find /oldboy/ -type f -name "*.sh" -exec sed -i  "s#oldboy#oldgirl#g {} \;

法三:for語句

for i in `ll /oldboy | grep .sh|awk '{print $NF}'`

do

    sed -i 's#oldboy#oldgirlg'$i

done

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.