第二周考试题及练习题

时间:2020-12-23 22:14:05

1.1 常用系统文件问答

 

1.1.1 通过修改文件(  /etc/fstab   ),可以设定开机时自动挂载文件系统。

 

在 linux 系统中,当 LAN(局域网)内没有条件记案例DNS 服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配置( /etc/hosts)文件(请写全路径)

 

linux系统启动加载完成后,内核将启动名为( init)的程序,这也是引导过程完成后,内核运行的第一个程序。我们可以修改默认的启动级别为(3 ),使得系统重启后自动采用命令行模式登录。

 

1.1.2 说出下面几个文件的作用

 

/var/log/messages

系统普通日志

/var/log/secure

用户登录信息

/var/spool/cron/root

定时任务配置文件

/etc/rc.local

开机的时候自动运行的软件

1.2 统计/var/log 下文件个数

find /var/log -type f |wc -l

find /var/log -maxdepth 1 |wc -l

ls /var/log |wc -l

1.3 如何把/data 目录下所有包含 oldboy 的目录(可能目录的目录的目录里还有 oldboy 目录) 目录都打包出来。

方法一:find/oldboy -type d -name "oldboy" |xargs tar zcvf /tmp/oldboy.tar.gz

方法二:tarzcvf  /tmp/oldboy.tar.gz $( find /oldboy-type d -name "oldboy")

要求:解压打包后的目录结构不能改变 。

 

1.4 列出 linux 下面常用的打包工具并写出相应的压缩解压参数。

tar gzip

zcvf z 压缩工具 c 创建压缩包 v创建过程 f 文件名

ztvf t 查看压缩包

zxvf x 解压压缩包

1.5 如何查看是否开启 22 端口,及查看 sshd 进程是否存在?

 

在刚开机时 查看telnet 10.0.0.200 22

在Linux登录后ss -lnput |grep sshd

 

1.6 将/data 目录下的修改时间是 7 天以前,并且大于 100k 的文件复制到/tmp 目录下。

 

方法一:find -typef -mtime +7 -size +100k |xargs cp -t /tmp

方法二:cp $( find-type f -mtime +7 -size +100k) /tmp

方法三:find -typef -mtime +7 -size +100k -exce cp {} /tmp \;

 

1.7 查找出系统中大于 50k 且小于 100k 的文件,把文件中的 oldboy 替换为 oldgirl。

 

find -type -size +50k -size -100k |xargssed -i 's#oldboy#oldgirl#g'

 

1.8 现将文件 b.txt 中的所有 123 替换成 def,请问如何实现?

sed -i 's#123#def#g' b.txt

1.9 写出 redhat 中,配置网卡及 dns 的配置文件是什么?

网卡:/etc/sysconfig/network-scripts/ifcfg-eth0

dns: /etc/resolv.conf

1.10 请详细描述 linux 系统从打开主机电源到进入登录界面整个过程的流程。

 

BIOS开机自检

mbr引导

grub菜单

加载内核

init进程

/etc/inittab

/etc/rc.d/rc.sysinit

/etc/re.d/rc

登录界面

 

1.11 在 linux 下面创建一个文件 touch oldboy.txt 提示错误:No space left on device,请问可能原因是什么?

1 inode满了 df -h 查看

2 block满了 df -i 查看 可能是定时任务配置文件太大了

3 block硬链接数为零进程调用数不为零 lsof |grep delete

                     重启:/etc/init.d/rsyslong restart

1.12 linux 下面 ping www.baidu.com 出现 unknown host 错误如何排查?

ping 外网 233.5.5.5 如果通了 就说明你的dns配置有问题

cat>>/etc/sysconfig/network-scripts/ifcfg-eth0<<eof

dns1=223.5.5.5

dns2=223.6.6.6

eof

重启网卡/etc/init.d/network restart

第1章 思想总结

 

 

 

第2章 口头部分

 

2.1 解释下什么是 GPL,GNU,*软件

 

 小节:

GNU:斯托曼为了建立一个和Unix一样优秀的软件成立了*软件基金会(FSF)建立gnu项目目前比较优秀的软件有bash gawk gcc ,订立了gpl规则:开放源代码,如果你对开源内容进行了修改就必须把修改内容发布出来。*软件:能够*传播的软件。

