知识介绍:
系统基础: 系统管理、服务安全及服务管理、Shell脚本;
MySQL: cache & storage
集群: Cluster lb:4layer、7layer ha
分布式: zookeeper/分布式文件系统
虚拟化技术:xen kvm
Openstack: IAAS云;
运维工具: ansible puppet(ruby), saltstack(python)
监控工具: zabbix
大数据处理: hadoop spark, storm elk: elasticsearch, logstash, kibana
docker:
Python:
OS及Linux基础知识
计算机五大部件:运算器、控制器、存储器、输入设备、输出设备
组成部分: CPU、总线、memory: 编址存储设备、IO:磁盘、网卡、键盘、鼠标
CPU指令集:特权指令:
OS运行特权指令;普通指令:
OS: Operating System功用:
软件程序、通用目的(硬件驱动、进程、内存、网络、安全管理)、提供系统调用
系统调用:把应用程序请求传给内核,调用相应的的内核函数处理,将处理结果返回给应用程序。
编程层次:硬件规格:hardware specifiacation
系统调用:
库调用:library call
CPU架构类型:x86、x64、arm、m68k、power、powerpc、ultrasparc、alpha、安腾
Unix:System (Bell Lab): AIX(IBM) 、Solaris(SUN)、HP-UX(HP)
BSD: (BSRG)Berkeley System Distribution: NetBSD 、OpenBSD、FreeBSD
MIT:Richard Stallman GNU: GNU is Not Unix;GPL:General Public License
编程语言
程序运行模式:
用户空间:user space
内核空间:system space 作用:隔离提高系统稳定性。
POS: Portable Operating System最初开发 POSIX 标准,是为了提高 UNIX 环境下应用程序的可移植性。
API: Application Programming Interface 应用编程接口 定义源代码和库之间的接口,可在支持这个API的任何系统中编译
ABI: Application Binary Interface 应用二进制接口 定义目标文件的二进制格式、程序库规范等
运行程序格式:
Windows: EXE, dll(dynamic link library)
Linux: ELF, so(shared object)
程序:指令(只读)+数据(读写) 算法+数据结构
编程语言:
汇编语言:微码编程 系统中某些与硬件相关的特有代码、驱动程序开发;
高级语言C, C++: 系统级应用、驱动程序
高级应用java, python, php: 应用程序
Linux的发行版:
slackware:-->suse-->opensuse
debian:-->ubuntu-->mint
redhat: rhel:18个月发行一个新版本
CentOS:兼容rhel的格式
fedora:每6个月发行一个新版本
ArchLinux
Gentoo
LFS: Linux From scratch
Android: kernel+busybox+java虚拟机
各种开源协议的具体细节?GPL, LGPL, Apache, BSD
修改后开源
GPL许可证 新增代码采用同样许可
Mozilla许可证 修改之处提供说明
LGPL许可证 无
修改后可以闭源
apache许可证 修改后必须放置版权说明
BS许可证 不可用自己名字促销
MIT许可证
程序包管理器:rpm:RHEL, Fedora, S.u.S.E, CentOS
dpt:Debian, Ubuntu
自由软件:自由使用;自由学习和修改;自由分发;自由创建衍生版;
Linux的哲学思想:
1、一切皆文件;把几乎所有资源,包括硬件设备都组织为文件格式;
2、由众多单一目的小程序组成;一个程序只实现一个功能,而且要做好;组合小程序完成复杂任务;
3、尽量避免跟用户交互;目标:实现脚本编程,以自动完成某些功能;
4、使用纯文本文件保存配置信息;目标:一款使用的文本编程器即能完成系统配置工作;
如何获取CentOS的发行版:
http://mirrors.aliyun.com
http://mirrors.sohu.com
http://mirrors.163.com
Linux系统基础使用入门
物理终端:直接接入本机的显示器和键盘设备;/dev/console
虚拟终端:以软件方式提供的虚拟实现的终端,图形终端;CentOS6默认启动6个虚拟终端
Ctrl+Alt+F#:[1,6] 设备文件:/dev/tty#
模拟终端:图形界面下打开的命令行,ssh或telnet等远程打开的界面
设备文件:/dev/pts/# [0,oo)
交互式接口:启动终端后,在终端设备附加一个交互式应用程序
GUI: Graphic User Interface 图形用户接口
X protocol, window manager, desktop 【GNOME(C,gtk),KDE(C++,qt),XFCE(轻量级桌面)】
CLI: Command Line Interface 命令行接口
shell程序:sh (bourn) csh tcsh ksh (korn) bash (bourn again shell), zsh
登录: # startx &
查看当前终端类型: # tty
显示当前使用的shell: # echo ${SHELL}
显示系统支持的所有shell: # cat /etc/shells
命令提示符:prompt # echo ${PS1}
区别内部或外部命令: # type COMMAND
在shell中可执行的命令有两类:
内建命令: shell自带的
外部命令: 有对应的可执行文件; 查看which,whereis
命令格式: COMMAND [OPTIONS...] [ARGUMENTS...]
选项:用于启用或关闭命令的某个或某些功能;
短选项:-c, 例如:-l, -h 多选项联合使用,例如-l -h, 可写作-lh;
长选项:--word,例如:--long, --human-readable
参数:命令的作用对象:向命令提供数据;
注意:1、多选项,以及多参数和命令之间都应该使用空白字符分隔
2、取消命令执行:Ctrl+c
文件系统:
C:\Program files\office11\word\word.exe
/etc/sysconfig/network-scripts/ifcfg-eth0
文件有两类数据:
元数据:metadata
数据:data
1、文件名严格区分字符大小写;file1, File1, FILE1是不同的文件;
2、文件名可使用除/以外的任意字符,不建议使用特殊字符;
/: 根目录,路径分隔符;
3、文件名长度最长不能超过255个字符;
4、所以.开头的文件,均为隐藏文件;
路径:
绝对路径:从根目录起始的路径;
相对路径:对当前位置起始的路径;
当前位置的表示方式:
(1) ./: ./sysconfig/network-scripts
(2) 省略上述符号: sysconfig/network-scripts
..:表示当前目录的上一级目录
当前目录:current directory, 也称作working directory;
pwd: printing working directory
LSB: Linux Standard Base
命令总结:ls, cd, type, tty, cat, which, whereis, pwd, echo