linux基础简答题
扇区及其4个主分区的原因
在第一个扇区中,保存着引导记录和分区信息,容量为512bytes,主引导记录(相当于MBR)446 bytes,分区表64bytes,记录每个分区信息要16bytes,所以只剩下16*4,4个主分区了, 但是可以在主分区下分成若干个逻辑分区。
磁盘的演变:
以前老式的磁盘:每个磁道的扇区空间都一样,这样外磁道整个弧长要大于内部的扇区弧长,因而其磁记录密度就要比内部磁道的密度要小。最终,导致了外部磁道的空间浪费。
Zoned-bit recording(ZBR 区位记录)是一种物理优化硬盘存储空间的方法:通过将更多的扇区放到磁盘的外部磁道而获取更多存储空间。导致外磁道快,因为外磁盘转一圈,读得扇区数多
ext4文件系统由三部分组成:文件名, inode,block
inode包含文件的元信息,存储文件属性,说有以下内容:
* 文件的字节数
* 文件拥有者的User ID
* 文件的Group ID
* 文件的读、写、执行权限
* 文件的时间戳,共有三个: ctime,mtime,atime
*文件的类型
其中没有文件的创建时间
ctime(change time )指inode上一次文件属性变动的时间
mtime(modified time)指文件内容上一次变动的时间
atime(access进入 time)指文件上一次打开的时间
stat /etc/passwd 查看某个文件的inode信息
df -i 查看磁盘中inode使用情况
inode节点不够的时候不能创建文件
block是 文件系统 中最小的存储单位,块大小产常见的是1kb或4kb(windows)
扇区 是 磁盘 中最小的存储单位
block设置大:效率高,利用率低。
block设置小:效率低,利用率高。
软硬链接的区别:
①默认不带参数的情况下,ln创建的是硬链接,带-s参数的ln命令创建的是软链接。
②硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号,与源文件不同,
③ln命令不能对目录创建硬链接,但可以创建软链接。对目录的软链接会经常使用到。
④删除软链接文件,对源文件和硬链接文件无任何影响。
⑤删除文件的硬链接文件,对源文件及软链接文件无任何影响。
⑥删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状)。
⑦同时删除源文件及其硬链接文件,整个文件才会被真正的删除。
⑧很多硬件设备的快照功能,使用的就是类似硬链接的原理。
⑨软链接可以跨文件系统,硬链接不可以跨文件系统。
Linux系统下目录及文件颜色的含义
蓝色:目录
绿色:可执行文件
红色:压缩文件
黄色:设备文件
浅蓝色:链接文件
系统运行模式/etc/inittab
0 halt 代表:关机模式
1 singel user代表:单用户模式(例如root的密码忘记了,可以在该模式下完成密码的找回)
2 multiuser没有NFS网络共享的多用户模式(NFS:network file system)
3 full multiuser代表的是命令行模式(一般生产环境都是使用的该模式)
4 unused暂时没有被使用
5 xll代表的是 桌面模式(该模式是用户常见桌面操作 常见的桌面程序有 gnome kde)
6 reboot代表重启
Systemctl status /start/stop/restart/enable(自启动)/disable sshd/httpd.service
linux的单用户模式
有点类似windows的安全模式,只启动最基本的系统,网络服务、系统服务等都不启动。
1. 启动系统,待系统启动到grub或lilo(现在一般是grub)引导菜单时,安方向键展开隐藏的菜单,找到系统当前引导项;
2. 把光标定位在该选项上按下字母“e”键进入这个引导的编辑状态;
3. 该选项通常有三行语句,用光标选中以“Kernel”开头的那一行;
4. 然后按下字母“e”键进入这一行的编辑状态;
5. 在该行行尾加个空格,键入数字1或single(表示单用户模式),然后按回车回到原来的界面;
6. 按下字母“b”键开始引导;
7. 单用户模式引导完成后,会有#提示符,表示已拥有超级用户权限,在#后执行需要的命令即可进行相关的操作。
执行脚本的3种方法:
Chmod u+x abc.sh
./abc.sh
2、Sh abc.sh
3、Source abc.sh
重定向的说明
>或1> 输出重定向:把前面输出的东西输入到后边的文件中,会删除文件原有内容。
>>或1>> 追加重定向:把前面输出的东西追加到后边的文件中,不会删除文件原有内容。
<或<0 输入重定向:输入重定向用于改变命令的输入,指定输入内容,后跟文件名。
<<或<<0 输入重定向:后跟字符串,用来表示“输入结束”,也可用ctrl+d来结束输入。
2> 错误重定向:把错误信息输入到后边的文件中,会删除文件原有内容。
2>> 错误追加重定向:把错误信息追加到后边的文件中,不会删除文件原有内容。
标准输入(stdin):代码为0,使用<或<<。
标准输出(stdout):代码为1,使用>或>>。正常的输出。
标准错误输出(sederr):代码为2,使用2>或2>>。
特殊:
2>&1就是把标准错误重定向到标准输出(>&)。
>/dev/null 2>&1 等价于 1>/dev/null 2>/dev/null
linux系统的启动过程
BIOS(基本输入输出系统)
- 1. 检查硬件,即计算机硬件是否满足运行基本条件。(如果硬件有问题主板会发出有频率的蜂鸣,启动终止);
- 2. 查找软盘、光盘或硬盘的引导装在程序(指引导记录,即MBR);
- 3. 将引导装在程序(MBR)载入内存,将控制权交给MBR.
- 加载并执行GRUB
读取MBR,并引导
MBR位于启动盘第一扇区(一般为/dev/hda或者/dev/sda)
MBR共有512位由三部分组成:
① 1-446bit 主引导加载程序信息
② 447-510bit 存放分区表
③ 511-512bit 存储MBR有效标记
grub引导菜单(boot loader)
- 加载并执行内核以及initrd镜像
GRUB会让你选择启动的内核
GRUB会通过配置文件找到内核及Initrd镜像,initrd镜像含有内核所需的基本模块驱动
加载kernel
- 1. 挂载根文件系统;
- 2. 运行/sbin/init程序,初始化系统环境;
由于init是被linux第一个执行的程序,所以它的进程号为1.
在根系统被挂载之前,initrd被内核作为一个临时文件系统,内核启东市展开改initrd加载根驱动,在驱动的补充下挂载根分区.
启动init,设置级别
- 根据/etc/inittab设定linux的运行级别
执行脚本程序
u 根据运行级别,执行对应级别的程序
u init执行用户层文件/etc/rc.d/rc.sysinit,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等
u 执行/etc/rc.d/rc.local
在一切初始化后,linux留给用户进行个性化的地方
u 执行/bin/login程序,进入登录状态
系统权限分级管理
① 收集以及制定用户和权限的匹配信息,原则是给于最小权限,但是又能完成所承担的工作职责。
② 各个用户组设置对应权限,用什么给什么,精细到每一条指令上根据分组情况。
③ 创建规划权限分组的用户.添加相关用户组。并修改etc/sudoers配置文件。
④ 增加sudo的权限开放,确定相关用户加入如soduers权限列表,并详细设置所开放权限内容,并选择是否需要密码的相关执行权限开放。(注意ALL权限,以及密码修改权限设置)。
⑤ 不建议先给all权限,后面排除。建议使用白名单。
⑥实战调试测试相关权限是否正确配置完成。
⑦编写操作说明,及相关注意事项。
⑧调试完毕,邮件周知所有相关人员系统权限设置生效,并附带操作说明及相关注意事项。
Linux系统优化的步骤。
⑴登录系统:不使用root登录,通过sudo授权管理,使用普通用户登录。
⑵禁止SSH远程:更改默认的远程连接SSH服务及禁止root远程连接。
⑶时间同步:定时自动更新服务器时间。
⑷配置yum更新源,从国内更新下载安装rpm包。
⑸关闭selinux及iptables(iptables工作场景如有wan ip,一般要打开,高并发除外)
⑹调整文件描述符数量,进程及文件的打开都会消耗文件描述符。
⑺定时自动清理/var/spool/clientmquene/目录垃圾文件,防止节点被占满(c6.4默认没有sendmail,因此可以不配。)
⑻精简开机启动服务(crond、sshd、network、rsyslog)
⑼Linux内核参数优化/etc/sysctl.conf,执行sysct -p生效。
更改字符集,支持中文,但是还是建议使用英文,防止乱码问题出现。
⑾锁定关键系统文件(chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 处理以上内容后,把chatter改名,就更安全了。)
⑿清空/etc/issue,去除系统及内核版本登陆前的屏幕显示。
生产场景对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,看容量要求加盘即可。
一台主机无法上网的排查步骤
①首先确定物理链路是否联通正常。
②查看本机IP,路由,DNS的设置情况是否达标。
③telnet检查服务器的WEB有没有开启以及防火墙是否阻拦。
④ping一下网关,进行最基础的检查,通了,表示能够到达服务器。
⑤测试到网关或路由器的通常情况,先测网关,然后再测路由器一级一级的测试。
⑥测试ping公网ip的通常情况(记住几个外部IP),
⑦测试DNS的通畅。ping出对应IP。
⑧通过以上检查后,还在网管的路由器上进行检查。
localhost和127网段的区别
localhost也叫local,是本地服务器,不会解析成ip,不受网卡和网络防火墙的限制。
127网段,A类地址,被保留作为换回接口地址,一般是用127.0.0.1,它是通过网卡传输,也就收到其限制,但是他不需要域名解析。