【Linux基础篇】
1.描述Linux运行级别0-6的各自含义 0:关机模式 1:单用户模式<==破解root密码 2:无网络支持的多用户模式 3:有网络支持的多用户模式(文本模式,工作中最常用的模式) 4:保留,未使用 5:有网络支持的X‐windows支持多用户模式(桌面) 6:重新引导系统,即重启
2.描述Linux系统从开机到登陆界面的启动过程
3.描述Linux下软链接和硬链接的区别 在Linux系统中,链接分为两种,一种是硬链接(Hard link),另一种称为符号链接或软链接(Symbolic Link)。
默认不带参数的情况下,ln创建的是硬链接,带‐s参数的ln命令创建的是软链接。 硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号,与源文件不同, ln命令不能对目录创建硬链接,但可以创建软链接。对目录的软链接会经常使用到。 删除软链接文件,对源文件和硬链接文件无任何影响。 删除文件的硬链接文件,对源文件及软链接文件无任何影响。 删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状)。 同时删除源文件及其硬链接文件,整个文件才会被真正的删除。 很多硬件设备的快照功能,使用的就是类似硬链接的原理。 软链接可以跨文件系统,硬链接不可以跨文件系统。
4.如果一台办公室内主机无法上网(打不开网站),请给出你的排查步骤? 首先确定物理链路是否联通正常。 查看本机IP,路由,DNS的设置情况是否达标。 telnet检查服务器的WEB有没有开启以及防火墙是否阻拦。 ping一下网关,进行最基础的检查,通了,表示能够到达服务器。 测试到网关或路由器的通常情况,先测网关,然后再测路由器一级一级的测试。 测试ping公网ip的通常情况(记住几个外部IP), 测试DNS的通畅。ping出对应IP。 通过以上检查后,还在网管的路由器上进行检查。
5.网站打开慢,请给出排查方法,如是数据库慢导致,如何排查并解决,请分析并举例?
6.如何选择Linux操作系统版本? 一般来讲,桌面用户首选Ubuntu;服务器首选RHEL或CentOS,两者中首选CentOS。 根据具体要求: 安全性要求较高,则选择Debian或者FreeBSD。 需要使用数据库高级服务和电子邮件网络应用的用户可以选择SUSE。 想要新技术新功能功能可以选择Feddora,Feddora是RHEL和CentOS的一个测试版和预发布版本。 根据现有状况,绝大多数互联网公司选择CentOS。现在比较常用的是6系列,现在市场占有大概一半左右。另外的原因是CentOS更侧重服 务器领域,并且无版权约束。
7.生产场景如何对linux系统进行合理规划分区?
分区的根本原则是简单、易用、方便批量管理。根据服务器角色定位建议如下: 单机服务器:如8G内存,300G硬盘 分区:/boot 100‐200M,swap 16G,内存大小8G*2,/ 80G,/var 20G(也可不分),/data 180G(存放web及db数据) 优点:数据盘和系统盘分开,有利于出问题时维护。 RAID方案:视数据及性能要求,一般可采用raid5折中。
负载均衡器(如LVS等) 分区:/boot 100‐200M,swap 内存的1‐2倍,/ , 优点:简单方便,只做转发数据量很少。 RAID方案:数据量小,重要性高,可采用RAID1 负载均衡下的RS server 分区:/boot 100‐200M,swap 内存的1‐2倍,/ 优点:简单方便,因为有多机,对数据要求低。 RAID方案:数据量大,重要性不高,有性能要求,数据要求低,可采用RAID0 数据库服务器mysql及oracle如16/32G内存 分区:/boot 100‐200M,swap 16G,内存的1倍,/ 100G,/data 剩余(存放db数据) 优点:数据盘和系统盘分开,有利于出问题时维护,及保持数据完整。 RAID方案:视数据及性能要求主库可采取raid10/raid5,从库可采用raid0提高性能(读写分离的情况下。)
存储服务器 分区:/boot 100‐200M,swap 内存的1‐2倍,/ 100G,/data(存放数据) 优点:此服务器不要分区太多。只做备份,性能要求低。容量要大。 RAID方案:可采取sata盘,raid5
共享存储服务器(如NFS) 分区:/boot 100‐200M,swap 内存的1‐2倍,/ 100G,/data(存放数据) 优点:此服务器不要分区太多。NFS共享比存储多的要求就是性能要求。 RAID方案:视性能及访问要求可以raid5,raid10,甚至raid0(要有高可用或双写方案)
监控服务器cacti,nagios
分区:/boot 100‐200M,swap 内存的1‐2倍,/ 优点:重要性一般,数据要求也一般。 RAID方案:单盘或双盘raid1即可。三盘就RAID5,看容量要求加盘即可。
8.如何查看当前的Linux服务器的运行级别?
‘who ‐r’ 和 ‘runlevel’命令可以用来查看当前的Linux服务器的运行级别。
9.请简述如何查看Linux的系统版本
uname ‐a
10.查看Linux运行多少时间
uptime
11.某系统管理员需每天做一定的重复工作,请按照下列要求,编制一个解决方案:
在下午4:50删除/abc目录下的全部子目录和全部文件; 从早8:00~下午6:00每小时读取/xyz目录下x1文件中每行第一个域的全部数据加入到/backup目录下的bak01.txt文件内; 每逢星期一下午5:50将/data目录下的所有目录和文件归档并压缩为文件:backup.tar.gz;
crontab ‐e 50 16 * * * rm ‐rf /abc/* 8‐18/1 * * * awk '{print $1 > "/backup/bak01.txt"}' /xyz/x150 17 * * 1 tar ‐czf backup.tar.gz /data
12.请在3月23号21点18分的时候,重启服务器 crontab ‐e 18 21 23 3 * init 6
13.如何查看Linux的默认网关?
用 “route ‐n” 和 “netstat ‐nr” 命令,我们可以查看默认网关。 除了默认的网关信息,这两个命令还可以显示当前的路由表。
14.如何查看一个文件夹inode节点数有多少? find / ‐xdev ‐printf '%h\n' | sort | uniq ‐c | sort ‐k 1 ‐n
15.写一个脚本查找最后创建时间是3天前,后缀是*.log的文件并删除 find / ‐name “*.log” ‐ctime +3 ‐exec rm ‐f {} \;
16.如果某文件夹下文件太多无法ls该如何解决? ls ‐f
17.如何用tcpdump嗅探80端口的访问看看谁最高? tcpdump ‐i eth0 ‐tnn dst port 80 ‐c 1000 | awk ‐F”.” ‘{print $1″.”$2″.”$3″.”$4″.”}’ | sort |uniq ‐c | sort ‐nr | head‐5
18.如何查看/var/log目录下的文件数? ls /var/log/ ‐1R | grep “‐” | wc ‐l
19.如何查看Linux系统每个ip的连接数? netstat ‐n | awk ‘/^tcp/ {print $5}’ | awk ‐F: ‘{print $1}’ | sort | uniq ‐c | sort ‐rn
20.shell下生成32位随机密码 cat /dev/urandom | head ‐1 | md5sum | head ‐c 32 >> /pass
21.统计出apache的access.log中访问量最多的5个ip cat access.log | awk ‘{print $1}’ | sort | uniq ‐c | sort ‐n ‐r | head ‐5
22.请用多种方式在linux系统中设置环境变量,并指出各种方式的区别。 控制台中设置,不赞成这种方式,因为他只对当前的shell 起作用,换一个shell设置就无效了: PATH="PATH":/NEW_PATH (关闭shell Path会还原为原来的path) 修改 /etc/profile 文件,如果你的计算机仅仅作为开发使用时推存使用这种方法,因为所有用户的shell都有权使用这个环境变量,可能会给系统带来安全性问题。这里是针对所有的用户的,所有的shell 在/etc/profile的最下面添加: export PATH="$PATH:/NEW_PATH" 修改bashrc文件,这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,这里是针对某一特定的用户,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的 .bashrc文件就可以了。 在下面添加: Export PATH="$PATH:/NEW_PATH"
|