yangjianbo

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

  cd /data/oldboy

  touch oldboy.txt

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

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

10.0.0.8 10.0.0.255  255.255.255.0

  awk -F \'[ /]+\' \'{print $2 " "  $5}\' oldboy.txt

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

  mv /data/oldboy /tmp

  cp /etc/passwd /tmp/oldboy

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

  awk \'NR>9&&NR<21\' passwd | awk -F ":" {\'print $3\'} > /tmp/oldboy/test.txt

  awk -F \':\' \'NR>9&&NR<21 {print $3}\' passwd  第二种方法更简单

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

[root@oldboy oldboy]# rm -f passwd

Do not use rm command.

修改用户主目录下的.bashrc文件,添加如下内容:alias rm=\' echo "Do not use rm command."\'

然后执行命令,source .bashrc,使配置永久生效。

或者追加到/etc/bashrc文件中。

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

  rm -f `ll  /tmp/oldoby | grep -v "passwd" | awk {\'print $9\'}`

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

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

   sed -n  \'2,5\'p /etc/passwd

   awk \'NR>1&&NR<6\' /etc/passwd

   head -5 /etc/passwd | 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 ":" \'NR==1{print $7":"$2":"$3":"$4":" $5":" $6":"$1}\' passwd 

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

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

   sed -i \'s#oldgril#oldboy#g\' `ll -R /data | grep *.txt | awk {\'print $9\'}`

   find /tmp/oldboy/ -type f -name "*.txt" | xargs sed -i \'s#oldboy#oldgril#g\'  注意sed是整个单词匹配

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

  cp -a `find /data/ -type f -name "*.txt"  -mtime +7 -size +1` /tmp

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

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

  linux运行状态

  0  关机

  1  单用户模式

  2  多用户,但是没有NFS,没有网络

  3  多用户命令行模式

  4  预留

  5  图形界面

  6  重启

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

  buffer 数据写入到内存的空间,叫做缓冲区

  cache 数据从内存读取的空间,叫做缓存区

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

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

~  用户家目录

-  回到上一次所在目录

.  当前目录

..  当前目录的父目录

|  管道符号

>  输出重定向,会清空原有的文件内容

>>  追加输出重定向,数据在文件尾部

<  输入重定向

<<  输入多行内容

!  非

14.  如何过滤出/data目录下的所有一级目录?

    ll /data | grep \'^d\'

    ls -F /data | grep \'/$\'

    ls -p /data | grep \'/$\'

    ll | sed -n \'/^d/p\'

    ll | awk \'/^d/\'

15.  假如当前目录是/data,然后我进入了/tmp,如何回到/data?

    cd -  回到上一次所在目录

16.  日志跟踪

    tail -f /var/log/messages

    taif /var/log/messages

17.  打印配置文件的行号

    cat -n /appliation/nginx.conf

    grep -n . /application/nginx.conf

    nl /application/nginx.conf

    awk \'{print NR,$0}\' nginx.log

    less -N nginx.log 

 18.  ps aux中VSZ和RSS的含义是什么?

    VSZ:该进程的虚拟内存使用量Kbytes

    RSS:该进程的固定内存使用量Kbytes

19.  ps aux中的STAT有几种,分别是什么意思?

    R:该程序正在运行

    S:正在睡眠,可以被唤醒

    D:不可被唤醒的睡眠状态,可能正在等待IO

    T:停止状态

    Z:僵尸状态

20.  硬链接与软链接的区别?

    1.  概念:

        硬链接:一个文件的多个入口

        软链接:类似于windows的快捷方式

    2.  使用命令:

        硬链接:ln  源文件  目标文件

        软链接:ln -s   源文件  目标文件

    3.  针对文件

        硬链接:

          1.  一个文件可以有多个硬链接文件,使用的是一个inode

          2.  删除一个硬链接文件,不影响其他硬链接文件

          3.  有几个硬链接文件,ls -i里面的节点数就为多少

          4.  硬链接文件不能跨分区

        软链接:

          1.  一个文件可以有多个软链接,软链接文件与源文件的inode不同。

          2.  删除软链接,不会影响源文件,删除源文件,软链接就飘红

          3.  软链接可以跨分区

          4.  软链接的文件类型表示为l

    4.  针对目录

        硬链接:

          1.  硬链接不能对目录设置

          2.  目录默认的硬链接数为2,添加一个子目录,硬链接数加1.

        软链接:

          1.  软链接可以针对目录,多用于版本升级的时候

