天天看點

Linux運維基礎指令筆試題

1、建立目錄/data/oldboy ,并且在該目錄下建立檔案oldboy.txt,然後在檔案oldboy.txt裡寫入内容"inet addr:10.0.0.8 Bcast:10.0.0.255 Mask:255.255.255.0"(不包含引号)。

mkdir -p /data/oldboy

echo "inet addr:10.0.0.8 Bcast:10.0.0.255 Mask:255.255.255.0" >> /data/oldboy/oldboy.txt

2、将題1中的oldboy.txt檔案内容通過指令過濾隻輸出如下内容:

10.0.0.8 10.0.0.255  255.255.255.0

sed -r 's/[a-zA-Z:]+//g' /data/oldboy/oldboy.txt

3、将題1中的oldboy目錄移動到/tmp目錄下,并将/etc/passwd檔案複制到/tmp/oldboy下。

mv /data/oldboy /tmp

cp -a /etc/passwd /tmp/oldboy

4、在題3的基礎上使用awk取passwd檔案的第10行到20行的第三列重定向到/tmp/oldboy/test.txt檔案裡。

awk -F : 'NR==10,NR==20 {print $3}' > /tmp/oldboy/test.txt

5、在題3的基礎上要求用指令rm删除檔案時提示如下禁止使用rm的提示,并使該效果永久生效。

[root@oldboy oldboy]# rm -f passwd

Do not use rm command.

alias rm='echo "Do not use rm command"'

echo "alias rm='echo "Do not use rm command"'" >>  /etc/profile

6、在題3的基礎上,删除/tmp/oldboy/下除passwd以外的其他檔案。

ls /tmp/oldboy | grep -v passwd | xargs rm -f

7、在題3的基礎上,請列印/etc/passwd檔案中的第2-5行(不低于三種方法)

sed -n "2,5p" /etc/passwd

awk "NR==2,NR==5" /etc/passwd

awk "NR>1&&NR<6" /etc/passwd

cat /etc/passwd | head -5 | tail -4

8、在題3的基礎上,使用指令調換passwd檔案裡root位置和/bin/bash位置?即将所有的第一列和最後一列位置調換?

例:

預設:root:x:0:0:root:/root:/bin/bash

修改後:/bin/bash:x:0:0:root:/root:root

awk -F : '{print $NF":"$2":"$3":"$4":"$5":"$6":"$1 > "/tmp/oldboy/passwd"}' /tmp/oldboy/passwd

進階awk法:awk 'BEGIN{OFS=FS=":"}{tmp=$1;$1=$NF;$NF=tmp;print $0}' /etc/passwd

9、把/data目錄及其子目錄下所有以擴充名.txt結尾的檔案中包含oldgirl的字元串全部替換為oldboy。

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

10、查找/oldboy下所有7天以前以log結尾的大于1M的檔案移動/tmp下

find /oldboy -type f -name "*.log" -size +1M -mtime +7 | xargs -I {}  mv {} /tmp

find /oldboy -type f -name "*.log" -size +1M -mtime +7 -exec mv {} /tmp \;

本文轉自 kuSorZ 51CTO部落格,原文連結:http://blog.51cto.com/kusorz/1826807