一、Linux 的 grub 配置文件、查看进程、进程控制、进程通信、守护进程、screen、systemctl、SELinux、内存及磁盘管理、内存查看、磁盘分区、文件系统管理、分区及挂载、交换分区、RAID、逻辑卷 LVM、sar、Shell、Shell 脚本格式、管道、重定向、变量赋值、变量引用及作用范围、环境变量及配置
grub配置文件,如下所示:
/etc/default/grub/etc/grub.d//boot/grub2/grub.cfggrub2-mkconfig -o /boot/grub2/grub.cfg
- 进程的概念,如下所示:
- 进程是运行中的程序,从程序开始运行到终止的整个生命周期是可管理的
C程序的启动是从main函数开始的,int main(int agrc, char *argv[])- 终止的方式并不唯一,分为正常终止和异常终止
- 正常终止也分为从
main返回、调用exit等方式 - 异常终止分为调用
abort、接收信号等
- 进程的查看命令,如下所示:
- 查看命令,
ps、pstree、top - 进程也是树形结构,进程和权限有着密不可分的关系
- 进程的优先级调整,如下所示:
- 调整优先级,
nice范围从 -20 到 19,值越小优先级越高,抢占资源就越多;renice重新设置优先级 - 进程的作业控制,
jobs、&符号
- 进程间通信,如下所示:
- 信号是进程间通信方式之一,典型用法是终端用户输入中断命令。通过信号机制停止一个程序的运行
- 使用信号的常用快捷键和命令,
kill -l SIGINT通知前台进程组终止进程ctrl + cSIGKILL立即结束程序,不能被阻塞和处理kill -9 pid
- 守护进程,如下所示:
- 使用
nohup与&符号配合运行一个命令,nohup命令使进程忽略hangup挂起信号 - 守护进程
daemon和一般进程的差别 - 使用
screen命令,screen进入screen环境,ctrl+a d退出screen环境 screen -ls查看screen的会话screen -r sessionid恢复会话
- 服务管理工具
systemctl,服务提供常见功能的守护进程的集中管理工具,service、systemctl。 - 服务管理工具
systemctl,systemctl常见操作,如下所示:
systemctl start|stop|restart|reload|enable|disable服务名称- 软件包安装的服务单元
/usr/lib/systemd/system/
SELinux,如下所示:
MAC强制访问控制与DAC自主访问控制- 查看
SELinux的命令,getenforce、/usr/sbin/sestatus、ps -Z and ls -Z and id -Z - 关闭
SELinux,setenforce 0、/etc/selinux/sysconfig
- 内存使用率、磁盘使用率的查看,如下所示:
- 内存使用率查看,常用命令
free、top - 磁盘使用率查看,常用命令
fdisk、df、du、du 与 ls
- 常见文件系统,
Linux支持多种文件系统,常见的有,ext4、xfs和NTFS,其中NTFS需要安装额外软件。 ext4文件系统,ext4文件系统基本结构比较复杂,超级块、超级块副本、i 节点和数据块。- 磁盘分区与挂载,如下所示:
- 常用命令,
fdisk、mkfs、parted、mount - 常见配置文件,
/etc/fstab
- 用户磁盘配额,如下所示:
xfs文件系统的用户磁盘配额quotamkfs.xfs /dev/sdb1mkdir /mnt/disk1mount -o uquota,gquota /dev/sdb1 /mnt/disk1chmod 1777 /mnt/disk1xfs_quota -x -c 'report -ugibh' /mnt/disk1xfs_quota -x -c 'limit -u isoft=5 ihard=10 user1' /mnt/disk1
- 交换分区,如下所示:
- 增加交换分区的大小,
mkswap、swapon - 使用文件制作交换分区,
dd if=/dev/zero bs=4M count=1024 of=/swapfile
RAID与软件RAID技术,RAID的常见级别及含义,如下所示:
RAID 0 striping条带方式,提高单盘吞吐率RAID 1 mirroring镜像方式,提高可靠性RAID 5有奇偶校验RAID 10是RAID 1与RAID 0的结合
- 逻辑卷管理,如下所示:
- 逻辑卷和文件系统的关系
- 为
Linux创建逻辑卷 - 动态扩容逻辑卷
- 系统综合状态查询,如下所示:
- 使用
sar命令查看系统综合状态 - 使用第三方命令查看网络流量,
yum install epel-release、yum install iftop、iftop -P
Shell,如下所示:
Shell是命令解释器,用于解释用户对操作系统的操作Shell有很多,cat /etc/shellsCentOS 7默认使用的Shell是bash
Linux的启动过程,BIOS-MBR-BootLoader(grub)-kernel-systemd-系统初始化-shell。Shell脚本,如下所示:
UNIX的哲学,一条命令只做一件事- 为了组合命令和多次执行,使用脚本文件来保存需要执行的命令
- 赋予该文件执行权限
chmod u+rx filename
- 标准的
Shell脚本要包含哪些元素,如下所示:
Sha-Bang- 命令
'#'号开头的注释chmod u+rx filename可执行权限- 执行命令,
bash ./filename.sh、 ./filename.sh、source ./filename.sh、 .filename.sh
- 内建命令和外部命令的区别,如下所示:
- 内建命令不需要创建子进程
- 内建命令对当前
Shell生效
- 管道与管道符,如下所示:
- 管道和信号一样,也是进程通信的方式之一
- 匿名管道,也是管道符,是
Shell编程经常用到的通信工具 - 管道符是
'|',将前一个命令执行的结果传递给后面的命令,如ps | cat、echo 123 | ps
- 重定向符号,如下所示:
- 一个进程默认会打开标准输入、标准输出、错误输出三个文件描述符
- 输入重定向符号
'<',如read var < /path/to/a/file - 输出重定向符号
'>' '>>' '2>' '&>',如echo 123 > /path/to/a/file - 输入和输出重定向组合使用,
cat > /path/to/a/file << EOF、I am $USER、EOF
- 变量的定义,变量名的命名规则,如下所示:
- 字母、数字、下划线
- 不以数字开头
- 变量的赋值,为变量赋值的过程,称为变量替换,如下所示:
- 变量名=变量值,如
a=123 - 使用
let为变量赋值,如let a=10+20 - 将命令赋值给变量,如
l=ls - 将命令结果赋值给变量,使用
$()或者``,如letc=$(ls -l /tec) - 变量值有空格等特殊字符可以包含在 ‘’ 中
- 变量的引用,如下所示:
${变量名}称作对变量的引用echo ${变量名}查看变量的值${变量名}在部分情况下可以省略为$变量名
- 变量的作用范围,如下所示:
- 变量的默认作用范围
- 变量的导出,
export - 变量的删除,
unset
- 系统环境变量,如下所示:
- 环境变量,每个
Shell打开都可以获得到的变量,set和env命令、$? $$ $0、$PATH、$PS1 - 位置变量,
$1 $2 ... $n
- 环境变量配置文件,配置文件
/etc/profile、/etc/profile.d/、~/.bash_profile、~/.bashrc、/etc/bashrc。
本文详细介绍了Linux系统的各种管理任务,包括GRUB配置、进程管理、进程通信、守护进程、服务管理、SELinux安全、内存与磁盘管理、文件系统与分区、Shell脚本编写、系统监控等核心概念和实用技巧,是Linux运维人员的必备知识。

496

被折叠的 条评论
为什么被折叠?