21.  Linux删除文件的原理?

    1.  当向分区写入数据时,linux会回收inode为0,并且i_link为0的文件,然后给新申请的数据空间,这样原来的数据就被彻底删除了。

       也就是此文件没有硬链接文件,并且没有程序调用。

    2.  实战例子:

       apache服务器web日志满了,查看df -h,发现已经使用了100%.

       然后删除了一些不使用的web日志,发现硬盘空间并没有减少,后来重启一下apache服务,硬盘空间就被释放了。

22.  一个目录中有很多文件(ls查看时好多屏),想最快速度查看到最近更新的文件。如何看?

    ls -ltr

    -t  按修改时间排序,第一个是最新修改时间

    -r  逆序排列结果

    所以结合起来最后一行就是最近修改的文件或目录

23.  过滤出/etc/services 包含3306和1521的行的内容。  

     egrep 3306\|1521 /etc/services  使用egrep命令,注意要转义|符号

24.  如何查看/etc/services文件的行数?

     wc -l /etc/services

25.  已知如下命令及结果:

[oldboy@test ~]$ echo "I am oldboy,myqq is 31333741">>oldboy.txt

[oldboy@test ~]$ cat oldboy.txt

I am oldboy,myqq is 31333741

现在需要 取文件中的oldboy,31333741字符串,请给出命令.

awk -F "[ ,]+" \'{print $3","$6}\' oldboy.txt

26.  如何优化linux系统?

    1.  关闭防火墙

    2.  关闭selinux服务

    3.  关闭不用的服务,保留使用的服务

    4.  关闭登录linux的内核版本显示

    5.  linux时间做一个定时任务,能够保证时间准确

    6.  设置linux的语言环境,最好是用英文

    7.  不使用root用户,使用普通用户,创建sudo用户。

第三关:

[口头表达技能考试题]
1.描述linux的开机到登陆界面的启动过程(记时2分钟)

  1.  centos6

      第一步,加电自检(检测硬件是否有问题,内存,cpu,硬盘,raid卡等)

      第二步,默认启动使用硬盘引导,它会找到硬盘,读取并执行MBR的boot Loader。硬盘0柱面0磁道1扇区的前446byte。

      第三步,加载grub,加载linux系统内核kernel,kernel会检测硬件及加载硬件驱动程序。cat /etc/grub.conf

      第四步,内核会调用第一个init进程,init会取得run-level信息。读/etc/inittab文件。进程号为1。

      第五步,init执行/etc/rc.d/rc.sysinit文件来准备软件执行的操作环境(网络,时区)

      第六步,init执行run-level的各个服务的启动。

      第七步,init执行/etc/rc.d/rc.local文件。

      第八步,init执行终端机模拟程序mingetty来启动login进程,最后等待用户登录。

      图解如下:

https://blog.csdn.net/qq_27754983/article/details/75212666  里面centos6与centos7的启动流程

2.描述linux下软链接和硬链接的区别。(记时2分钟)

  解答:

    1.  概念:硬链接类似于房间多了一个入口,多个硬链接指向的都是一个inode;软链接类似于windows的快捷方式,软链接和源文件的inode不一样。

    2.  命令:ln,ln -s

    3.  针对目录:硬链接不能在目录之间创建,一个目录的硬链接数默认为2,增加一个子目录硬链接数加1.

            软链接可以在目录之间创建,删除软链接不会影响源目录。

    4.  针对文件:硬链接可以在文件之间创建,但是不能跨分区,删除硬链接不会影响源目录。

            软链接可以在文件之间创建,删除软链接不会影响源目录。

