码迷,mamicode.com
首页 > 系统相关 > 详细

Linux基础题.1

时间:2016-05-03 20:40:45      阅读:572      评论:0      收藏:0      [点我收藏+]

标签:linux

1、创建目录/data/oldboy,并且在该目录下创建文件oldboy.txt,然后在文件oldboy.txt里写入内容“inet addr:192.168.8.10  Bcast:192.168.8.255  Mask:255.255.255.0”(不包含引号)。

解答:

[root@oldboy ~]#mkdir -p /data/oldboy
[root@oldboy ~]# ls -d /data/oldboy/
/data/oldboy/
[root@oldboy ~]#touch /data/oldboy/oldboy.txt
[root@oldboy ~]# ls-l /data/oldboy/oldboy.txt 
-rw-r--r--. 1 rootroot 0 May  1 21:06/data/oldboy/oldboy.txt
[root@oldboy ~]#echo "inet addr:192.168.8.10 Bcast:192.168.8.255 Mask:255.255.255.0" >/data/oldboy/oldboy.txt 
[root@oldboy ~]#cat /data/oldboy/oldboy.txt 
inetaddr:192.168.8.10 Bcast:192.168.8.255 Mask:255.255.255.0


2、将题1中的oldboy.txt文件内容通过命令过滤只输出如下内容:

 192.168.8.10 192.168.8.255  255.255.255.0

解答:

awk方法

[root@oldboy ~]#awk -F ‘[ :]+‘ ‘{print $3" "$5" "$7}‘/data/oldboy/oldboy.txt
192.168.8.10192.168.8.255 255.255.255.0

sed方法

[root@oldboy ~]# sed -n ‘s@^.*addr:\(.*\)Bcast:\(.*\) Mask:\(.*\)@\1 \2 \3@gp‘ /data/oldboy/oldboy.txt
192.168.8.10  192.168.8.255 255.255.255.0


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

解答:

[root@oldboy ~]# cd/data/
[root@oldboy data]#cp -a oldboy /tmp
[root@oldboy data]#cp /etc/passwd /tmp/oldboy/
[root@oldboy data]#ls -l /tmp/oldboy/
total 8
-rw-r--r--. 1 rootroot   64 May  1 21:12 oldboy.txt
-rw-r--r--. 1 rootroot 1056 May  1 21:32 passwd


4、在题3的基础上使用awk取passwd文件的第10行到20行的第三列重定向到/tmp/oldboy/test.txt文件里。

解答:

[root@oldboy data]#cd /tmp/oldboy/
[root@oldboyoldboy]# awk -F ":" ‘NR>9&&NR<21{print $3}‘ passwd>test.txt
[root@oldboyoldboy]# cat -n test.txt 
     1 10
     2 11
     3 12
     4 13
     5 14
     6 99
     7 81
     8 69
     9 173
    10 68
    11 38


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

[root@oldboyoldboy]#rm –f passwd

Do not userm command.

解答:

[root@oldboy ~]#echo " alias rm=‘echo "Do not use rm command."‘ ">>/etc/profile
[root@oldboy ~]# 
[root@oldboy ~]# 
[root@oldboy ~]#tail -1 /etc/profile
 alias rm=‘echo Do not use rm command.‘ 
[root@oldboy ~]#source /etc/profile
[root@oldboy ~]# rm-f *
Do not use rmcommand. -f anaconda-ks.cfg install.log.syslog


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

解答:

[root@oldboyoldboy]# ls
oldboy.txt  passwd test.txt
[root@oldboyoldboy]# rm oldboy.txt test.txt
 
[root@oldboyoldboy]# find  ./ -type f ! -namepasswd|xargs rm -f
[root@oldboyoldboy]# ls
passwd


7、在题3的基础上,请打印/etc/passwd文件中的第2—5行(不低于三种方法)

解答:

法一

[root@oldboyoldboy]# head -5 passwd |tail -4
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin


法二

[root@oldboyoldboy]# sed -n 2,5p passwd 
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin


法三

[root@oldboyoldboy]# awk ‘NR>1&&NR<6{print $0}‘ passwd 
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin



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

默认:root:x:0:0:root:/root:/bin/bash

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

 

[root@oldboyoldboy]# head -1 passwd|sed -n‘s@\(.*\):x:0:0:root:/root:\(.*\)@\2:x:0:0:root:/root:\1@gp‘
/bin/bash:x:0:0:root:/root:root


9、把/data目录及子目录下所以以扩展名.txt结尾的文件中包含oldgirl的字符串全部替换为oldboy。

解答:

模拟数据

[root@oldboy data]#echo oldboy >a.log
[root@oldboy data]#echo oldboy >b.log
[root@oldboy data]#echo old >c.log

替换

[root@oldboy data]#find ./ -type f -name "*.log"|xargs sed -i ‘s@oldboy@oldgirl@g‘
[root@oldboy data]#cat a.log b.log c.log 
oldgirl
oldgirl
old

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

解答:

模拟数据

[root@oldboy oldboy]# ls -lh 
total 5.3M
-rw-r--r--. 1 root root    0 Apr 20 00:00 2016-04-20-1.log
-rw-r--r--. 1 root root 1.8M Apr 20 00:04 2016-04-20.log
-rw-r--r--. 1 root root 1.8M Apr 28 00:00 2016-04-28.log
-rw-r--r--. 1 root root 1.8M May  3 16:58 2016-05-03.log
-rw-r--r--. 1 root root   64 May  1 21:12 oldboy.txt


操作

[root@oldboy oldboy]# find ./ -type f -mtime +7 -a -size +1M -exec mv ‘{}‘ /tmp \;
[root@oldboy oldboy]# ls
1M  2016-04-20-1.log  2016-04-28.log  2016-05-03.log  oldboy.txt
[root@oldboy oldboy]# ls -lh /tmp/
total 1.8M
-rw-r--r--. 1 root root 1.8M Apr 20 00:04 2016-04-20.log

11、什么是linux的运行级别,请描述linux的运行级别不同数字的含义?(附加题)

Linux运行级别

启动系统的级别,类似于windows的安全模式,带网络的安全模式等等,有多种启动模式0-6.
Linux0-6的启动含义

运行级别0:关机

运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

运行级别2:多用户状态(没有NFS)

运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式(常用)

运行级别4:保留

运行级别5:X11控制台,登陆后进入图形GUI模式

运行级别6:重启


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

buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的。


13、请说出你知道的下列字符在linux里可以代表的意义。(附加题)

~ - . .. | > >> < << !


~    :家目录

-    :上次目录

.    :当前目录

..    :上级目录

|    :管道

>    :标准输出重定向

>>     :标准输出追加重定向

<    :标准输入重定向

<<    :标准输入追加重定向

!    :非

本文出自 “技术随笔” 博客,请务必保留此出处http://ievan.blog.51cto.com/11177578/1769759

Linux基础题.1

标签:linux

原文地址:http://ievan.blog.51cto.com/11177578/1769759

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!