老男孩linux运维第一次测试题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了老男孩linux运维第一次测试题相关的知识,希望对你有一定的参考价值。

1.1 我想在/data/oldboyedu目录下面创建一个oldboy.txt文件

[[email protected]~]# cd /data/oldboyedu
-bash: cd:/data/oldboyedu: No such file or directory

1.为何出现这样的错误

答:没有/data目录或者没有/data/oldboyedu/目录

2.如何解决这个错误呢?

[[email protected]~]# mkdir -p /data/oldboyedu
[[email protected]~]# cd /data/oldboyedu
[[email protected]]# touch oldboy.txt

1.2 向oldboy.txt加入内容"I love studyingLinux." (不少于2种方法)

法一:
[[email protected]]# echo ‘I love studying Linux.‘ >oldboy.txt
[[email protected]]# cat oldboy.txt
I lovestudying Linux.
法二:
[[email protected]]# cat >oldboy.txt
I lovestudying linux.
^C
[[email protected]]# cat oldboy.txt
I lovestudying linux.
法三:
[[email protected]]# vi oldboy.txt--a/i--esc--:wq
法四:
[[email protected]~]# cat >>oldboy.txt<<EOF
> I lovestudying linux.
> EOF

1.3 把/data 目录复制到/tmp目录下

[[email protected]]# cp -r /data /tmp/
[[email protected]]# ls /tmp
9.txt  b.txt data  yum.log  z.txt
[[email protected]]# cp -a /data /tmp/
cp:overwrite `/tmp/data/oldboyedu/oldboy.txt‘? y
[[email protected]]# ls /tmp/
9.txt  b.txt data  yum.log  z.txt

1.4 说说这些特殊符号含义:  >> >  2> 2>>   #(井号) .(点) ..(两个点)

>>:1>>,追加标准输出重定向,不清除内容,新加内容到最后一行;
>:1>,标准输出重定向,清除旧内容,加入新内容;
2>:错误输出重定向;
2>>:错误追加输出重定向;
#:1)注释;2)代表root用户;
.:./,当前目录;
..:../ ,当前目录的上级目录;


1.5 test.txt内容为:

trainning
fanbingbing
lidao

请给出输出test.txt文件内容时,不包含trainning字符串的命令。

创建环境:
法一:
[[email protected]]# cat >>test.txt<<eof
>training
>fanbingbing
> lidao
> eof
法二:
[[email protected]]# echo "training
fanbingbing
lidao">test.txt
[[email protected]]# cat test.txt
training
fanbingbing
lidao
不包含trainning字符串的命令
法一:
[[email protected]]# sed -n ‘2,3p‘ test.txt
fanbingbing
lidao
法二:
[[email protected]]# head -3 test.txt|tail -2
fanbingbing
lidao
法三:
[[email protected]]# tail -3 test.txt|grep -v training
fanbingbing
lidao
法四:
[[email protected]]# grep -v ‘training‘ test.txt
fanbingbing
lidao
法五:
[[email protected]]# awk ‘NR==2,NR==3‘ test.txt
fanbingbing
lidao
[[email protected]]# awk ‘{if(NR>=2&&NR<=3)print $0"\n"}‘test.txt
fanbingbing
 
lidao
法六:
[[email protected]~]# awk ‘{if(NR==2||NR==3) print $0"\n"}‘ test.txt
fanbingbing
 
lidao
注意:
[[email protected] ~]# awk‘{if(NR>=2||NR<=3) print $0"\n"}‘ test.txt
training
 
fanbingbing
 
lidao

1.6 入职新公司,老大让你在服务器上限制rm命令,当用户输入rm 命令时候提示”rm command is not allowed touse.” 请问实现的步骤是?。

临时修改:
[[email protected]~]# alias rm=‘echo "alias rm=rm command is not allowed to use"‘
[[email protected]~]# alias rm
aliasrm=‘echo "alias rm=rm command is not allowed to use"‘
[[email protected]~]# rm -f 1.txt
alias rm=rmcommand is not allowed to use -f 1.txt
永久生效:
1)alias rm=‘echo rm command is not allowed to use‘(临时生效)
2)用vim将1)的内容写入到/etc/profile文件的最后一行
3)用source /etc/profile命令使文件永久生效
4)去/root/.bashrc下将alias rm=‘rm -i‘注释掉即#‘alias rm=‘rm -i‘’

1.7 取出文件ett.txt 的第30到40行的内容。

注:ett.txt由seq 20 120 >ett.txt创建

创建模拟环境:
[[email protected]~]# seq 20 120 >ett.txt
法一:
[[email protected]~]# head -40 ett.txt|tail -11
法二:
tail -72ett.txt|head -11
法三:
sed -n‘30,40p‘ ett.txt
法四:
awk‘NR==30,NR==40‘ ett.txt
awk‘NR>=30&&NR<=40‘ ett.txt
法五:
awk‘{if(NR>=30&&NR<=40) print $0"\n"}‘ ett.txt
注意:(取不出来)
[[email protected] ~]# awk‘{if(NR==30||NR==40) print $0"\n"}‘ ett.txt
49
 
59

1.8 把test.txt文件中的trainning修改为oldboy.

法一:
[[email protected]~]# sed -i ‘s#training#oldboy#g‘ test.txt
[[email protected]~]# cat test.txt
oldboy
fanbingbing
lidao
法二:vi/vim test.txt --a/i--insert--esc--:wq

1.9 查找出/data目录下所有以.txt结尾的文件,并且把文件中的trainning修改为oldboy.

[[email protected]~]# find /data/ -type f -name "*.txt" |xargs sed -i‘s#training#oldboy#g‘
[[email protected]~]# find /data/ -type f -name "*.txt" -exec sed -i‘s#training#oldboy#g‘ {} \;
[[email protected]~]# sed -i ‘s#training#oldboy#g‘ `find /data/ -type f -name "*.txt"`
[[email protected]~]# sed -i ‘s#training#oldboy#g‘ $(find /data/ -type f -name "*.txt")

1.10 查找/oldboy下

所有7天以前以log结尾的大于1M的文件复制到/tmp下。

法一:
find /oldboy/ -type f -name "*.log"-mtime +7 -size +1M |xargs -i cp {} /tmp/
法二:
find /oldboy -type f -name "*.txt" -mtime+7 -size +1M -exec cp {} /tmp/ \;
法三:
cp ` find /oldboy -type f -name "*.txt" -mtime +7 -size+1M ` /tmp/ ===反引号
法四:
cp $( find /oldboy -type f -name "*.txt" -mtime+7 -size +1M) /tmp/
法五:
find /oldboy -type f -name "*.txt" -mtime+7 -size +1M|xargs cp -t /tmp/

1.11 请描述buffer和cache的区别(附加题)?

 

答:
buffer:把数据写入内存,这时写入数据的内存空间称为缓冲区,简称缓冲;
cache:从内存中读取数据,这时读取数据的内存空间称为缓存区,简称缓存;
 总结:写缓冲,读缓存。


以上是关于老男孩linux运维第一次测试题的主要内容,如果未能解决你的问题,请参考以下文章

老男孩教育-Linux运维就业班入学第一关课前测试考试题及解答

老男孩linux实训学生入学资格考试题(技术部分)

Linux运维39期-听老男孩第一次分享学习方法

20170705L07-09-03老男孩Linux运维实战培训-Sersync实时同步软件实战应用指南06

老男孩linux实战培训初级班第二次课前考试题

老男孩linux实战培训初级班第三次课课前考试题