您的位置:首页 > 运维架构 > Linux

Linux面试题(2)

2016-05-19 22:01 471 查看
一、Linux操作系统知识

1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块?

Centos,Ubunto,fedora,openSUSE,Debian等,擅长Centos,www.centos.org

2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解?

POST-->BIOS(boot,sequence)-àMBR(bootloader,446) -àKernelàinitrdà(Rootfs)init

密码破解

1、启动服务器,按E,进入grub编辑模式

2、光标移动kernel,按e编辑

3、末尾输入single

4、按下enter后,再按下b进入单人维护模式

5、#passwd 更改密码

3.企业中Linux服务器系统分区标准是什么?(硬盘为300G,内存16G)

/boot 300M

/ 20G

/swap 32G

/home 100G

/usr 80G

/var 50G

/tmp 30G

4.某一天突然发现Linux系统文件只读,该怎么办呢?完整操作步骤。

mount查看

5.安装一台系统使用DVD光盘安装,如何安装50台Linux系统如何安装呢?思考一下。

6.用虚拟机安装了一台Linux系统,突然想克隆一台服务器,克隆后发现无法上网,如何解决?

7.Linux网卡配置文件路径是什么?要使服务器上外网,必须满足的条件有哪些?需要配置什么?

/etc/sysconfig/network-scripts/ifcfg-eth0,

DEVICE="eth0"

BOOTPROTO=none

ONBOOT="yes"

TYPE="Ethernet"

IPADDR=

GATEWAY=

DNS1=

8.一般可以使用什么软件远程linux服务器?通过什么上传文件和下载文件?

Xshell,put和get

9./mnt目录主要用于什么?/root目录跟root用户有什么关系?/根目录与/boot目录有什么联系?

/mnt一般用来临时挂载别的文件系统

Root的家目录是在/root下

/boot是挂载点是/根目录

10.某一天误操作,执行了rm-rf* ,会有哪些情况发生?请举例。

二、Linux命令及文件操作

1.在/tmp/目录下创建test.txt文件,内容为: Hello,World! ,用一个命令写出来。

ECHO “Hello,World!”>/tmp/test.txt

2.给test.txt文件除所有者之外增加执行权限,最终以数字写出文件的权限。

Chmod +x/tmp/test.tx; ll /tmp/test.txt

3.用vi命令编辑test.txt,如何跳转到末行,首行,行首、行末,如何在光标行下一行插入,如何复制5行,删除10行,查找jingfeng的字符、把jingfeng替换为jfedu.net

G

1G

0

$

光标行下一行插入按o

5y

10d

s@jingfeng@jfedu.net

4.查找linux系统下以txt结尾,30天没有修改的文件大小大于20K同时具有执行权限的文件并备份到/data/backup/目录下。

find / -name *.txt -mtime -30 –size +20k –a –perm /--x > /data/backup

5.当前test.txt所属的用户为root,组为abc,请将test.txt使拥有者为abc,组为root,写出命令。

Useradd abc ;

Chown abc.root test.txt

6.如何修改Linux启动级别为字符模式并永久生效,如何临时、永久关闭selinux及防火墙,请分别写出操作方法。

vim /etc/inittab setenfoce 0 vim/etc/selinux/config

7.每次开机在/tmp目录下创建一个当天的日期文件夹(提示:当前日期表示的方法为:`date +%Y%m%d`)

Vim /etc/rc.d/rc3.d/S99local

添加

mkdir -p /tmp/`date+%Y%m%d`

8.如何查看文件内容,命令有哪些?查看文件第1行到3行,查看文件最后一行。

cat ,less,more,head,tail

head –n 3

tail -1

9.查看linux服务器IP的命令,同时只显示包含ip所在的行打印出来。

Ifconfig eth0 | grep Bcast

10.将普通用户test加入root组的命令是?

gpasawd –M test root

三、Linux磁盘及软件管理操作

1.如何添加一块新的50G硬盘到linux服务器系统作为单独的分区,并正在使用?需要哪些操作步骤?

#Fdisk –l 查找50G设备名称,假设为/dev/sdb

#Fdisk /dev/sdb

n

选择起始磁柱至最后结束磁柱

+50G

w保存存退出

此时分区为/dev/sdb1

#partprobe /dev/sdb1

#mkdir /pardisk

