1.Linux历史介绍
- 1.什么是Linux?操作系统
- 2.linux应用场景
- 3.Linux历史
- copyleft 无版权
- open source free 开源不等于免费
- GPL协议 通过公共许可协议
- 4Linux发行版本
- 企业版:Linux内核+Redhat工具=操作系统
- 社区版 :CentOS 有问题自己解决
- 5考不考证书
- RHCSA
- RHCE
- RHCA
2.安装Linux系统
- 1.直接在物理机上安装
- 2.VMware 虚拟化产品
- 3.安装CentOS7 系统 手动安装
- 4.自动化装机 -->网络形式-->cobbler
- 5.使用Xshell远程连接系统
3.Linuxbash基础
- 1.什么是bash shell?命令解释器
- 2.bash能做什么
- 3.bash的使用方法
- 单条命令 效率低下
- 脚本方式 效率高
- 4.bash的提示符
- root 当前登陆系统的用户
- oldboy 当前系统的主机名
- "#" 当前使用的是超级管理员
- $ 当前用户是普通用户
- 5.bash的基础用法
- 命令 打针
- 选项 重点还是轻点
- 参数 往哪打
- 6.bash 补全方式
- 命令补全
- 路径补全
- 选项补全
- 7.bash 快捷键 ctrl+a\e\u\k\l\r\z\c\d
- 8.bash 历史记录 history
- 9.bash 别名操作 alias unalias
- 10.bash 命令执行流程
- 1.检查命令是否通过绝对路径执行
- 2.检查命令是否存在别名
- 3.检查是bash内核自带还是后期新增开发的
- 4.外置命令需要检查hash缓存
- 5.读取$PATH变量,通过PATH路径,查询是否存在该命令
- 6.如果不存在最后提示 command not found (真找不到|写错了|)
- 11.bash帮助方式 man help
4.linux目录结构
- 1.linux系统组织结构
- 2.定位文件所在路径
- 绝对路径
- 相对路径
- .和.. 区别
- 3.基础命令 cd pwd ls
5.linux文件管理
- 1.文件管理
- mkdir
- touch
- tree
- cp
- mv
- rm
- 2.文件查看
- cat tac
- head\tail
- less\more
- 3.文件筛选
- grep -i \ -v -n -ABC ^ $
- egrep=grep -E
- 4.文件处理
- cut 取列
- sed 替换 | 匹配
- awk 取列 | 匹配
- 5.文件排序
- sort\uniq 筛选需要的目标后进行统计
- wc 直接统计文件的行数
- 6.上传下载
- wget\curl
- rz\sz\xftp
6.linux文件编辑
- 1.编辑工具三种模式
- 普通模式 双击打开文件
- 编辑模式 编写文档
- 命令模式 编写后的保存
- 2.普通模式 gg\G\D\dd\yy\p\u\r
- 3.编辑模式 i\a\o\O
- 4.命令模式 : :wq :x :set nu :%s###g
- 5.视图模式 ctrl+v shift+v
7.linux用户管理
- 1.什么是用户?
- 2.用户有什么用?
- 登录系统
- 每个进程都需要一个对应的用户
- 3.用户相关的配置文件?
- /etc/passwd
- /etc/shadow
- 4.用户管理相关的命令?
- useradd
- usermod
- userdel
- id
- passwd
- 5.用户创建的流程?
- /etc/login.defs
- /etc/default/useradd
- 6.什么是组? 逻辑概念
- 7.组的配置文件?
- /etc/group
- /etc/gshadow
- 8.组的基本操作?
- groupadd
- groupmod
- groupdel
- 9.普通用户在操作一些指令时无权限?
- 升官 su
- 1.需要密码 (root)
- 2.不够安全
- 3.无法追溯
- 提权 sudo (借用root身份在操作)
- 1.前提: 事先由root分配好了对应的权限
- 2.普通用户直接使用
- sudo配置
- 针对系统用户
- 针对系统组
- 针对sudo的别名机制
- 升官 su
8.linux权限管理
- 1.什么是权限?
- 限制用户能够以什么样的方式访问一个文件?
- 2.权限与用户的关系?
- 3.权限中的rwx有什么用?
- r 读 4
- w 写 2
- x 执行 1
- 文件: 600 644 640
- 目录: 755 <--- 命令
- 4.修改权限? chmod \ -R
- 5.变更文件的属主和属组? chown\chgrp
- 6.对一个目录下的文件进行操作, 取决于这个目录下文件本身的属性.
- 7.但是如果要删除该文件,则需要查看该文件的上级目录是否存在w权限位
- 8.特殊权限
- suid 4000
- sgid 2000
- sbit 1000
- 9.默认权限umask
- 表示要减去的权限
- 为什么默认的目录是755,文件是644
- 777 -022 = 755
- 666 - 022 = 644
9.linux输入输出
- 1.标准输入 0 --->/dev/stdin
- 2.标准输出 1 ---->/dev/stout
- 3.错误输出 2 ----->/dev/stderr
- 4.管道技术 | tee
10.linux文件查找
- 1.为什么要使用查找?
- 2.查找的语法? find 位置 条件 动作
- 名称 -name-iname
- 大小 -size
- 类型 -type|f\d\l\b\c
- 时间 -mtime +7 -7 7
- 用户 -user -group -nouser -nogroup
- 动作
- -delete 删除文件
- -exec rm -f {} ; 可以执行任何command
- xargs 将查找的结果作为后者命令的参数
- 3.逻辑运算符
- -a 两个条件同时满足,默认
- -o 两个条件满足一个即可
- ! 该条件取反
11.linux打包管理
- 1.gzip 让一个文件快速失效( 注释 )
- 压缩 gzip name
- 解压 gzip -d
- 查看zcat
- 2.zip 为了能让windows和linux互通
- zip -r 压缩包名称 需要压缩的内容
- unzip 压缩包名称 -d 指定解压的位置
- 3.tar 通常开源的源码包都是tar
- 打包并压缩 tar czf 压缩包名称 需要压缩的内容
- 解压压缩包 tar xf 压缩包名称
- 查看压缩包 tar tf 压缩包名称
- 解压至指定位置 tar xf 压缩包名称 -C 指定解压的位置
- 4.find+tar组合方式
- find ./ -type f -name "test-*" | xargs tar czf test.tar.gz
- tar czf test2.tar.gz $(find ./ -type f -name "test-*")
12.linux软件管理
- 1.rpm包工具
- 安装-ivh
- 卸载-e
- 升级-Uvh
- 查看-qa-qc-ql-qf
- 2.yum工具
- 安装
- 卸载
- 升级
- 查看
- 搜索
- 仓库
- 本地仓库
- 共享仓库
- 网络仓库
- 3.源码工具
- ./configure自定义组件
- make 根据Makefile进行编译
- make install将安装程序拷贝至指定位置
13.linux磁盘管理
- 1.硬盘使用来存储数据?怎么存?
- 2.存储至盘面?
- 3.盘面: 存储数据?
- 4.磁道:
- 5.扇区
- 6.柱面:
- 磁盘接口类型IDE\SCSCI\SATA\SAS\SSD(msata|m.2)
- 磁盘热插拔 SATA\SAS都支持 IDE|SCSCI不支持
- 磁盘的转速 5400 7200 15000
- 基本的分区
- fdisk\gdisk
- mkfs
- mount\umount
- /etc/fstab lsblkid
- 磁盘的阵列
- RAID 0
- RAID 1
- RAID 5
- RAID 10
14.linux进程管理
- 1.生命周期
- 2.查看进程 ps\top
- cpu使用率\内核使用率\wait等待
- 硬中断\软中断\st
- 3.管理进程 kill\killall\pkill
- 4.进程优先级 nice renice
- 5.后台进程 screen
- 6.中断
- 1.为什么要有中断?
- 提高系统处理的效率.
- 2.为什么要硬中断,软中断?
- 硬中断, 硬件自身中断请求, 网卡中断,接受网络数据包存放至内存,然后通知内核,数据包接受完毕, 网卡回到原来的操作继续处理任务.
- 软中断,由内核将内存的数据包写入硬盘.
- 1.为什么要有中断?
- 7.平均负载
- 单位时间的活跃进程数?
- 正在运行
- 正在排队
- 不可中断
- 负载高于CPU有没有关系?w\uptime\top\mpstat\pidstat
- CPU密集型 负载与cpu使用率一致 (打包 视频转码)
- IO密集型 负载高于cpu使用率没关系 (数据库服务)
- CPU多进程 大量的进程会造成CPU使用率过高 (php-fpm进程)
- 单位时间的活跃进程数?
15.linux系统服务
- 1.开机启动流程
- 1.BIOS检查硬件信息
- 2.读取磁盘的MBR
- 3.加载内核Kernel /boot/kernel
- 4.启动第一个进程 systemd
- 5.systemd读取运行级别/etc/systemd/system/default.target
- 6.并行的加载服务( 被设定为开机自启的服务)
- 7.启动getty,等待用户连接
- 8.用户通过xshell远程登录系统
- 2.系统运行级别
- multi-user.target: analogous to runlevel 3
- graphical.target: analogous to runlevel 5
- systemctl get-default
- systemctl set-default TARGET.target
- 3.systemd介绍和使用
- 1.启动服务块
- 2.没有脚本管理启动服务
- 3.关机,只关闭已启动的程序
- 4.如何使用systemd start|restart|reload|stop|status|enable|disable
- 4.单用户模式 (面对实体硬件,直接登录的一种超级用户)
- 1.忘记密码
- 2.修改错误配置文件
- 3.误修改sudo权限?
- 5.救援模式 (系统无法启动)
- 1.内核误删除
- 2.grub引导丢失
- 3.系统奔溃,需要拷贝数据
16.linux定时任务
- 1.crond定时任务
- 2.crond编写方式 * * * * * 分时日月周 * - / ,
- 3.crond编写思路
- 4.crond故障面试
- 误删可以通过/var/log/cron恢复,非常的麻烦
- crond存放的位置 /var/spool/cron/{Username}