3.linux shell中单引号和双引号或不加引号的区别(记时2分钟)

  解答:

    1.  单引号里面是什么就输出什么。

    2.  双引号里面有命令或者变量会先解析命令和变量。

    3.  不加引号与双引号一样。
4.linux运行级别0-6(记时1分钟)

  解答:

    这个没问题
5.描述linux下文件删除的原理(3分钟)

 

[技术技能笔试考试题]
 1.如何取得文件/etiantian的权限对应的数字,如-rw-r--r-- 为644,取得644这样的数字。
解答:stat test.txt | sed -n \'4p\' | awk -F \'[ /]+\' \'{print $1}\' | awk -F \'0\' \'{print $2}\'

   ll /etiantian | cut -c 2-10 |tr "rwx-" "4210"| awk -F "" \'{print $1+$2+$3""$4+$5+$6""$7+$8+$9}\'

   stat etiantian | awk -F "[0/]" \'NR==4 {print $2}\'

   stat -c %a etiantian  思想:当使用命令可以看到所要的结果的时候,可能命令本身就有取你要的结果。
 
2.linux下通过mkdir命令创建一个新目录/oldboy/ett,它的硬链接数是多少,为什么?
解答:它的硬链接数为2,因为它本身是一个,它的目录下有一个.,也是一个硬链接。
 
3.请执行命令取出linux中eth0的IP地址(请用cut,有能力者也可分别用awk,sed命令答)。
解答: ifconfig | sed -n \'2p\' | awk \'{print $2}\'

    ifconfig ens32 | awk \'NR==2 {print $2}\'

   grep \'IPADDR\' /etc/sysconfig/network-scripts/ifcfg-ens32 | cut -d = -f 2
4.请给出默认情况eth0网卡配置文件的路径及客户端DNS的路径。
解答:/etc/sysconfig/network-scripts/ifcfg-eth0  /etc/resolv.conf
 
5.查找当前目录下所有文件,并把文件中的www.etiantian.org字符串替换成www.oldboy.cc
解答:find . -type f | xargs sed -i "s#www.etiantian.org#www.oldboy.cc#g"

           find . -type f -exec sed -i "s#www.etiantian.org#www.oldboy.cc#g" {} \;
 
6.问题:如何赋予oldboy文件 -rw-r--r-x权限属性
解答:  chmod 645 oldboy

     chmod o+x oldboy
7.执行下面命令时发现提示需要输入密码,请问提示输入的密码是哪个用户的密码。
[test@oldboy ~]$ sudo su - oldboy
解答:切换到哪个用户上,就是哪个用户的密码,此时应当是oldboy用户。

8.问题:请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出。
       echo "oldboy";echo "oldboy" 
 解答:echo -ne "yangjianbo\t" ; echo "yangjianbo"
    \t  表示插入tab键
9.问题:请给出如下格式的date命令 例:11-02-26
解答:date +"%y-%m-%d"
     
10.实现按周输出 比如:周六 输出为 6
解答:date +"%w"
 
11.问题:扩展问题:打印三天前的日期格式如:2011-02-26
解答:date -d "3 day ago" +"%Y-%m-%d"
 
12.已知/oldboy/test.txt文件内容为:
oldboy
 
xizi
 
xiaochao
请问如何把文件中的空格过滤掉(要求命令行实现)。
解答:grep -v \'^$\' test.txt
 
13.已知/oldboy/ett.txt文件内容为:
oldboy
olldboooy
test
请使用grep或egrep正则匹配的方式过滤出前两行内容
解答:grep -e \'^ol\' test.txt 

   egrep \'^ol\' test.txt
14-15.请描述下列路径的内容是做什么的?
/var/log/message   系统日志文件,记录系统一些服务信息
/var/log/secure    系统安全日志文件,记录系统登录情况
/var/spool/clientmqueue  系统邮件队列
/proc/interrupts  
/etc/fstab  开机文件系统自动挂载配置文件