1.  

2 如何选择 linux 操作系统版本?

 小节:

      

图形界面选择乌班图

服务器选择centos

2.3 如何给 linux 操作系统分区?

 小节:

可以这样分:

/boot

   

20--200M

   

swap

   

如果你的内存大于八个G,swap=8G

如果你的内存小于八个G,swap=内存1.5倍

   

/

   

剩余多少分多少

   

 

2.4 描述 Linux 系统的启动过程?

 小节:

第一步、BIOS开机自检

第二步、MBR引导

第三步、GRUB菜单

第四步、加载内核

第五步、运行init进程(第一个进程)

第六步、读取配置文件/etc /inittab(系统运行级别的配置文件)

第七步、执行系统的初始化脚本/etc/rc.d/rc.sysinit(设置主机名,设置IP地址)

第八步、根据Linux不同的运行级别在开机时启动不同的软件/etc/rc.d/rc

第九步、登录界面

 

2.5 请输出你知道的 20 个 LINUX 命令及作用

 

小节:

mkdir

   

创建目录

   

cat

   

查看文件

   

cd

   

改变当前位置

   

find

   

在指定目录下查看文件

   

mv

   

移动文件

   

|

   

将前面命令无法处理的结果传递到后面

   

ls

   

显示目标列表

   

echo

   

显示一行内容

   

touch

   

创建文件

   

source

   

让文件生效

   

cp

   

复制文件

   

head

   

查看文件

   

grep

   

筛选

   

tail

   

在指定目录下查看文件

   

sed

   

一种编辑器擅长处理行

   

alias

   

将前面命令无法处理的结果传递到后面

   

awk

   

一种编辑器擅长处理列

   

runlevel

   

显示当前运行级别

   

init

   

切换运行级别

   

su

   

切换用户到其它身份

   

 

2.6 请解释下 linux 的运行级别。

 小节:

0:关机模式(不要将Linux默认运行级别设置为0)

1:单机模式

2:多用户模式(无网络)

3:完全多用户模式

4:没有使用

5:图形界面

6:重启

runlevel:查看当前运行级别

init:切换运行级别

修改配置文件然后查看:[root@oldboyedu-39 ~]# grep "id:" /etc/inittab

id:3:initdefault:

 

2.7 32 位和 64 位系统的区别及如何选择?

 小节:

x86=32位x64=64位

  32位适用于安装在内存2G或以上CPU双核或以上机型,64位建议安装在内存在4G或以上 CPU双核或以上机型 !

第3章 笔试上机部分

3.1 如何过滤出已知当前目录下 oldboy 中的所有一级目录(提示:不包含 oldboy 目录下面目录的 子目录及隐藏目录,即只能是一级目录)?

####方法1

tree -L 1 -d /oldboy/

[root@oldboyedu-39 ~]# tree /oldboy/ -dL 1 |grep -v"oldboy"

├── ext

├── test

├── xiaodong

├── xiaofan

└── xingfujie

###方法2

find /oldboy/ -maxdepth 1 -type d ! -name"oldboy"

/oldboy/xiaofan

/oldboy/ext

/oldboy/test

/oldboy/xiaodong

/oldboy/xingfujie

###方法3

[root@oldboyedu-39 ~]# ls -l /oldboy/ | grep"^d"

drwxr-xr-x 3 root root    4096 Jul 16  2017 ext

drwxr-xr-x. 2 root root    4096 Jul 16 2017 test

drwxr-xr-x 2 root root    4096 Jul 16  2017 xiaodong

drwxr-xr-x 2 root root    4096 Jul 16  2017 xiaofan

drwxr-xr-x 2 root root    4096 Jul 16  2017 xingfujie

###方法4

[root@oldboyedu-39 ~]# ls -l /oldboy/ | sed -n'/^d/p'

drwxr-xr-x 3 root root    4096 Jul 16  2017 ext

drwxr-xr-x. 2 root root    4096 Jul 16 2017 test

drwxr-xr-x 2 root root    4096 Jul 16  2017 xiaodong

