一.linux 历史介绍
1.什么是linux? 操作系统
2.linux应用场景?
3.linux历史(GNU)?
open source free 开源不等于免费
GPL协议 ,通用公共许可协议
4.linux的发行版本
企业版:linux内核 +redhat工具=操作系统
社区版:centOs --->有任何问题自行解决
5.到底要不要考证书(华为证书认证)
RHCSA
RHCE
RHCA
二.安装linux操作系统
1.直接在物理机上安装(不采取)
2.VMware虚拟化产品(收费)
3.安装centos7系统 手动装机
4.自动化装机 --->网络形式装机--->cobbler
5.使用xshell 远程连接系统
三.linuxbash基础
1.什么是bash shell ? 命令解释器
2.bash能做什么? 权限管理....
3.bash使用的两种方式?
单挑命令的执行(效率低)
脚本方式 (效率高)
4.bash提示符
[root@test ~]#
root 当前登录的用户
test 当前系统的主机名称
超级管理员
~ 当前用户的家目录
5.bash 的基础用法
命令 指令(打针)
选项 重点还是轻点
参数 往哪里打 --->选项和参数控制指令的输出
6.bash补全
命令补全
路径补全
选项补全
7.bash快捷键
ctrl +a ,ctrl +l ,ctrl +c,ctrl +-><-键
8.bash history 历史记录
9.bash别名 alias unalias
10.bash 命令执行操作
检查命令是否通过绝对路径执行-->检查命令是否存在别名-->检查是内核还是外核--->检查$path缓存---->有就执行,没有就报错
11.bash 的帮助手册
man 和help
四.linux的目录结构
1.linux的系统组织结构
2.如何定位文件所在的路径
a.绝对路径,只要是以/ 开始的都是绝对路径
相对路径,只要不以/ 开始的路径都算相对路径,或者以当前路径出发的路径
b. .和.. 当前目录和当前目录的上级目录
c. 包含基础的命令: cd pwd ls
d.基础命令 mkdir touch cp mv rm
五.linux的 文件管理
1.文件管理
mkdir
touch
tree
cp
mv
rm
2.文件查看
cat tac
head
tail
less
more
3.文件筛选
grep -i -v -n -A -B -C ^ $
egrep=grep -E
4.文件处理
cut 取列
sed 替换 ,匹配
awk 取列 匹配
5.文件排序
sort uniq 筛选需要的目标后进行统计
wc 直接统计文件的行数
6.上传,下载
wget(下载) curl (浏览)
rz(上传) sz(下载) xftp
六.linux文件编辑
1.普通模式 gg G D dd yy p u r
2.编辑模式 i a o O
- 命令模式 :wq :x
4.视图模式 ctrl+v shift+v
七.linux用户管理
1.用户有什么用?
登录系统
每个程序需要不同的用户登录
2.用户相关的配置文件
/etc/passwd
/etc/shadow
3.用户命令
useradd
usermod
userdel
id
passwd
4.用户创建流程
/etc/login.defs /etc/default/useradd
创建用户时默认文件
5.组命令( 逻辑概念)
组的配置文件 /etc/group /etc/gshadow
groupadd
groupmod
groupdel
6.普通用户在操作时权限不够时,
升官 su 需要root密码 不够安全 无法追溯
提权 sudo 事先由root分配好权限 普通用户直接使用
7.修改配置文件(给用户分配权限) visudo /etc/sudoers
针对系统用户 针对系统组 针对 sudo的别名机制
8.登录shell和非登录shell (交互式和非交互式)
八.linux 权限管理
1.权限就是限制用户能够以什么样的方式访问一个文件
2.权限中的rwx 有什么用 r 读 4 w 写 2 x 执行 1
常见的文件属性 644 600 640
目录常见的属性 755
3.基础权限
修改权限 chmod -R
变更属主和属组 chown
对一个目录下的文件进行操作,取决于目录下的文件本身的属性
但如果要删除该文件,则需要看该文件的上级目录是否具有w权限
4.sudo: 先分配命令的权限,用户执行该命令时会直接调用root
suid :用户执行特殊命令时,会以该命令的属主执行
5.默认权限 umask
表示要减去的权限
文件 644
目录 755
九. linux输入输出
1.标准输入 0 ---->/dev/stdin
2.标准输出 1 --->/dev/stout
3.错误输出 2 --->/dev/stderr
4.管道技术 连接左右两端,将左端的输出作为右端的输入
tee 三叉管道 ,管道正常连接左右端时,使用tee 截取一份结果到目录文件夹
十.linux文件查找
1.文件太多,需要按照条件查找
2.查找语法 find 文件目录 条件 动作
名称 : -name 大小 -size 修改时间 -mtime 类型 -type f(文件) d(目录)
用户 -user 组 -group -nouser -nogroup
动作 -delete 删除文件
-exec rm -f {} ; 可以删除目录,文件等
xargs 将查找的结果作为后者的命令的输出
3.逻辑运算符
-a 和 两个条件都满足 ,默认
-o 或 两个条件满足一个即可
! 取反
十一.linux打包管理
压缩 gzip name 让一个文件快速失效(注释)
zip 为了让linux和windows 互通
zip -r 压缩包名称 需要压缩的内容
unzip 压缩包名称 -d 制定解压只那个位置
tar 归档 通常开源的源码包都是.tar.gz结尾的
打包并压缩 tar czf 压缩包名称(自己取名.tar.gz) 需要压缩的内容
解压压缩包 tar xf 压缩包名称
查看压缩包 tar tf 压缩包名称
解压至指定位置 tar xf 压缩包名称 -C指定解压的位置
例子:tar czf test2.tar.gz (...) 先执行()里的内容
写法二:find ./ -type f -name "test-*" | xargs tar czf test.tar.gz
用xargs 管道连接左右
十二.linux软件管理
yum 工具
仓库
1.本地仓库:a.镜像中的软件包非常旧
b.镜像中的软件包非常少
c.每台机器使用都需要挂载镜像
- 共享仓库:
3.网络仓库
4.源码工具
a ../configure自定义组件
十三.linux磁盘管理
1.硬盘使用来存储数据的,存储至 盘面,正反两面,盘面上有金属颗粒;磁盘;柱面,寻道时间
2.基本分区 fdisk gdisk
mkfs 格式化
3.磁盘阵列 RAID 0 ,RAID 1 RAID 5 RAID 10
十四.linux进程管理
hdparm 测磁盘的速度 hdparm -t 磁盘读取速度
hdparm -T 磁盘下载速度
2.平均负载:单位时间的活跃进程数
正在运行的
正在排队的
不可中断
负载高于cpu 没有绝对关系
cpu密集型 ,负载与cpu 使用率一致(打包 ,视频转码)
IO 密集型 负载高于cpu使用率没关系(数据库服务)
多进程占据 大量的进程会造成cpu使用率过高,负载也会高
3.软中断和硬中断
中断的必要性 :提高系统处理的效率
为什么有硬中断和软中断?
硬中断: 硬件自身中断请求,网卡中断,接受网络数据放至内存,然后通知内核,数据包接收完毕,回到原来的操作继续处理任务
软中断,由内核将内存的数据包写入键盘
十五.linux系统服务
1.开机启动流程 c6 c 7
contos7 启动流程
1.bios检查硬件信息
2.读取磁盘mbr
3.加载内科kernel /boot/kernel
4.启动第一个进程 systemd
5.systemd 读取运行级别 /etc/systemd/system/default.target
6.并行的加载服务(被设为开机自启)
7.启动getty,等待用户连接
2.systemd 介绍和使用
1.启动服务快
2.没有脚本管理启动服务
3.关机,只关闭已启动的程序
4.如何使用 systemd start ;restart; restart
3.单用户模式 (面对实体硬件,直接登录的一种超级用户)
1.忘记密码
2.修改错误配置文件
3.误修改 sudo权限(生产案列)
4.救援模式
1.内核误删除
2.grub引导丢失
3.系统崩溃,需要拷贝数据
十六.linux定时任务
1.定时任务的各部分的含义
* * *
分 时 日 月 周
crontab -e 编辑新的定时任务
crontab -l 查看定时任务
crontab -r 删除定时任务
crontab -u 制定某个用户
2.crond编写思路
1.手动执行命令,然后保留执行成功的结果。
2.编写脚本
脚本需要统一路径/scripts
脚本内容复制执行成功的命令(减少每个环节出错几率)
脚本内容尽可能的优化, 使用一些变量或使用简单的判断语句
脚本执行的输出信息可以重定向至其他位置保留或写入/dev/null
3.执行脚本
使用bash命令执行, chmod +x 目标脚本 防止脚本没有增加执行权限(/usr/bin/bash)
执行脚本成功后,复制该执行的命令,以便写入cron
4.编写计划任务
加上必要的注释信息, 人、时间、任务
设定计划任务执行的周期
粘贴执行脚本的命令(不要手敲)
5.调试计划任务
增加任务频率测试
检查环境变量问题
检查crond服务日志
十七.linux网络管理