16.  利用正则表达式取出服务器的IP地址

    ifconfig eno16777736 | sed -n \'2p\' | sed \'s#^.*net ##g\'| sed \'s#  net.*$##g\'

    ifconfig eno16777736 | sed -n \'2s#^.*net ##gp\'|sed \'s#  net.*$##g\'

    ifconfig ens32 | sed -nr \'s#^.*net (.*)  net.*$#\1#gp\'

17.  利用正则取出文件的权限

    stat passwd | sed -nr \'4s#^.*\(0(.*)\/-.*$#\1#gp\'

18.  利用正则把passwd文件里面的第一行第一列root和最后一列/bin/bash换位置。

    之前已经用awk实现互换功能。

    现在利用正则进行互换。

    sed -nr \'s#([^:]+)(:.*:)(.*bash$)#\3\2\1#gp\' passwd

    思路:先以非:号开头的字符匹配1个或多个进行分组,然后以:号开始以:号结束进行分组,最后以.*开始bash结尾第三组,然后第三组和第一组进行调换,结果就出来了。

第四关

1) 如果在某用户的crontab文件中有以下记录, 该行中的命令多久执行一次(RHCE考试题)?
30 4 * * 3 mycmd
      A 每小时。
      B 每周。
      C 每年三月中每小时一次。

B

2) 如果在某用户的crontab文件中有以下记录, 该行中的命令多久执行一次(RHCE考试题)?
*/5 * * * * mycmd
      A 每5分钟一次。
      B 每小时过5分钟。
      C 不会运行, 格式无效。

A

简答:
1.每隔1分钟,打印一个+号到oldboy.log ,请给出crontab完整命令。
解答:*/1 * * * * /usr/bin/echo "+" >>/tmp/oldboy.log

2.每隔2个小时 将/etc/service文件打包备份到/tmp下(最好每次备份成不同的备份包)。
解答:  00 */2 * * * tar zcvf /tmp/`date +"%F-%H-%M"`.tar.gz /etc/services

 3.每天晚上12点,打包站点目录/var/www/html 备份到/data目录下(最好每次备份按时间生成不同的备份包)
解答:

4.每周 六、日 上午9:00和下午14:00 来老男孩这里学习(执行程序/server/script/oldboy.sh代替学习)。
解答:

5.请描述下列路径的内容是做什么的?
/etc/sysctl.conf  linux系统内核参数配置文件
/etc/rc.local   开机执行命令文件
/etc/hosts    本地解析文件
解答:

6.请说出下列正则表达式的含义
^  以什么开头
$  以什么结尾
.(点号)  匹配任意一个字符
\    转义符
*    匹配0个或多个前一个字符
\{n,m\}  匹配前一个字符n次到m次
[^t]  匹配除了t的字符
^[^t]  匹配以除了t的开头的字符

7.vi命令考察,根据中文给出命令
解答:

退出保存  wq
退出并强制保存,!为强制的意思      wq!
强制退出,不保存    q!
光标移动到文件的最后一行  G
光标移动到文件的第一行    
从光标所在位置将光标移动到当前行的开头  HOME   0 
从光标所在位置将光标移动到当前行的结尾       END $
取消上一次的动作     
删除一行   dd
向下搜索     n
向上搜索    N

8.授权oldboy及其子目录755的权限,请给出命令。
解答:


9.把oldboy及其子目录的属主改为oldboy,组改为root,请给出命令。
解答:

10.描述下umask的作用
解答:

 

网络知识

TCP的三次握手与四次断开

TCP的十一种状态

 

第六关

笔试题

1.  查看当前系统每IP的连接数

    netstat -an | grep "ESTABLISHED" | awk -F \'[ :]+\' \'{print $4}\' | uniq -c

2.  请列出以下服务使用的端口

    http  TCP80

    https  TCP443

    ftp  TCP21 20

    telnet  TCP 23

    ssh  TCP22

    rsync  TCP UDP 873

    dns  TCP 53  UDP53

    mysql    TCP 3306

    grep -wE "^(http|https|telnet|ssh|rsync|dns|mysql|ftp)" /etc/services 

