linux测试题总结,Linux 练习题-1 入门

1、创建目录/data/test,在该目录下创建文件your_name.txt,在文件里写入内容"inet addr:192.168.10.100 Bcast:192.168.10.255 Mask:255.255.255.0 "(不含引号)

2、过滤题1文件内容,只输出以下内容

10.0.0.8 10.0.0.255 255.255.255.0

awk -F "[ :]+" '{print $3,$5,$7}' sxr.txt

3、将题1的test目录移动到/tmp目录下,并将/etc/passwd文件复制到/tmp/oldboy下

4、在题3基础上,用awk取passwd文件的第5行到15行的第三列重定向到/tmp/test/test.txt文件里

awk -F ":" 'NR>=5 && NR<=15 {print $3}' passwd > text.txt

5、在题3基础上要求用命令rm删除文件时提示如下禁止使用rm的提示,并使该效果永久生效

6d62ad44a68a48f528cefc532e41653e.png

alias rm='echo Younotuse rm command'#别名里不能有'号,如can't这种是不行的

永久生效需要将命令复制到/etc/profile  /etc/bashrc里

6、在题3的基础上,删除/tmp/test/下除passwd以外的其他文件

find /tmp/data/ -type f ! -name "passwd" | xargs rm -f

7、在题3基础上,打印/etc/passwd文件中的第2-5行(最少三种方法)

head -5 passwd | tail -4

tail -n +2 passwd | head -4

sed -n '2,5p' passwd

awk 'NR>1 && NR<6 {print $0}' passwd

8、在题3基础上,用命令调换passwd文件里root位置和/bin/bash位置,即将第一行的第一列和最后一列位置调换

97af766562bb679d9b042ce37c3610a6.png

awk -F":" 'NR==1{print $7":"$2":"$3":"$4":"$5":"$6";"$1}' passwd

head -1 /etc/passwd | \sed -nr 's#([^:]+)(:.*:)(/.*$)#\2#gp'

9、把/test目录及其子目录下所有以扩展名.txt结尾的文件中包含sorry的字符串全部替换为thank

find /data/test -type f -name "*.txt" | xargs sed -i 's/sorry/thank/g'

find /data/test -type f -name "*.txt" | xargs -i sed -i 's/sorry/thank/g {}'

10、查找/test下所有7天以前以log结尾的大于1M的文件移动/tmp下

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

注:ls -l显示的文件修改时间是mtime

rename .txt .log * #将所有.txt文件修改为.log文件

11、什么是Linux的运行级别,描述linux的运行级别不同数字的含义

运行级别就是操作系统运行的功能级别。不同的运行级别在功能上会有所差异

inux下有7个运行级别 0123456

0系统停机模式

1单用户模式

2多用户模式

3完整的多用户文本模式

4系统未使用

5图形化模式

6重启模式

12、描述buffer和cache的区别

总结1:

cache是为了弥补高速设备和低速设备的鸿沟而引入的中间层,最终起到**加快访问速度**的作用。

buffer的主要目的进行流量×××,把突发的大数量较小规模的I/O整理成平稳的小数量较大规模的I/O,以**减少响应次数**

总结2:

cache的核心作用是加快取用的速度。比如你一个很复杂的计算做完了,下次还要用结果,就把结果放手边一个好拿的地方存着,下次不用再算了。加快了数据取用的速度。

Buffer的核心作用是用来缓冲,缓和冲击。比如你每秒要写100次硬盘,对系统冲击很大,浪费了大量时间在忙着处理开始写和结束写这两件事嘛。用个buffer暂存起来,变成每10秒写一次硬盘,对系统的冲击就很小,写入效率高了

总结3:

cache的数据没了,还能在算一遍得到,buffer空间的数据没了可能就真没了。而且通常buffer会顺序读取,而cache会随机、反复读取/处理。

cache还有一个就是用来保持冗余的、可以被重复计算的、计算后的数据的,这个你叫buffer就不行。

13、区别并总结linux通配符和正则表达式

通配符和正则表达式是不一样的。通配符用在用户命令行bash环境。而Linux正则表达式用于三剑客grep,sed,awk(还有一些其他命令,如find,ergrep等,主要还是三剑客)通配符总结*通配符,代表任意(0到多个)字符ls *.txt #显示所有.txt文件

?通配符,代表任意1个字符

;连续不同命令的分隔符(在前一个命令结束时,而忽略其返回值,继续执行下一个命令)seq 10 > a.txt ; cat a.txt #结果输出seq 10的结果

#配置文件注释

|管道,传递上个命令的输出给下个命令

~用户的家目录

-上次的目录

$变量前需加的符号

/路径分隔符号

>或1>重定向,覆盖原有内容

>>追加重定向

<

'单引号,不具有变·量置换功能,输入所见即所得echo '$(date)' #结果输出'$(date)'

"双引号,具有变量置换功能,解析变量后输出。不加引号相当于双引号echo "$(date)"=echo   "~date~"=echo ~date~ #输入结果是当前时间

~tab上面的键,反引号。两个~ ~中间为命令,会先执行,等价于$()

{}中间为区块组合或内容序列。与seq命令比,{}里可以加字符touch {1..5}.txt #创建1.txt到5.txt文件cp 1{.txt,.ori}#复制1.txt为1.ori

touch {b..z}.txt

!逻辑运算中的非(not)

&&and,而且。前一个命令成功,执行后一个命令

||or,或,前一个命令失败,执行后一个命令

..上层目录

.当前目录

\转义符,去除其后紧跟的特殊字符意义

=设定变量a=file1

echo $a #输出的是file1

[123]匹配[]中任意单一字符

[!123]或[^123]匹配除了[]中任意单一字符

[0-9]或[a-z]匹配[]范围内任意单一字符

[!c1-c2]或[^c1-c2]匹配除了[]范围内任意单一字符

{string1,string2,...}匹配sring1或string2正则表达式总结^word搜索以word开头的

wods$搜索以word结尾的

^$表示空行

*重复0个或多个前面的一个字符。例如o*

.代表且只能代表任意一个字符

.*匹配所有字符。^.*以任意多个字符开头

\转义符。\.代表.本身

[abc]匹配字符集内任意一个字符

[^abc]匹配不包含^后的任意字符的内容扩展正则表达式总结

grep,sed使用时有些地方需要转义字符转义

egrep(grep -E),sed -r不需要+表示重复"一个或一个以上"前面的字符(*是0个或多个)

?表示重复“0个或一个”前面的字符

|表示同时过滤多个字符串

()分组过滤,后向引用sed -n 's#()()#\1\2#gp'   file

当在前面的匹配部分用小括号的时候,第一个括号内容,可以在后面部分用\1输出。第二个括号内容,可以用\2输出

{n}必须匹配n次grep使用时,需转义:\{n\}

{n,}必须匹配>=n

{n,m}匹配次数在n与m间

{,m}匹配次数<=m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值