drwxr-xr-x 2 root root    4096 Jul 16  2017 xiaofan

drwxr-xr-x 2 root root    4096 Jul 16  2017 xingfujie

###方法5

[root@oldboyedu-39 ~]# ls -l /oldboy/ | awk '/^d/'

drwxr-xr-x 3 root root    4096 Jul 16  2017 ext

drwxr-xr-x. 2 root root    4096 Jul 16 2017 test

drwxr-xr-x 2 root root    4096 Jul 16  2017 xiaodong

drwxr-xr-x 2 root root    4096 Jul 16  2017 xiaofan

drwxr-xr-x 2 root root    4096 Jul 16  2017 xingfujie

###方法6 ls -F

[root@oldboyedu-39 ~]# ls -F /oldboy | grep /

ext/

test/

xiaodong/

xiaofan/

xingfujie/

小节:

 

3.2 一个目录中有很多文件(ls -l 查看时好多屏),想用一条命令最快速度查看到最近更新的文件。如何看?

ls -lrt

-r 以文件名反序排列并输出目录内容列表
-t 用文件和目录的更改时间排序

 小节:

 

3.3 在配置 apache 时 执行了./configure--prefix=/application/apache2.2.17 来编译 apche,在 make install 完成后,希望用户访问 apache 路径更简单,需要给/application/apache2.2.17 目录做一 个软链接/application/apache,使得内部开发或管理人员通过/application/apache 就可以访问到 apache 的安装目录/application/apache2.2.17 下的内容,请你给出实现的命令。(提示:apache 为一个 web 服务)

[root@oldboyedu-39 /]# mkdir -p/application/apache2.2.17

[root@oldboyedu-39 /]# ln -s/application/apache2.2.17 /application/apache

[root@oldboyedu-39 /]# ls -l /application/apache

lrwxrwxrwx 1 root root 25 May 22 00:33 /application/apache-> /application/apache2.2.17

[root@oldboyedu-39 /]# \rm /application/apache

[root@oldboyedu-39 /]# mkdir -p/application/apache2.4.17

[root@oldboyedu-39 /]# ln -s/application/apache2.4.17 /application/apache

[root@oldboyedu-39 /]# ls -l /application/apache

lrwxrwxrwx 1 root root 25 May 22 00:36/application/apache -> /application/apache2.4.17

 

 小节:

 

3.4 已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张, 现在要求只能保留最近 7 天的访问日志!请问如何解决? 请给出解决办法或配置或处理命 令。(提示:可以从 apache 服务配置上着手,也可以从生成出来的日志上着手。)

##方法1 find /app/logs -typef -name "*.olg" -mtime -7 |xargs rm

##方法3 find /app/logs -typef -name "*.olg" -mtime -7 -exec rm {} \;

 小节:

小结

3.5 调试系统服务时,希望能实时查看/var/log/messages 系统日志的更新,如何做?

 小节:

tail -f /var/log/messages

3.6 打印轻量级 web 服务的配置文件 nginx.conf 内容的行号及内容,该如何做?

####第7题

###方法1  cat

     cat -n /data/oldboy.txt

     1 123456

     2 123456

     3 123456

     4 123456

###方法2

:

###方法3 nl

nl /data/oldboy.txt

     1 123456

     2 123456

     3 123456

     4 123456

###方法4 awk

awk '{print NR" "$0}'/data/oldboy.txt

1 123456

2 123456

3 123456

4 123456

###方法5 sed

[root@oldboyedu-39 /]# sed"=" /data/oldboy.txt | xargs -n2

1 123456

2 123456

3 123456

4 123456

###方法6 vim

使用vim 进入后 输入set nu 取消是nonu

 小节:

3.7 装完 Centos 系统后,希望网络文件共享服务 NFS,仅在 3 级上开机自启动,该如何做?

 小节:

修改配置文件

[root@oldboyedu-39/]# chkconfig NFS off

errorreading information on service NFS: No such file or directory

[root@oldboyedu-39/]# chkconfig NFS --level 3 on

errorreading information on service NFS: No such file or directory

