[关闭]
@zhangyy 2020-01-17T17:34:40.000000Z 字数 7866 阅读 145

第一章:Linux 运维系统基础介绍

运维基础系列

linux 运维系列

  1. 中级:
  2. 初级:系统基础
  3. 中级: 系统管理,服务安全服务管理,shell脚本
  4. 高级:
  5. mysql 数据库
  6. cache && storage
  7. 集群:
  8. cluster
  9. lb:
  10. 4 layer
  11. 7 layer
  12. 分布式:
  13. zookeeper
  14. 分布式文件系统
  15. 虚拟化技术:
  16. xen
  17. kvm
  18. Openstack: IaaS 云:
  19. 运维工具:
  20. ansible ssh key
  21. 基于目标状态:
  22. puppet (ruby)
  23. slatstack (python)
  24. 监控工具:
  25. zabbix
  26. 大数据处理
  27. hadoop
  28. sparkstorm
  29. 日志处理:
  30. flume ELK
  31. docker 容器虚拟化工具
  32. python 构建自动化运维工具
  33. 一万小时定律
  34. Linux 认证:
  35. redhat
  36. RHCSA
  37. RHCE
  38. RHCA
  39. -----------------------------------------------
  40. 培训:
  41. 加速知识获取过程:
  42. ------------------------------------------------

