Linux操作系统的知识体系:
1、初级 2、中级 3、高级 4、*额外知识*
1、初级
1.1、OS操作系统的原理
1.2、开始了解常用的命令(系统管理的基础命令)
开机关机
时间管理 date cal clock hwclock
ls cd pwd ....
1.3、目的结构、目的管理
树形结构 tree
cd : . .. ~ -
1.4、文件管理、文件查找、文件属性
1.5、用户与用户组的管理
su sudo
acl
0077 770
1.6、磁盘管理
文件系统原理
fdisk -- parted
LVM
RAID
1.7、Linux的网络管理
网络知识
ip
ping
netstat
ss
ifconfig
ifup / ifdown
route
...
1.8、*进程管理*
进程管理:1、进程 线程
2、进程 程序
3、普通进程 与 守护进程
。。。
ps pstree
top
uptime
vmstat
htop
...
1.9、iptables -- firewall
四表五链
四表:filter nat mangle raw
五链:prerouting input forward output postrouting
1、初级 2、中级 3、高级 4、*额外知识*
1、初级
1.1、OS操作系统的原理
1.2、开始了解常用的命令(系统管理的基础命令)
开机关机
时间管理 date cal clock hwclock
ls cd pwd ....
1.3、目的结构、目的管理
树形结构 tree
cd : . .. ~ -
1.4、文件管理、文件查找、文件属性
1.5、用户与用户组的管理
su sudo
acl
0077 770
1.6、磁盘管理
文件系统原理
fdisk -- parted
LVM
RAID
1.7、Linux的网络管理
网络知识
ip
ping
netstat
ss
ifconfig
ifup / ifdown
route
...
1.8、*进程管理*
进程管理:1、进程 线程
2、进程 程序
3、普通进程 与 守护进程
。。。
ps pstree
top
uptime
vmstat
htop
...
1.9、iptables -- firewall
四表五链
四表:filter nat mangle raw
五链:prerouting input forward output postrouting
2、中级
2.1、shell脚本开发 (Python)
bash的特性 逻辑语句 变量 文本处理三剑客
2.2、nfs(rpc) smb ftp tftp iscsi
2.3、dns服务
2.4、telnet openssh openssl
2.5、httpd(http协议)
2.5、LAMP -- MySQL(*可以单独学习*)
2.6、nginx(网站引用模块)
2.7、网站缓存的相关知识!!!
2.8、其他的服务 dhcp ...
2.1、shell脚本开发 (Python)
bash的特性 逻辑语句 变量 文本处理三剑客
2.2、nfs(rpc) smb ftp tftp iscsi
2.3、dns服务
2.4、telnet openssh openssl
2.5、httpd(http协议)
2.5、LAMP -- MySQL(*可以单独学习*)
2.6、nginx(网站引用模块)
2.7、网站缓存的相关知识!!!
2.8、其他的服务 dhcp ...
3、高级
3.1、集群 1、基于应用层的集群 heartbeat + nginx反向代理
HA RHCS ....
2、三层和四层 keepalived + lvs
3.1、集群 1、基于应用层的集群 heartbeat + nginx反向代理
HA RHCS ....
2、三层和四层 keepalived + lvs
3.2、虚拟化 -- 云计算
1、Xen
2、Kvm -- oVirt
3、Openstack
4、Docker -- K8S (平台自动化运维--docker的集群化管理)
1、Xen
2、Kvm -- oVirt
3、Openstack
4、Docker -- K8S (平台自动化运维--docker的集群化管理)
3.3、大数据
1、hadoop集群
HDFS 分布式集群文件系统 -- 海量数据存储的问题
map-reducer 来解决数据初步处理的问题(我们需要通过MR将海量数据装换为KV结构)
JAVA
2、ELK ES
海量数据(日志)处理系统
1、hadoop集群
HDFS 分布式集群文件系统 -- 海量数据存储的问题
map-reducer 来解决数据初步处理的问题(我们需要通过MR将海量数据装换为KV结构)
JAVA
2、ELK ES
海量数据(日志)处理系统
4、其他内容
4.1、监控平台
zabbix
后端数据处理与存储 | zabbix平台 | 前端数据显示
共享存储、数据 平台 PHP前端模块
4.1、监控平台
zabbix
后端数据处理与存储 | zabbix平台 | 前端数据显示
共享存储、数据 平台 PHP前端模块
cacti
nagios
nagios
4.2、自动化运维
ansible
puppet
saltstack
...
4.3、Python开发
ansible
puppet
saltstack
...
4.3、Python开发
系统基础
系统基础:
1、三大部件
CPU : 运算器 控制器 存储器
1+1=2 times space
中断
内存:CPU的数据,只能从内存读取,且内存数据是易失性(页面 page)
IO:控制总线 数据总线(一个IO,开发人员的叫法)
1、三大部件
CPU : 运算器 控制器 存储器
1+1=2 times space
中断
内存:CPU的数据,只能从内存读取,且内存数据是易失性(页面 page)
IO:控制总线 数据总线(一个IO,开发人员的叫法)
2、OS原理
见图
注意:操作系统是什么?
3、OS的管理
GUI - 图形 GNOME KDE XFCE
CLI - 命令行管理界面 shell
常见的shell程序
sh -- bash
csh
tcsh
ksh
zsh
cat /etc/shells
4、调用
system call
api
5、操作系统的历史知识
见博客
见图
注意:操作系统是什么?
3、OS的管理
GUI - 图形 GNOME KDE XFCE
CLI - 命令行管理界面 shell
常见的shell程序
sh -- bash
csh
tcsh
ksh
zsh
cat /etc/shells
4、调用
system call
api
5、操作系统的历史知识
见博客
6、开源体系
GNU -- GPL
宽松的GPL协定
Apache
BSD
GNU -- GPL
宽松的GPL协定
Apache
BSD
7、Linux的常见发行商版本
基础命令
命令基础
1、命令的用法
基本格式 :
命令 选项 操作对象
*扩展:
命令 子命令 选项 操作对象
qemu-kvm create/pause/stop ...
docker
2、获取命令帮助
ring0 -- ring3
内置命令 -- 运行在ring0
外置命令 -- 运行在ring3
扩展:虚拟化 -- ring -1 ring 0 -- ring 3 -- 硬件辅助虚拟化(intel vt-x amd xxx)
基本格式 :
命令 选项 操作对象
*扩展:
命令 子命令 选项 操作对象
qemu-kvm create/pause/stop ...
docker
2、获取命令帮助
ring0 -- ring3
内置命令 -- 运行在ring0
外置命令 -- 运行在ring3
扩展:虚拟化 -- ring -1 ring 0 -- ring 3 -- 硬件辅助虚拟化(intel vt-x amd xxx)
1、
内置命令
help 命令
外置名利
命令 --help / -h
2、man -- manual手册
/usr/share/man... 所有的帮助手册都是一个压缩文件
1 -- 8 个级别
每个级别对应的内容是不想同,而各个命令有可能只中一个或几个的帮助内容;
1:表示用户命令 -- 一些普通用户的命令的使用格式或参数用法;
2:表示系统调用 -- 查命令关联的system call
3:库调用 -- 命令相关的库文件
4:特殊文件(设备文件)
5:文件格式(配置文件的语法)
6:游戏
7:杂项(Miscellaneous)
8:管理命令(/sbin,/usr/sbin,/usr/local/sbin)只有管理员才有权限使用的命令,因为它们能修改硬件设备参数;
内置命令
help 命令
外置名利
命令 --help / -h
2、man -- manual手册
/usr/share/man... 所有的帮助手册都是一个压缩文件
1 -- 8 个级别
每个级别对应的内容是不想同,而各个命令有可能只中一个或几个的帮助内容;
1:表示用户命令 -- 一些普通用户的命令的使用格式或参数用法;
2:表示系统调用 -- 查命令关联的system call
3:库调用 -- 命令相关的库文件
4:特殊文件(设备文件)
5:文件格式(配置文件的语法)
6:游戏
7:杂项(Miscellaneous)
8:管理命令(/sbin,/usr/sbin,/usr/local/sbin)只有管理员才有权限使用的命令,因为它们能修改硬件设备参数;
whatis 命令
查看命令所支持的man级别类型;
查看命令所支持的man级别类型;
User Commands -- 用户命令
NAME -- 名字;一般显示这个命令的功能
synopsis -- 概要 ; 命令的用法
DESCRIPTION -- 描述;该命令的各种参数,及其解释;
AUTHOR -- 作者;
COPYRIGHT -- 版权;发型版本的信息
SEE ALSO -- 查看其他信息
man 调用的more来进行文件查看
1、/内容 -- 默认向下查找制定内容
2、?内容 -- 默认向上查找指定内容
n 下一个
N 上一个
NAME -- 名字;一般显示这个命令的功能
synopsis -- 概要 ; 命令的用法
DESCRIPTION -- 描述;该命令的各种参数,及其解释;
AUTHOR -- 作者;
COPYRIGHT -- 版权;发型版本的信息
SEE ALSO -- 查看其他信息
man 调用的more来进行文件查看
1、/内容 -- 默认向下查找制定内容
2、?内容 -- 默认向上查找指定内容
n 下一个
N 上一个
3、查看info信息
/usr/share/doc/ 。。。
存放了命令的帮助文档(和文件的来源于历史有关)
一般不看
/usr/share/doc/ 。。。
存放了命令的帮助文档(和文件的来源于历史有关)
一般不看
4、安装第三方软件
README
README
5、百度谷歌
3、系统基础命令
3.1、PATH 环境变量
echo $PATH
3.2、常用命令
Date clock hwclock Cd pwd ls stat Cat tac file
date 查看系统时钟
在文件命令的经常使用
%字母
%F 2019-08-26
%D 08/26/19
%H
%M %m
%S
clock hwclock 硬件时钟 cal
hwclock -s //将系统时钟与硬件时钟进行同步,同步成硬件时钟
扩展:ntp服务器
yum install ntp
去修改 /etc/ntp.conf文件,实现客户端与服务器端的时间同步;
cd pwd
目录: . .. ~ -
PWD OLDPWD
basename
dirname
ls
它涉及到很多文件属性信息
-i inode 信息 (文件系统有关)
-l 文件类型 文件权限(所属主 所属组 other 特殊权限位) 硬链接数 所属主 所属组 文件(目录)大小 Mtime 文件名(目录名)
- 普通文本文件
d 目录文件
l 软连接文件 ---------------------------------------------------------------------------------被连接文件的字符长度
s(套接字文件)--------------------------------------------------------------------------------------主设备号 次设备号
b 块设备文件-----------------------------------------------------------------------------------------主设备号 次设备号
c 字符设备文件文件 流设备文件
p 管道文件
file 去查看文件的具体文件类型
普通的文本文件 ASCII 文件
stat 查看文件时间信息
touch -C
cat tac
查看文件内容
cat结合重定向可以多行输入
-n
3.1、PATH 环境变量
echo $PATH
3.2、常用命令
Date clock hwclock Cd pwd ls stat Cat tac file
date 查看系统时钟
在文件命令的经常使用
%字母
%F 2019-08-26
%D 08/26/19
%H
%M %m
%S
clock hwclock 硬件时钟 cal
hwclock -s //将系统时钟与硬件时钟进行同步,同步成硬件时钟
扩展:ntp服务器
yum install ntp
去修改 /etc/ntp.conf文件,实现客户端与服务器端的时间同步;
cd pwd
目录: . .. ~ -
PWD OLDPWD
basename
dirname
ls
它涉及到很多文件属性信息
-i inode 信息 (文件系统有关)
-l 文件类型 文件权限(所属主 所属组 other 特殊权限位) 硬链接数 所属主 所属组 文件(目录)大小 Mtime 文件名(目录名)
- 普通文本文件
d 目录文件
l 软连接文件 ---------------------------------------------------------------------------------被连接文件的字符长度
s(套接字文件)--------------------------------------------------------------------------------------主设备号 次设备号
b 块设备文件-----------------------------------------------------------------------------------------主设备号 次设备号
c 字符设备文件文件 流设备文件
p 管道文件
file 去查看文件的具体文件类型
普通的文本文件 ASCII 文件
stat 查看文件时间信息
touch -C
cat tac
查看文件内容
cat结合重定向可以多行输入
-n
其他常见的命令
who w whoami whereis whatis which
who w whoami 当前系统登录的用户信息
whereis
查看命令的绝对路径
查看man的帮助文档的路径
which
whatis
who w whoami whereis whatis which
who w whoami 当前系统登录的用户信息
whereis
查看命令的绝对路径
查看man的帮助文档的路径
which
whatis
shutdown halt reboot init 0 init 6 poweroff
shutdown now // 立刻关机
shutdown -r now //立刻重启
shutdown 17:00 // 在17点的时候关机
shutdown -r 17:00
shutdown +5 //在命令执行后 第5分钟关机
shutdonw -c //取消关机命令
明白:shutdown 调用的就是poweroff
halt -- halt是直接断电
poweroff -- 会对进程做检查在断电
reboot -- 重启
init 0 / init 6
shutdown now // 立刻关机
shutdown -r now //立刻重启
shutdown 17:00 // 在17点的时候关机
shutdown -r 17:00
shutdown +5 //在命令执行后 第5分钟关机
shutdonw -c //取消关机命令
明白:shutdown 调用的就是poweroff
halt -- halt是直接断电
poweroff -- 会对进程做检查在断电
reboot -- 重启
init 0 / init 6
目录结构与目录管理
Linux目录结构:
1、目录创建的规则
*FHS 文件系统层次化标准 *
指定了Linux操作系统,那些目录是一定要具备的
/boot /bin /sbin /etc /sys /proc /mnt /media /usr /option /var /home /root /tmp /dev
1、目录创建的规则
*FHS 文件系统层次化标准 *
指定了Linux操作系统,那些目录是一定要具备的
/boot /bin /sbin /etc /sys /proc /mnt /media /usr /option /var /home /root /tmp /dev
2、目录的结构
树形结构
/ -- rootfs 根文件系统
在系统启动后,硬盘需要被使用就需要有驱动程序,驱动程序在grub1.5阶段进行安装(此时 / --> ramdisk);
完成1.5阶段的磁盘驱动安装后,此时,就可以挂载真正的根文件系统;
而这个文件系统,就是我们在系统安装时,指定的根分区;这个分区,就叫做根文件系统;
有了根以后,其他的目录均在根下;
这种结构,我们就叫做树形结构;
树形结构
/ -- rootfs 根文件系统
在系统启动后,硬盘需要被使用就需要有驱动程序,驱动程序在grub1.5阶段进行安装(此时 / --> ramdisk);
完成1.5阶段的磁盘驱动安装后,此时,就可以挂载真正的根文件系统;
而这个文件系统,就是我们在系统安装时,指定的根分区;这个分区,就叫做根文件系统;
有了根以后,其他的目录均在根下;
这种结构,我们就叫做树形结构;
3、常见目录
/boot -- 存储启动程序,以及系统文件(可以单独分区)
/etc -- 默认的程序配置文件的目录
/etc/opt : 为安装在 /opt 目录下的软件程序的配置文件,现在用的不多
/etc/X11 : 在Linux下显示的图形界面 C/S 架构 11 是他的版本号 X 是协议,这是基本的图形显示规范;
/etc/sgml 网页标签语句
/etc/xml 网页标签语言
kvm http hadoop
<x>参数=值</x>
/bin /sbin -- 存放命令文件
/sys /proc -- 系统进程文件(伪文件目录,虚拟文件目录)
/mnt /media -- /mnt 挂载磁盘,长期需要挂载的设备文件挂载这个目录下 /media 临时的设备文件就挂载/media目录下面
/home /root -- 普通用户的家目录 root用户的家目录
/var 动态文件存放的地方(会随时被修改的文件) -- 日志
/var/log/ 专门用来存放日志
/tmp 临时目录文件,供所有用户来使用
在这个目录下的文件30天不被访问就会被自动删除
/option 用来存放第三方软件程序(现在很少使用)
/lib /lib64 库文件目录
/dev 设备文件目录
/usr/ 在Linux系统中另一个独立王国
/usr/bin
/usr/sbin
/usr/local 本地层级结构(安装完成后是空目录)取代了早起的 /opt 目录,第三方的程序都安装在这个目录下面;
/boot -- 存储启动程序,以及系统文件(可以单独分区)
/etc -- 默认的程序配置文件的目录
/etc/opt : 为安装在 /opt 目录下的软件程序的配置文件,现在用的不多
/etc/X11 : 在Linux下显示的图形界面 C/S 架构 11 是他的版本号 X 是协议,这是基本的图形显示规范;
/etc/sgml 网页标签语句
/etc/xml 网页标签语言
kvm http hadoop
<x>参数=值</x>
/bin /sbin -- 存放命令文件
/sys /proc -- 系统进程文件(伪文件目录,虚拟文件目录)
/mnt /media -- /mnt 挂载磁盘,长期需要挂载的设备文件挂载这个目录下 /media 临时的设备文件就挂载/media目录下面
/home /root -- 普通用户的家目录 root用户的家目录
/var 动态文件存放的地方(会随时被修改的文件) -- 日志
/var/log/ 专门用来存放日志
/tmp 临时目录文件,供所有用户来使用
在这个目录下的文件30天不被访问就会被自动删除
/option 用来存放第三方软件程序(现在很少使用)
/lib /lib64 库文件目录
/dev 设备文件目录
/usr/ 在Linux系统中另一个独立王国
/usr/bin
/usr/sbin
/usr/local 本地层级结构(安装完成后是空目录)取代了早起的 /opt 目录,第三方的程序都安装在这个目录下面;
4、目录的管理
4.1、绝对路径与相对路径的问题
4.2、目录的相关命令
mkdir -pv 同时创建多级目录
rmdir 只能删除空目录
rm -r //删除目录
4.1、绝对路径与相对路径的问题
4.2、目录的相关命令
mkdir -pv 同时创建多级目录
rmdir 只能删除空目录
rm -r //删除目录
tree -d 仅仅只显示目录文件
mv 可以修改目录名称
cp -R 可以复制目录文件
mv 可以修改目录名称
cp -R 可以复制目录文件