3.8 linux 系统运行级别一般为 0-6,请分别写出每个级别的含义。

 小节:

  0:关机模式(不要将Linux默认运行级别设置为0)

  1:单机模式

  2:多用户模式(无网络)

  3:完全多用户模式

  4:没有使用

  5:图形界面

  6:重启

  runlevel:查看当前运行级别

  init:切换运行级别

  修改配置文件然后查看:[root@oldboyedu-39 ~]# grep "id:" /etc/inittab

  id:3:initdefault:

3.9 linux 系统中查看中文乱码,请问如何解决乱码问题?

 

 小节:

export LANG="zh_CN.UTF-8" #临时支持中文
xshell里的语言也得设置成UTF-8模式
echo 'LANG=zh_CN.UTF-8' > /etc/sysconfig/i18n #永久支持中文

3.10 如何优化 linux 系统(可以不说太具体)?

 

1,优化开机服务启动,仅留必须开启的。
2,添加普通用户,最小化原则授权权限,防止运维人员出错
3,关闭iptables服务
4,关闭selinux服务
5,设定linux启动级别为3
6,隐藏linux版本信息显示

 小节:

 

3.11 /etc/目录为 linux 系统的默认的配置文件及服务启动命令的目录

a.请用 tar 打包/etc 整个目录(打包及压缩)

b.请用 tar 打包/etc 整个目录(打包及压缩,但需要排除/etc/services 文件)

c.请把 a 点命令的压缩包,解压到/tmp 指定目录下(最好只用 tar 命令实现)

a、cd /

tar zcvf /etc.tar.gz etc

b、tar zcvf /etc.tar.gz etc--exclude=/etc/services

c、cd /tmp

    tar zxf /etc.tar.gz

 小节:

 

3.12 已知如下命令及结果:

现在需要从文件中过滤出“oldboy”和“31333741”字符串,请给出命令。

a.现在需要从文件中过滤出“oldboy”和“31333741”字符串,请给出命令.

 

####方法1

[root@oldboyedu-39 /]# sed 's#i am ##g'/data/sunshine |sed 's#,my qq is##g'

sunshine 255255255

####方法2-

[root@oldboyedu-39 /]# cut -d " " -f 3,6/data/sunshine |sed -i 's#,my##g'

sunshine 255255255

####方法3-   awk

[root@oldboyedu-39 /]# awk -F "[ ,]"'{print $3,$7}' /data/sunshine

sunshine 255255255

#####方法5

 

 小节:

 

3.13 如何查看/etc/services 文件内容有多少行?

方法一wc -l

[root@oldboyedu-39 /]# wc -l /data/sunshine

6 /data/sunshine

方法二 nl

[root@oldboyedu-39 /]# nl /data/sunshine

     1 i am sunshine,my qq is 255255255

     2 1

     3 2

     4 3

     5 4

     6 5

方法三 cat -n

[root@oldboyedu-39 /]# cat -n /data/sunshine

     1 i am sunshine,my qq is 255255255

     2 1

     3 2

     4 3

     5 4

     6 5

方法四 [root@oldboyedu-39 /]# grep -n

grep -n "" /data/sunshine

1:i am sunshine,my qq is 255255255

2:1

3:2

4:3

5:4

6:5

 小节:

 

3.14 过滤出/etc/services  文件包含 3306 或 1521 两数据库端口的行的内容。

方法一:grep -n

grep -n "3306\|1521" /etc/services

方法二:egrep -n

[root@oldboyedu-39 /]# egrep -n"3306|1521" /etc/services

416:mysql          3306/tcp                        #MySQL

417:mysql          3306/udp                        #MySQL

2653:ncube-lm        1521/tcp                # nCube License Manager

2654:ncube-lm        1521/udp                # nCube License Manager

 小节:

 

3.15 作为运维新人,在新公司刚入职第一天上午,整个上午快过去了,可是领导都没有对你进行任何工作分配和交代,你该怎么办?怎么入手工作?【考察主动性】

 小节:

 

3.16 如果你是老男孩老师,你认为如何做才能教好学生?请写出你的方法?【学习换位思考】

 小节:

 


本文出自 “13121275” 博客,请务必保留此出处http://13131275.blog.51cto.com/13121275/1958143