Vmware Workstation 的使用

  1. 现代计算机设备的组成部分:
  2. 运算器、控制器、存储器、输入设备、输出设备。
  3. cpu 运算器、控制器
  4. cpu 指令,指令集
  5. 特权指令: os 运行特权指令
  6. 普通指令: 应用常用的命令
  7. 程序员: 写程序去实现
  8. bus: 数据总线
  9. 控制总线
  10. 地址总线
  11. memory: 内存单元 编程存储设备
  12. read ahead 内存缓存
  13. IO: 与外部部件交互 性能交互设备
  14. 磁盘:
  15. 网卡:
  16. OS: operation System
  17. 软件程序
  18. 通用目的
  19. 硬件驱动
  20. 进程管理
  21. 内存管理
  22. 网络管理
  23. 安全管理
  24. System call
  25. syscall 系统调用
  26. 编程层次:
  27. 硬件规格: hardware specifiacation
  28. 系统调用:syscall
  29. 库调用: library call
  30. UI
  31. GUI : Graphic User Interface
  32. CLI : Command Line Interface
  33. ABI: Application Binary Interface
  34. API: Application Programming Interface
  35. 十二、cpu 架构类型:
  36. x86
  37. x64
  38. arm
  39. m68000,m68k
  40. power
  41. powerpc
  42. ultrasparc
  43. alpha
  44. 安藤
  45. 龙芯
  46. --------------------------------------------------------------
  47. 十三、操作系统(os
  48. windows
  49. unix
  50. Sysv (bell lab)
  51. aix (ibm)
  52. solaris (sun)
  53. hp-ux (hp)
  54. bsd (BSRG) Berkeley System distribution
  55. freebsd
  56. openbsd
  57. NetBsd
  58. linux UNIX like
  59. MIT : Richard Stallman
  60. GNU : GNU is Not Unix
  61. GPL: General Public License
  62. ----------------------------------------------------------------
  63. POS: Portable Operation System
  64. POSIX
  65. API: 编程接口
  66. 运行程序格式:
  67. windows: EXE ,DLL (dynamic link library)
  68. linux : ELF , SO (shared object)
  69. 程序: 指令+ 数据
  70. 指令: 只读
  71. 数据:读写
  72. 程序: 算法+数据结构
  73. 库调用: 系统调用、运行被调用的程序:
  74. malloc(),free()
  75. 编程语言:
  76. 汇编语言: 维码编程
  77. 系统中某些与硬件相关的特有代码,驱动程序开发
  78. 高级语言 c, c++
  79. 系统级应用,驱动程序
  80. 应用开发语言: JavaPythonphp
  81. Linux 的发行版
  82. slackware:
  83. suse
  84. opensuse
  85. suse linux
  86. debian
  87. ubuntu linux
  88. mint
  89. redhat
  90. rhel: redhat enterprise linux
  91. 18个月发行一个新版本
  92. Centos : 完全兼容RHEL的格式
  93. fedora 主要新软件的测试,每6个月发行一个新版本
  94. Archlinux
  95. Gentoo
  96. LFS: linux from scratch
  97. Android : kernel + busybox + jvm
  98. GUN:GPLv2,GPLv3 LGPL (lesser)
  99. Apache:apache
  100. BSD:bsd
  101. A: 1000,GPL
  102. B: 2000,20
  103. 问题1 Centos Linux 是什么关系? centos RHEL 是什么关系
  104. 问题2 各种开源协议的具体内容细节?
  105. GPL , LGPL ,Apache ,BSD
  106. 程序包管理器:
  107. rpm
  108. rhel ,fedora, centos suse
  109. dpt
  110. debian,ubuntu
  111. 自用软件:
  112. 1. 自由使用
  113. 2. 自由学习和修改
  114. 3. 自由分发 自由创建衍生版

linux 的哲学思想:

  1. 1. 一切皆文件
  2. 几户所有资源,包括硬件设备都组织为文件格式:
  3. 2. 由众多单一目的的小程序组成: 一个程序只实现一个功能,而且要做好:
  4. 组合小程序完成复杂任务
  5. 3. 尽量避免跟用户交互:
  6. 目标: 实现脚本编程,以自动完成某些功能
  7. 4. 使用纯文本文件保存配置信息:
  8. 目标: 一款使用的文本编辑器即完成系统配置工作
  9. 如何获取CentOS 发行版:
  10. http://mirrors.aliyun.com
  11. http://mirrors.sohu.com
  12. http://mirrors.163.com
  13. 终端:
  14. 用户与主机交互,必然用到的设备
  15. 物理终端: 直接接入本机的显示器和键盘设备:console
  16. 虚拟终端: 附加在物理终端之上的以软件方式虚拟实现的终端: CentOS 默认启动6个虚拟终端
  17. Ctrl + alt + fn : n (1--6)
  18. 设备文件路径:/dev/tty#
  19. 图行终端:附加在物理终端之上的以软件方式虚拟实现的终端,但额外会提供桌面环境
  20. 模拟终端: 附加在图形上命令行接口,基于ssh 协议或telnet协议 连接到Linux 都是 模拟终端
  21. 设备文件路径:/dev/pts/# [0,00]
  22. 查看当前的终端的命令: tty
  23. 交互式接口: 启动终端后,在终端设备附加一个交互式应用程序
  24. GUI:
  25. X protocol, windows manager,desktop
  26. Desktop :
  27. GNOME: (C ,GTK)
  28. KDE: (C++,QT)
  29. XFCE: (轻量级桌面)
  30. CLI:
  31. shell命令行工具窗口:
  32. sh (bourn)
  33. csh
  34. tcsh
  35. ksh (korn) --- 商业产品
  36. bash (bourn again shell),GPL
  37. zsh
  38. 显示当前使用的shell
  39. # echo $SHELL
  40. 显示Linux下的所有shell
  41. chsh --list
  42. cat /etc/shells
  43. -------------------------------------
  44. [root@flyfish01 ~]#
  45. [root@flyfish01 ~]: ps1
  46. # prompt:
  47. 管理员: #
  48. 普通用户: $
  49. 命令:
  50. 输入命令,回车
  51. 提请shell程序找到键入命令所对应的可执行程序或代码,并有其分析后提交给内核分配资源 将其运行起来
  52. 表现为一个或多个进程
  53. shell 中可执行的命令有两类
  54. 内建命令:由shell 自带的,而且通过命令形式提供:
  55. 外部命令:在当前系统的某文件系统路径下对应的可执行程序文件
  56. 外部命令: which whereis
  57. 区别内部命令+ 外部命令
  58. # type + 命令
  59. 运行命令:
  60. 命令格式:
  61. command [options......] [arguments....]
  62. 选项: 用于启用或关闭的命令的某项功能
  63. 短选项: -c , -h , -s 可以写作 --lh
  64. 长选项: --word,例如:--long ,--huamn-readable
  65. 参数: 命令的作用对象
  66. 向命令提供数据
  67. 注意:
  68. 1.多选项,以及多参数和命令之间使用空白字符分隔
  69. 2.取消命令执行:Ctrl+c
  70. 文件系统:
  71. C:\Program files\officell\work\word.exe
  72. /etc/sysconfig/network-script/ifcfg-eth0
  73. 文件有两种类型:
  74. 元数据: metadata
  75. 数据: data
  76. 1. 文件名严格区分字符大小写:file1,File1.FILE1 是不同的文件
  77. 2. 文件名可以使用除/以外的任意字符,不建议使用特殊字符
  78. /: 根目录,路径分隔符:
  79. 3. 文件名长度最长不超过255个字符
  80. 4. 所有以.开头的的文件,都是隐藏文件
  81. 路径:
  82. 绝对路径: 从根目录起始的路径
  83. 相对路径: 从当前位置开始的路径
  84. 1)./: ./sysconfig/network-scripts
  85. (2) 省掉上述符号:sysocnfig/network-scripts
  86. ..: 表示上级目录
  87. 当前目录: current directory, 也称作 working directroy:
  88. pwd : printing working directory
  89. LSB: linux Standard Base
  90. 命令总结: ls , cd , type , tty , cat ,which whereis, pwd , echo
  91. 命令:
  92. 1)文件系统相关
  93. 目录管理
  94. 文件管理
  95. 文件查看
  96. 文件编辑
  97. (2) 系统管理相关