3.  请列出linux系统下常用的几种文件系统格式

    ls /lib/modules/3.10.0-123.el7.x86_64/kernel/fs

-rw-r--r--. 1 root root 21765 6月 30 2014 binfmt_misc.ko
drwxr-xr-x. 2 root root 21 4月 15 2017 btrfs
drwxr-xr-x. 2 root root 26 4月 15 2017 cachefiles
drwxr-xr-x. 2 root root 20 4月 15 2017 cifs
drwxr-xr-x. 2 root root 22 4月 15 2017 cramfs
drwxr-xr-x. 2 root root 19 4月 15 2017 dlm
drwxr-xr-x. 2 root root 22 4月 15 2017 exofs
drwxr-xr-x. 2 root root 20 4月 15 2017 ext4
drwxr-xr-x. 2 root root 48 4月 15 2017 fat
drwxr-xr-x. 2 root root 23 4月 15 2017 fscache
drwxr-xr-x. 2 root root 34 4月 15 2017 fuse
drwxr-xr-x. 2 root root 20 4月 15 2017 gfs2
drwxr-xr-x. 2 root root 21 4月 15 2017 isofs
drwxr-xr-x. 2 root root 20 4月 15 2017 jbd2
drwxr-xr-x. 2 root root 21 4月 15 2017 lockd
-rw-r--r--. 1 root root 19541 6月 30 2014 mbcache.ko
drwxr-xr-x. 4 root root 4096 4月 15 2017 nfs
drwxr-xr-x. 2 root root 23 4月 15 2017 nfs_common
drwxr-xr-x. 2 root root 20 4月 15 2017 nfsd
drwxr-xr-x. 2 root root 4096 4月 15 2017 nls
drwxr-xr-x. 2 root root 23 4月 15 2017 pstore
drwxr-xr-x. 2 root root 24 4月 15 2017 squashfs
drwxr-xr-x. 2 root root 19 4月 15 2017 udf
drwxr-xr-x. 2 root root 19 4月 15 2017 xfs

如果记不得路径:只要记得linux内核命令,uname -r ,然后通过find找到内核这个目录,就能找到支持的文件系统。

       ext2,3,4都是带日志的文件系统。

4.  在linux下给网卡的第一个口配置IP,网关和增加路由.

      route add -net 10.0.0.0/24 gw 192.168.0.1

      route del -net 10.0.0.0/24 gw 192.168.0.1

5.  请详细描述请求DNS的过程,以访问baidu为例。

      dig命令

6.  如何对主机做双网卡绑定?如何在交换机上配置?

7.  介绍raid1,0,5工作原理。

8.  局域网的某个机器无法上网排错。

    1.  先确定是一个人上不了网,还是整个公司上不了网。

       如果是一个人上不了网,好解决。

         判断能不能ping网关;

         判断网卡配置是不是正确;

         判断DNS解析是不是正常;

       如果是整个公司上不了网,看看是不是出口有问题。

         判断出口防火墙故障;

         判断网络供应商是不是故障。

9.  打开网站服务器访问慢。

    1.  先判断是都开慢,还是一个人打开慢。

    2.  如果都慢(从内网或者外网),就登录服务器看看,是不是性能问题。

    3.  如果只是一个人慢,就看他的网络问题。

10.  打开网站服务器打不开。

    1.  先判断是一个人打不开,还是大面积打不开。

    2.  如果一个人打不开,就看他的问题。

    3.  如果大面积打不开,就先看网络是不是有问题,telnet端口是不是正常。

    4.  再登录服务器是不是性能问题。

    5.  查看带宽是不是满了。

    6.  查看网络供应商问题。

 

 

    

 

    

 

       

 

 

 

    

   

 

 

    

 

    

    

    

 

 

 

 

  

分类:

技术点:

相关文章: