linux打印机测试程序,linux简单测试

title: 摸底考试

tags: linux,试题

linux简单测试

1 已知text.txt,打印text.txt 中不包含oldboy的字符串

解答:先创造text.txt,假设text.txt里面包含girl.oldboy,boy

cat >>text.txt<

girl

oldboy

boy

解法一:采用最简单的head和tail命令

[root@server ~]# head -1 text.txt && tail -1 text.txt

girl

boy

解法二:采用grep -v排除模式

[root@server ~]# grep -v oldboy text.txt

girl

boy

解法三:采用sed模式

sed 筛选字符串时的格式为 sed + option +'/字符串/d'

option有n 取消默认输出,i 把结果写入文件覆盖源文件,r 用扩展正则表达式。

d 为命令删除,p为打印,类似与复制一份

[root@server ~]# sed '/oldboy/d' text.txt

girl

boy

解法四:采用awk模式

awk 的标准模式是: awk -F ' ' '{print $1}'

F后面是分隔符,NR行号,$1是指第一列,awk擅长取列,sed擅长取行。

$1 "="$2 其中=号为打印出来的分隔符

$(NF):最后一列,$(NF-1)倒数第二列

NR=行号

[root@server ~]# awk -F " " 'NR==1 || NR==3 {print $1}' text.txt

girl

boy

解法五:采用sed 取行的方法

[root@server ~]# sed '2d' text.txt

girl

boy

或者

[root@server ~]# sed -n '1p' text.txt && sed -n '3p' text.txt

girl

boy

2 假设tmp上存在file文件,从/etc/上复制一个file文件到/tmp上,不提示用户是否覆盖,需要使用cp命令且不使用f参数

解答:因为默认cp命令是存在别名的,从alias中可以看到。

[root@server ~]# alias cp

alias cp='cp -i'

解法一:使用命令的绝对路径

/bin/cp /etc/file1 /tmp

解法二 :使用\反斜线脱马甲

\cp /etc/file1 /tmp

解法三: unalias cp

cp /etc/file1 /tmp

查看命令绝对路径的方法:

[root@server ~]# find / -type f -name "cp"

/bin/cp

[root@server ~]# which cp

alias cp='cp -i'

/bin/cp

[root@server ~]#

[root@server ~]# whereis cp

cp: /bin/cp /usr/share/man/man1/cp.1.gz

3 查看ett.txt文件第20-30行内容

解答:先生成文件

seq 100 >ett.txt

解答一:[root@server ~]# head -30 ett.txt|tail -11

解答二:[root@server ~]# tail -81 ett.txt |head -11

解答三:[root@server ~]# grep 25 -C 5 ett.txt

解答四:[root@server ~]# sed -n '20,30p' ett.txt

解答五:
[root@server ~]# awk -F ' ' '{if (NR<31 && NR>19) print $1}' ett.txt

注意 :如果NR前面有条件语句则if (NR<31 && NR>19)写在{}里面,否则NR写在{}外面,如'NR==3 {print $4}'

[root@server ~]# ifconfig eth0 | awk -F '[ :]+' '{if (NR>1 && NR<3) print $4}'

192.168.50.1

[root@server ~]# ifconfig eth0 | awk -F '[ :]+' 'NR==2 { print $4}'

192.168.50.1

4 假如/tmp上有file1...file5,5个文件,文件上均含有oldboy,请问怎么将5个文件里的oldboy改为oldgirl?

解答,先创建文件file1和file5

cd /tmp &&touch file{1..5}

[root@server tmp]# find ./ -type f -name "file*" |xargs sed -i 's#.*#oldboy#g'

[root@server tmp]# find ./ -type f -name "file*" |xargs sed 's#oldboy#oldgirl#g'

oldgirl

oldgirl

oldgirl

oldgirl

oldgirl

[root@server tmp]#

[root@server tmp]#

[root@server tmp]#

[root@server tmp]# find ./ -type f -name "file*" |xargs sed -i 's#oldboy#oldgirl#g'

[root@server tmp]# cat file1

oldgirl

[root@server tmp]#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值