Linux命令帮助的获取

  1. 格式: COMMAND [OPTIOINOS...][ARGUMENTS....]
  2. 内部命令:
  3. # help COMMAND
  4. 外部命令:
  5. (1) # COMMAND --help
  6. # COMMAND -h
  7. (2) 使用手册(manual):
  8. #man COMMAND
  9. (3) 信息页:---支持超链接
  10. # info COMMAND
  11. (4) 程序自身的帮助文档
  12. README
  13. INSTALL
  14. ChangeLog
  15. (5) 程序官方文档
  16. 官方站点:Documentation
  17. (6) 发行版的官方文档
  18. (7) Google / baidu
  19. 内部命令帮助:
  20. # help COMMAND
  21. hash 命令:
  22. shell 搜索寻找到外部命令的路径结过会缓存至key-values 对存储当中
  23. history命令:
  24. 管理命令历史:
  25. 登录shell时,会读取命令历史文件
  26. 中记录下的命令:~/.bash_history
  27. 登录进shell后新执行的的命令会记录在缓存中:这些命令会永红退出时候“追加”至命令历史文件中
  28. history
  29. -a: 追加本次会话新执行的命令历史列表至历史文件中:
  30. -d:删除历史中指定的命令
  31. -c:清空历史命令
  32. 快捷键:
  33. !#: 调用历史命令#条命令
  34. string: 调用历史中最近一个一string 开头的命令
  35. !! : 重复上一条命令
  36. 外部命令帮助获取:
  37. (1) COMMAND --help
  38. (2) man COMMAND
  39. 手册页:/usr/share/man
  40. man1....man8
  41. man1: 用户命令
  42. man2: 系统调用
  43. man3: C库调用
  44. man4: 设备文件及特殊文件
  45. man5: 配置文件格式
  46. man6: 游戏
  47. man7: 杂项
  48. man8: 管理类的命令
  49. man 命令的配置文件: /etc/man.config
  50. MANPATH /PATH/TO/SOMEWHERE: 指明新的手册文件搜索位置
  51. #man -M /PATH/TO/SOMEWHERE COMMAND : 到指定位置下搜索COMMAND 命令的手册页
  52. 注意: 有些关键字在不止一个章节在存在帮助中手册: man # COMMAND
  53. 帮助手册中的段落说明:
  54. NAME
  55. SYNOPSIS
  56. DESCRIPTION
  57. OPTIONIS
  58. EXAMPLES
  59. AUTHOR
  60. REPORTING BUGS
  61. SEE ALSO
  62. SYSNOPSIS:
  63. []: 可选内容
  64. <>: 必选内容
  65. a|b: 二选一
  66. ...: 同一内容可出现多次
  67. man 命令的操作方法
  68. space / ^f ^F ^v ^F : 向文件尾部翻屏
  69. b, ^B : 向文件头部翻屏
  70. d, ^D : 一次翻半屏
  71. u, ^U : 向文件首部翻半屏
  72. ^N,e , ^E ,j ^J: 一次向尾部翻一行
  73. y,^Y , k, ^K : 一次向首部 翻一行
  74. q: 退出
  75. #: 跳转至第 # 行
  76. 1G 回到文件首部
  77. G 到文件的最后一行
  78. 文本搜索:
  79. /keys world : keyworld 为关键字 ,从当前位置向文件尾部进行搜索: 不区分大小写
  80. n: 下一个
  81. N 上一个
  82. key world keyworld 为关键字 ,从当前位置向文件尾首部进行搜索: 不区分大小写
  83. n: 下一个
  84. N 上一个
  85. (3) info
  86. info COMMAND
  87. (4) 程序安装后的帮助文档
  88. /usr/share/doc/COMMAND-VERSION
  89. (5) 程序官方文档
  90. (6) 发行版的官方文档
  91. http://www.redhat.com/docs/
  92. (7) www.google.com
  93. www.slideshare.net
  94. date 命令:
  95. -----------
  96. date [OPTION]....[+FORMAT]:显示
  97. FORMAT:格式符号
  98. %D
  99. %F
  100. %T
  101. date [MMDDhhmm][[CC]YY][.ss]]: 设置
  102. MM: 月份
  103. DD: 几号
  104. hh: 小时
  105. mm: 分钟
  106. YY:两位年份
  107. CCYY:四位年份
  108. .ss: 秒钟
  109. ----
  110. Linux 的两种时钟:
  111. 系统时钟: Linux内核通过cpu 的工作频率进行的计时
  112. 硬件时钟:
  113. hwclock:显示硬件时钟
  114. -s, --hctosys
  115. -w, --systohc
  116. -------------------------------