#mkfs –t ext4 /dev/sdb1

#mount /dev/sdab1/pardisk

2.有个金士顿U盘,需要往服务器/var/www/html/目录下上传一个index.html文件,如何操作并完成。

#mount –t vfat /dev/sdb /mnt/flash

# cd /mnt/flash

#cp index.html /var/www/html/

3.有一块移动硬盘,上面有300G数据,如何快速cp到linux服务器?

#dd if=/dev/sdb of=/tmp/usb.back 刚才翻看了笔记,同步镜备份是rsync最快,移动硬盘挂在/mnt/flash

rsync -av /mnt/flash /tmp/usr.back

4.光盘里面有一个httpd-2.2.15.xx.rpm包,如何挂载并安装呢?

#mount –t iso9660 /dev/cdrom /media/cdrom

#cd /media/cdrom

#rpm –

ivh httpd-2.2.15.xx.rpm

5.使用rpm命令安装、卸载、删除、更新ntp-0.7.12.x86_64.rpm这个软包。

rpm –ivh ntp-0.7.12.x86_64.rpm

rpm –e ntp-0.7.12.x86_64.rpm–nodeps

rpm –Fvh ntp-0.7.12.x86_64.rpm

6./var/www/html/是网站的发布目录,如何每天凌晨0点30对其进行自动备份,写出操作步骤?

#crontab –e

