Linux面试题
Posted 芬乐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux面试题相关的知识,希望对你有一定的参考价值。
一、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
[email protected]@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
以上是关于Linux面试题的主要内容,如果未能解决你的问题,请参考以下文章