命令总结:

  1. 1.目录相关的命令:
  2. 当前目录或工作目录
  3. 主目录: 家目录:HOME
  4. root /root
  5. 普通用户: /home/USERNAME
  6. ~: 用户的当前目录
  7. cd :
  8. cd cd ~:回当前用户的主目录
  9. cd ~USERNAME: 切换到普通用户的目录
  10. cd - : 在上一个目录和当前目录之间来回切换
  11. 2.相关环境变量:
  12. pwd : 保存了当前目录路径的变量
  13. oldpwd: 上一次所在的当前目录
  14. ls : list 列出 指定 目录下的列表
  15. ls [options] ...[DIR]...
  16. -a --all:显示所有文件,包括隐藏文件:
  17. -l : 长格式显示
  18. -rw-r--r-- 1 root root 4030 Jul 10 13:45 sudoers
  19. 最左测的第一位: 文件类型
  20. - 普通文件
  21. d : 目录
  22. l : 链接
  23. b : 块设备文件
  24. c : 字符设备
  25. p : 管道
  26. s : 套接字
  27. 后九位: 文件访问权限
  28. 后面有个数字:
  29. 表示: 文件被硬连接的次数
  30. root 表示文件的ower
  31. root: 文件的group
  32. 44800 文件的size
  33. aug 14 14:32: 文件最近被修改的时间
  34. install.log : 文件名称
  35. -h, --human-readable:单位换算
  36. -d: 显示目录自身的相关属性,通常要与-l一起使用
  37. -r : 以降序方式排序
  38. -R :递归显示
  39. stat /root/install.log
  40. stat /path/to/somefile: 获取当前文件的所有信息
  41. (3) 文件查看
  42. cat : 从头看到位
  43. -E 查看 换行符号
  44. -n 对显示出的每一行进行编号
  45. tac : 从尾看到头
  46. (4)文件内容类型查看命令: file
  47. file /path/to/somewhere
  48. 会显命令: echo
  49. echo '$shell' 单引号强引用
  50. echo "$shell" 双引号弱引用
  51. -n : 禁止自动添加换行符号
  52. -e : 允许使用转义符号
  53. \n: 换行
  54. \t: 制表符
  55. (5) which 显示命令对应的程序文件路径
  56. which [options] command
  57. --skip-alias:禁止显示别名
  58. (6) whatis:
  59. 使用mkwhatis命令可将当前系统上所有的帮助手册及与之对应的关键字创建为一个数据库:
  60. 系统管理命令:
  61. 关机:
  62. halt ,poweroff ,shutdown,init 0
  63. 重启:
  64. reboot ,shutdown,init 6
  65. 登录相关:
  66. who ,whoami ,w