30 0 * * * /bin/tar –jpcv /backup/html.bzip2 /var/www/html/*

7.使用tar命令打包并压缩/root目录,然后移动到/tmp下,将其权限设置其他人只读。

#tar –jcv /tmp/root.bz2 /root/*

#chmod o+r /tmp/root.bz2

8.Yum命令与rpm命令的区别?如何使用rpm安装一个有依赖的包?

Yum在线安装装级

Rpm手动安装升级

在安装,如果有依赖性包的时,用yum来安装,如果可以忽略的,则使用rpm --nodeps或rpm --force强制安装即可

9.在这个月内,每天的早上 6 点到 12 点中,每隔 2 小时创建一个test.txt文件,内容为ok,如何实现?

#crontab –e

* 6,8,10,12 * 4 * /bin/touch /tmp/test.txt

4代表这个月的4月份

10.将/usr/local/test目录下大于100K 的文件转移到/tmp 目录下。

#find /usr/local/test -size +100K -exec mv {} /tmp/ \;

11.简述 raid0 raid1 raid5三种工作模式的工作原理及特点。

raid0:假设有两块硬盘A与B,切出等量区块,然后依序存放到这两块磁盘当中

Raid1:说白了,同一份数据,完整保存在两块磁盘当中

Raid5:至少三块磁盘,多了一个同位检查码记录

12.如何查看占用端口 8080 的进程。

#netstat –tlnp | grep 8080

1.请写出 apache2.X 版本的两种工作模式,以及各自工作原理。如何查看apache 当前所支持的模块,并且查看是工作在哪种模式下?

2.Linux下nfs在客户端无法挂载,请写出排查步骤?

3.Linux下已经部署了dhcp服务器,客户端无法获取的IP,如何解决?

是不是

4.常见的FTP软件有哪些?Linux最常用的是?如何共享一个资源让他人使用用户名和密码访问?

5.如何禁止FTP使用匿名用户登录?命令行如何访问ftp服务器?

6.ApacheWEB服务器的发布目录在哪里?

如果RPM或yum安装的在/var/www/html 如果编译安装在一般在/usr/local/http/

7.ApacheWEB服务器有几种工作模式,每种模式的简单区别?

8.MySQL服务器的用途是?Apache和mysql可以安装在一台机器吗?如何查看apache和mysql端口和进程?

数据存储和查询,可以

netstat -tlnp | grep httpd;netstat -tlnp | grep mysqld

9.如何在虚拟机上面部署4个网站,访问的域名分别为www.a1.com test.a1.comwww.a2.comtest.a2.com?

#vim /etc/httpd/conf.d/virtual.conf

NameVirtualHost 192.168.1.154:80

<virtualHost 192.168.1.154:80>

ServerName www.a1.com

DocumentRoot "/www/a1.com"

CustomLog /var/www/httpd/a1.org/access_log combined

<Directory "/www/a1.com">

Options none

AllowOverride authconfig

AuthType basic

AuthName "Rrestrict area."

AuthUserfile "/etc/httpd/.htpasswd"

require valid_user

</Directory>

</virtualHost>

<virtualHost 192.168.1.154:80>

ServerName test.a1.com

DocumentRoot "/test/a1.com"

CustomLog /var/www/httpd/d.gov/access_log combined

<Dire

ctory "/test/a1.com">

Options none

AllowOverride none

Order deny,allow

</Directory>

</virtualHost>

......

10.假设 Apache 产生的日志文件名为access_log,在 apache 正在运行时,执行命令mv access_log access_log.bak,执行完后,请问新的 apache的日志会打印到哪里,为什么?

在acccss_log.bak,mv执行重命名文件

11.我们都知道 FTP 协议有两种工作模式,说说它们的大概的一个工作流程?

12.Linux内核引导时,从哪个文件中读取要加载的文件系统。

/etc/fstab

13.写出下面服务的常用端口ftp http dns snmp pop3、dhcp、nfs、mysql、samba等服务。

cat /etc/services | grep "A"

ftp 21,http80,dns53,snmp161,pop3 110,dhcp67,nfs2049,mysql3306,samba137

14.Mysql创建数据库的命令,创建表的命令,插入语句的命令?

mysql>create database love;

mysql>create table tb1 (id INT UNSIGNED NOT NULL AUTO_INCREMENTPRIMARY KEY,Name CHAR(20) NOT NULL,Age TINYINT NOT NULL);

mysql>INSERT INTO SET Name=’panfeng’,Age=24;

15.Mysql备份命令?Mysql如何给root用户对jfedu授权访问,密码为jfedu.net,请写出命令?

备份命令

#mysqldump

Mysql>GRANT ALL PRIVILEGES ON *.* TO ‘jfedu’@’localhost’IDENTIFIED BY ‘jfedu.net’;

16.Mysql忘记密码该如何操作呢?

1、#service mysqld stop

2、vim/etc/init.d/mysqld

找到$bidir/mysql_safe--datadir="$dataidir"

修改为

$bidir/mysql_safe --skip-grant-tables --skip-networkin--datadir="$dataidir"

3、servicemysqld restart

4、登录mysql

Mysql>UPDATE User SET Password=PASSWORD(‘1234’) WHERE User=’root’;

5、还原第2步的配置

17.Linux运维工程师都需要具备哪些技能和职业品质?

这个是百度出来的,我觉的总结的很到位,分享一下

运维工作尤其是linux运维,其实最考验人的能力,因为需要学习的东西实在太多。

要懂网络——思科华为设备的配置;

要懂性能调优——包括lamp或者lnmp的性能调优,也包括linux操作系统调优;

要懂数据库mysql或者nosql——例如mongodb;

要懂编程语言——Shell是最基本的,还要学习perl,python,甚至ruby和C++等(因为一些软件是这些语言编写的),还得熟练掌握awk,sed,grep以及正则表达式;

要懂一些调试排错的命令工具的使用——比如htop,dstat,strace,systemtap,iostat,sar等;

要有比较好的英语水平——因为很多软件或者工具以及出现问题排错的答案都不是国人所做,甚至还需要和原作者交流,在谷歌group里面留言讨论;

要有坚强的体魄和超时工作的心理准备——升级维护都是在大家还在做梦时候。夜里2点网站挂了你也得起来,手机不停的接收各种报警短信…;

要有背黑锅的忍耐力——运维一直是公司爹不疼娘不爱的位置,别人做好了和你无关,你做差了别人做不好就是你影响的。人力和财务是技术部门的服务,运维就是各技术部门的服务,大到线上操作,小到帮助公司其他使用linux桌面的同事,公司内部机房,IDC维护(跑腿搬服务器),干好了就算了,干不好,一堆人背后骂你;

还要有(这也是最重要的)一颗积极学习的心——因为技术发展的不容许你原地不前,假如你不是技术geek,觉得Shell+apache就是anything,其实我觉得不做运维也会干的不错,呵呵…

当然了,作linux运维还是有成就的:

一般换工作都是猎头接待;

工资涨幅最大也是最快,其他行业很少有工作1,2年就能张到1W以上的吧?

懂得东西太广泛…换工作很简单,转职业也so easy
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: