linux 基础知识
1、简述 Linux 权限划分原则。
- 给文件或目录分配权限时,先考虑所有者和所属组
- 遵循最小化权限,用啥权限给啥权限
- 修改目录和子文件归属权限,注意递归
- 文件权限分配是最常用的安全防护手段
2、当用户 user1,对/testdir 目录有写和执行权限时,该目录下的只读文件 file1 是否可修改和删除?
对 file1 不能修改也不能删除。(如果对目录有写权限和执行权限,则对 file1 不能修改可以删除)
3、如果一个系统没有任何的备份策略,请写出一个较为全面合理的备份方案!
增量备份:将相较于前一天增加的内容备份,适合每天改变量较大的数据。
差异备份:将相较于第一天改变的内容备份,适合原始数据量比较大,但是之后改变的比较小,即使中间哪一天的丢了也没事,只要最后一天,和第一天的在就行。
4、网站服务器每天产生的日志数量较大,请问如何备份?
- 使用 logrotate 滚动日志
- split 大文件切分处理
- shell 脚本处理日志
5、简述 Raid 0、Raid 1、Raid 5 的特点与原理。
RAID 等级 | 最少硬盘 | 最大容错 | 可用容量 | 读取性能 | 写入性能 | 安全性 | 目的 | 应用产业 | |
---|---|---|---|---|---|---|---|---|---|
单一硬盘 | (参考) | 0 | 1 | 1 | 1 | 无 | |||
JBOD | 1 | 0 | n | 1 | 1 | 无(同 RAID 0) | 增加容量 | 个人(暂时) | 存储备份 |
0 | 2 | 0 | n | n | n | 一个硬盘异常,全部硬盘都会异常 | 追求最大容量、速度 | 视频剪接缓存用途 | |
1 | 2 | n-1 | 1 | n | 1 | 高,一个正常即可 | 追求最大安全性 | 个人、企业备份 | |
5 | 3 | 1 | n-1 | n-1 | n-1 | 中下至中 | 追求最大容量、最小预算 | 个人、小型企业备份 | |
6 | 4 | 2 | n-2 | n-2 | n-2 | 中至中高,仅安全性较 RAID 5 高 | 同 RAID 5,但较安全 | 个人、企业备份 | |
10 | 4 | 高 | 综合 RAID 0/1 优点,理论速度较快 | 大型数据库、服务器 | |||||
50 | 6 | 高 | 提升资料安全 | ||||||
60 | 8 | 高 | 提升资料安全 |
6、简述 Raid6、Raid 10 的特点与原理。
与 RAID 5 相比,RAID 6
增加第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,任意两块磁盘同时失效时不会影响数据完整性。
RAID 6 需要分配给奇偶校验信息更大的磁盘空间和额外的校验计算,相对于 RAID 5 有更大的 IO 操作量和计算量,其“写性能”强烈取决于具体的实现方案,因此RAID 6
通常不会通过软件方式来实现,而更可能通过硬件方式实现。RAID 10
是先分割资料再镜像,再将所有硬盘分为两组,视为以RAID 1作为最低组合
,然后将每组 RAID 1 视为一个“硬盘”组合为 RAID 0 运作。当RAID 10
有一个硬盘受损,其余硬盘会继续运作
7、软 Raid 与硬 Raid 的区别?
硬RAID
:通过用硬件
来实现 RAID 功能的就是硬 RAID,比如:各种 RAID 卡,还有主板集成能够做的 RAID 都是硬 RAID。
软RAID
:通过用操作系统
来完成 RAID 功能的就是软 RAID,比如:在 Linux 操作系统下,用 3 块硬盘做的 RAID5.
8、Linux 中有许多系统资源需要监管,请问有哪些命令可以查看?
htop
查看系统信息free -h
查看内存
9、简述 CentOS 6.x 的启动过程?
加电自检,得到
BIOS
的硬件信息,获取第一个启动设备读取第一个启动设备 MBR 的引导加载程序
(grub)
的启动信息加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备
运行 init 程序
运行系统初始化脚本
/etc/rc.d/rc.sysinit
启动核心的外挂模块
init 执行运行各个批处理文件
init 执行
/etc/rc.d/rc.local
执行
/bin/login
程序,等待用户登录登陆之后,打印登陆提示符,并开始 shell 控制主机
10、简述 CentOS 7.x 的启动过程?
- 加电后系统固件
(system firmware)
,也就是 BIOS 或者 UEFI 进行加电测试,初始化部分硬件设备。 - 系统固件寻找可启动设备。
- 系统固件从
disk
上读取boot loader
,CentOS7 中的 boot loader 是grub2
,之后系统固件把控制权交给boot loader
。 boot loader
从硬盘装载配置文件,向用户显示一个启动选择菜单。- 用户选择启动项后,
boot loader
从硬盘加载选定的内核(kernel)
和initramfs
到内存中。initramfs 中包括了在启动过程中所需的所有硬件的内核模块(modules)。它的配置文件是/etc/dracut.conf
。 boot loader
把启动时传入的参数如rd.break
, 还有initramfs
在内存中的地址,以及系统的控制权都移交给 kernel。kernel
初始化所有硬件,然后从initramfs
中执行/sbin/init
把它作为PID 1
. CentOS7 中的init
就是systemd
。- 来自
initramfs
中的systemd
执行所有initrd.target
中的unit
。把根文件系统/ 挂载(mount)到 /sysroot
. - 内核的根文件系统从 initramfs 切换到刚才挂载的
/sysroot
上后,sysroot 中的 systemd 会重新再执行一次。 - systemd 执行
default.target
, 系统启动完成。
11、如何进行 Linux 系统优化?
永久关闭selinux
1vim /etc/selinux/config
将 SELINUX=enforcing 改为 SELINUX=disabled,保存后退出,重启生效
设定系统runlevel
为 3
节约系统资源
1grep 3:initdefault /etc/inittab
2id:3:initdefault:
3init 3
12、大文件如何删除?
- 查看磁盘使用情况,查看是否需要扩容
1df -h
- 查找大文件,使用 du 定位大文件位置
1# 在根目录查找,展示第一层级的目录和文件,倒叙排列 ,展示前10名
2du -h / --max-depth=1 | sort -hr | head -n 10
- 删除文件
1# 删除文件可以直接用rm -rf 删除
2rm -rf <文件或目录>
3# 按时间和名称删除 :找到目录下,超过10天的文件 删除名字后缀为.gz的文件
4find /目录/* -mtime +10 -name "*.gz" -exec rm -rf {} \
kill 的几种格式有什么区别?
命令 | 参数 |
---|---|
-l | 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称 |
-a | 当处理当前进程时,不限制命令名和进程号的对应关系 |
-p | 指定 kill 命令只打印相关进程的进程号,而不发送任何信号 |
-s | 指定发送信号 |
-u | 指定用户 |
列出所有信号名称
1kill -l
常用信号
信号 | 数字 | 含义 |
---|---|---|
HUP | 1 | 终端断线 |
INT | 2 | 中断(同 Ctrl + C) |
QUIT | 3 | 退出(同 Ctrl + \) |
TERM | 15 | 终止 |
KILL | 9 | 强制终止 |
CONT | 18 | 继续(与 STOP 相反, fg/bg 命令) |
STOP | 19 | 暂停(同 Ctrl + Z) |
kill命令
可以带信号号码选项,也可以不带。如果没有信号号码,kill 命令就会发出终止信号(15)
,这个信号可以被进程捕获
,使得进程在退出
之前可以清理并释放资源
。