linux的文件系统

  1. 根文件系统(rootfs):
  2. root filesystem
  3. LSB,FHS:(FileSystem Heirache Standard)
  4. /etc,/usr,/var,/root,/home,/dev
  5. /boot: 引导文件存放目录,内核文件(vmlinuz), 引导加载器(bootloadergrub)都存放在此目录:
  6. /bin: 供所有用户使用的基本命令:不能关联至独立分区:os 启动即会用到的程序会放在此处:
  7. /sbin: 系统用户常用特权命令,管理类的命令 不能关联至独立分区:os 启动即会用到的程序
  8. /lib: 基本共享文件,以及内核模块文件(/lib/modules):
  9. /lib64: 基本兼容 /lib 专用于x64 系统上的的辅助共享库文件存放路径
  10. /etc: 配置文件目录(纯文本文件)
  11. /home/USERNAME:普通用户家目录
  12. /root:管理员的家目录
  13. /media: 便携式一栋设备挂载点:
  14. cdrom
  15. usb
  16. /mnt : 临时文件系统挂载点
  17. /dev : 设备文件及特殊文件的存储位置
  18. b: block device 随机访问
  19. c: character device 线性访问
  20. /opt : 第三方应用程序的安装位置
  21. /srv : 系统上运行的服务用到的数据
  22. /tmp : 临时文件存储位置
  23. /usr : universal shared ,read-only data:
  24. bin: 保证系统拥有完整功能而提供的应用程序
  25. sbin:
  26. lib:
  27. lib64:
  28. include: C 程序的头文件(header files):
  29. share: 结构化独立的数据,例如:doc,man
  30. local:第三方应用程序的安装位置
  31. bin,sbin,lib,lib64,etc ....
  32. /var: variable data files
  33. cache : 应用程序缓存目录
  34. lib : 应用程序存储状态信息
  35. local: 专应用与为/usr/local/ 下的应用程序的存储可变的数据信息
  36. lock 锁文件
  37. log : 日志目录及文件
  38. opt : 专用于为/opt 下的用程序存储可变数据
  39. run: 运行中的进程相关数据,通常用于存储进程的PID 文件
  40. spool:应用程序池
  41. tmp :保存系统两次重启之间产生的临时数据
  42. /proc : 用于输出内核与进程信息相关的虚拟文件系统
  43. /sys : 用于输出当前系统上硬件设备相关信息的虚拟文件系统
  44. /misc 备用杂项文件
  45. /selinux: security enhanced linux
  46. selinux 相关的安全策略 等信息的存储信息位置

Linux 上的应用程序的组成部分

  1. 二进制程序: /bin,/sbin,/usr/bin,
  2. /usr/sbin, /usr/local/bin,/usr/local/sbin
  3. 库文件: /lib, /lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64
  4. 配置文件:/etc/ ,/etc/Directory,/usr/local/etc/
  5. 帮助文件: /usr/share/man,/usr/share/doc/,/usr/local/share/man, /usr/local/share/doc

Linux下的文件类型

  1. -(f): 普通文件
  2. d: 目录文件
  3. b: 块设备
  4. c: 字符设备
  5. l: 符号链接
  6. p: 管道文件
  7. s: 套接字文件,socket;

linux系统管理类命令

  1. 关机:
  2. halt ,poweroff , shutdown, init 0
  3. 重启:
  4. reboot ,shutdown ,init 6
  5. -f : 强制,不调用shutdown
  6. -p 切断电源
  7. shutdown:
  8. shutdown [OPTNONS]...[TIME]
  9. -r : reboot
  10. -h : halt
  11. -c : cancel 取消
  12. time :
  13. now : 立刻
  14. +m: 相对时间表示法: 从命令提交开始多久之后,如: +3
  15. hh:mm:绝对时间表示,指定具体时间

用户登录信息查看命令:

  1. whoami : 显示当前登录的用户
  2. who : 显示当前所有用户的登录
  3. w : 系统当前所有的登录会话及所做的操作
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注