Linux基础-by-Xuliangwei
1.linux历史介绍
1.什么是Linux? 操作系统
2.linux应用场景?
3.linux历史 (GNU)?
copyleft 无版权
open source free 开源不等于免费
GPL协议 通用公共许可协议
4.linux发行版本?
企业版: 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文件管理
文件管理
mkdir
touch
tree
cp
mv
rm
文件查看
cat tac
head\tail
less\more
文件筛选
grep -i \ -v \-n \-ABC ^ $
egrep=grep -E
文件处理
cut 取列
sed 替换 | 匹配
awk 取列 | 匹配
文件排序
sort\uniq 筛选需要的目标后进行统计
wc 直接统计文件的行数
上传下载
wget\curl
rz\sz\xftp
6.linux文件编辑
编辑工具三种模式
普通模式 双击打开文件
编辑模式 编写文档
命令模式 编写后的保存
普通模式 gg\G\D\dd\yy\p\\u\r
编辑模式 i\a\o\O
命令模式 : :wq :x :set nu :%s###g
视图模式 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的别名机制
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 两个条件同时满足,默认 女 15-22
-o 两个条件满足一个即可 女 20
! 该条件取反 ! 女
11.linux打包管理
gzip 让一个文件快速失效( 注释 )
压缩 gzip name
解压 gzip -d
查看zcat
zip 为了能让windows和linux互通
zip -r 压缩包名称 需要压缩的内容
unzip 压缩包名称 -d 指定解压的位置
tar 通常开源的源码包都是tar
打包并压缩 tar czf 压缩包名称 需要压缩的内容
解压压缩包 tar xf 压缩包名称
查看压缩包 tar tf 压缩包名称
解压至指定位置 tar xf 压缩包名称 -C 指定解压的位置
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软件管理
rpm包工具
安装-ivh
卸载-e
升级-Uvh
查看-qa\-qc\-ql\-qf
yum工具
安装
卸载
升级
查看
搜索
仓库
本地仓库
共享仓库
网络仓库
源码工具
./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进程管理
生命周期
查看进程 ps\top
cpu使用率\内核使用率\wait等待
硬中断\软中断\st
管理进程 kill\killall\pkill
进程优先级 nice renice
后台进程 screen
中断
1.为什么要有中断?
提高系统处理的效率.
2.为什么要硬中断,软中断?
硬中断, 硬件自身中断请求, 网卡中断,接受网络数据包存放至内存,然后通知内核,数据包接受完毕, 网卡回到原来的操作继续处理任务.
软中断,由内核将内存的数据包写入硬盘.
平均负载
单位时间的活跃进程数?
正在运行
正在排队
不可中断
负载高于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定时任务
crond定时任务
crond编写方式 * * * * * 分时日月周 * - / ,
crond编写思路
crond故障面试
误删可以通过/var/log/cron恢复,非常的麻烦
crond存放的位置 /var/spool/cron/{Username}
linux网络管理
IP地址\子网掩码\网关\DNS
OSI\TCP\静态路由\iptables\arp\wireshark
linux配置网络IP地址\掩码\网关\DNS\路由
NAT SNAT\DNAT\端口映射\上网行为管理