目录

linux基础知识

linux 基础知识

1、简述 Linux 权限划分原则。

  1. 给文件或目录分配权限时,先考虑所有者和所属组
  2. 遵循最小化权限,用啥权限给啥权限
  3. 修改目录和子文件归属权限,注意递归
  4. 文件权限分配是最常用的安全防护手段

2、当用户 user1,对/testdir 目录有写和执行权限时,该目录下的只读文件 file1 是否可修改和删除?

对 file1 不能修改也不能删除。(如果对目录有写权限和执行权限,则对 file1 不能修改可以删除)

3、如果一个系统没有任何的备份策略,请写出一个较为全面合理的备份方案!

增量备份:将相较于前一天增加的内容备份,适合每天改变量较大的数据。
差异备份:将相较于第一天改变的内容备份,适合原始数据量比较大,但是之后改变的比较小,即使中间哪一天的丢了也没事,只要最后一天,和第一天的在就行。

4、网站服务器每天产生的日志数量较大,请问如何备份?

  1. 使用 logrotate 滚动日志
  2. split 大文件切分处理
  3. 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 的启动过程?

  1. 加电自检,得到BIOS的硬件信息,获取第一个启动设备

  2. 读取第一个启动设备 MBR 的引导加载程序(grub)的启动信息

  3. 加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备

  4. 运行 init 程序

  5. 运行系统初始化脚本  /etc/rc.d/rc.sysinit

  6. 启动核心的外挂模块

  7. init 执行运行各个批处理文件

  8. init 执行/etc/rc.d/rc.local

  9. 执行/bin/login程序,等待用户登录

  10. 登陆之后,打印登陆提示符,并开始 shell 控制主机

10、简述 CentOS 7.x 的启动过程?

  1. 加电后系统固件(system firmware),也就是 BIOS 或者 UEFI 进行加电测试,初始化部分硬件设备。
  2. 系统固件寻找可启动设备。
  3. 系统固件从disk上读取boot loader,CentOS7 中的 boot loader 是grub2,之后系统固件把控制权交给boot loader
  4. boot loader从硬盘装载配置文件,向用户显示一个启动选择菜单。
  5. 用户选择启动项后,boot loader从硬盘加载选定的内核(kernel)initramfs到内存中。initramfs 中包括了在启动过程中所需的所有硬件的内核模块(modules)。它的配置文件是 /etc/dracut.conf
  6. boot loader把启动时传入的参数如rd.break, 还有initramfs在内存中的地址,以及系统的控制权都移交给 kernel。
  7. kernel初始化所有硬件,然后从initramfs中执行 /sbin/init 把它作为PID 1. CentOS7 中的init就是systemd
  8. 来自initramfs中的systemd执行所有initrd.target中的unit。把根文件系统 / 挂载(mount)到 /sysroot.
  9. 内核的根文件系统从 initramfs 切换到刚才挂载的/sysroot上后,sysroot 中的 systemd 会重新再执行一次。
  10. systemd 执行default.target, 系统启动完成。

11、如何进行 Linux 系统优化?

永久关闭selinux

1
vim /etc/selinux/config

将 SELINUX=enforcing 改为 SELINUX=disabled,保存后退出,重启生效

设定系统runlevel为 3
节约系统资源

1
2
3
grep 3:initdefault /etc/inittab
id:3:initdefault:
init 3

12、大文件如何删除?

  1. 查看磁盘使用情况,查看是否需要扩容
1
df -h
  1. 查找大文件,使用 du 定位大文件位置
1
2
# 在根目录查找,展示第一层级的目录和文件,倒叙排列 ,展示前10名
du -h / --max-depth=1 | sort -hr | head -n 10
  1. 删除文件
1
2
3
4
# 删除文件可以直接用rm -rf 删除
rm -rf <文件或目录>
# 按时间和名称删除 :找到目录下,超过10天的文件 删除名字后缀为.gz的文件
find /目录/* -mtime +10 -name "*.gz" -exec rm -rf {} \

kill 的几种格式有什么区别?

命令 参数
-l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a 当处理当前进程时,不限制命令名和进程号的对应关系
-p 指定 kill 命令只打印相关进程的进程号,而不发送任何信号
-s 指定发送信号
-u 指定用户

列出所有信号名称

1
kill -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),这个信号可以被进程捕获,使得进程在退出之前可以清理并释放资源