0%


使用ssh服务管理远程主机

配置网卡服务

配置网卡参数

使用nmtui命令来配置网络, 执行nmtui命令运行网络配置工具.
第1步:执行命令“nmtui"

选中Edit a connection并按下回车键
第2步:选择要编辑的网卡

阅读全文 »


概述

Linux是一个基于POSIX多用户多任务、支持多线程和多CPU的操作系统

可移植操作系统接口(英语:Portable Operating System Interface, 缩写为POSIX)是IEEE为要在各种UNIX操作系统上运行软件, 而定义API的一系列互相关联的标准的总称.

电气与电子工程师协会(英语: Institute of Electrical and Electronics Engineers), 简称IEEE, 总部位于美国纽约, 是一个国际性的电子技术与信息科学工程师的协会, 也是目前全球最大的非营利性专业技术学会. IEEE大部分成员是电子工程师计算机工程师计算机科学家

Unix是20世纪70年代初出现的一个操作系统, 除了作为网络操作系统之外, 还可以作为单机操作系统使用.

API(英语:Application Programming Interface, 应用程序接口)是一些预先定义接口(如函数、HTTP接口), 或指软件系统不同组成部分衔接的约定. 用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程, 而又无需访问源码, 或理解内部工作机制的细节.

用户类型

uid=0 gid=0 groups=0 root用户: 一个特殊的管理帐户, 也被称为超级用户; root已接近完整的系统控制, 对系统损害几乎有无限的能力, 除非必要, 不要登录为root.
999 >= uid gid groups >= 1 系统用户: Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器, 默认服务程序会有独立的系统用户负责运行, 进而有效控制被破坏范围.
uid gid groups >= 1000 普通用户: 由root创建的用于日常工作的用户, 权限有限, 造成损害的能力比较有限.

阅读全文 »


Shell能做什么

  1. 自动化批量系统初始化程序
  2. 自动化批量软件部署程序
  3. 应用管理程序
  4. 日志分析处理程序
  5. 自动化备份恢复程序
  6. 自动化管理程序
  7. 自动化信息采集及监控程序
  8. 配合Zabbix信息采集
  9. 自动化扩容

Shell脚本的编写

注: 脚本文件名建议以.sh结尾

基本结构

脚本声明(即使用指定解释器解释):#!/bin/bash
脚本注释:#对该脚本的描述
脚本命令:命令序列

Shell脚本的运行

执行脚本文件

赋予脚本文件执行权限后, 程序会运行在一个全新的shell中, 不继承当前shell的环境变量的值, 同时若在程序中改变了当前shell中的环境变量(不使用export), 则当前shell的环境变量值不变.

 chmod u+x 脚本文件
 ./脚本文件 或 sh 脚本文件
 bash [选项] 脚本名
 |__ -n --检测脚本是否正确, 并不执行脚本.
 |__ -x --执行脚本, 输出执行过程.
 |__ -c --bash从字符串中读入命令, 如果字符串后还有变量就被设定为从$0开始的位置参数.

不赋予脚本文件执行权限, 只是暂时提升脚本文件执行权限, 程序继承当前shell中的环境变量, 同时, 若在程序中改变了当前shell中的环境变量(不使用export), 则当前shell中该环境变量的值也会改变.

 . 脚本文件 或 source /脚本文件

shell脚本的调试

使用sh命令参数调试

 sh [-nvx] 脚本名
 |__ n --不会执行该脚本, 仅查询脚本语法是否有问题, 如果没有语法问题就不显示任何内容, 如果有问题就会提示报错.
 |__ v --在执行脚本时, 先将脚本的内容输出到屏幕上然后执行脚本, 如果有错误, 也会给出错误提示.
 |__ x --将执行的脚本内容输出到屏幕上, 这是个对调试很有用的参数.

shell的特性

命令和文件自动补齐

Tab键自动补齐

login shell和nologin shell

login shell登陆时执行的文件

 /etc/profile
 /etc/bashrc
 ~/.bash_profile
 ~/.bashrc

nologin shell登陆时执行的文件

 /etc/bashrc
 ~/.bashrc

login shell

1
su - 用户名
系统级: /etc/profile /etc/bashrc

nologin shell

1
su 用户名
用户级: ~/.bash_profile ~/.bashrc 离开shell时执行的文件 ~/.bash logout ~/.bash_history

命令历史记忆功能

上下键上一次/下一次执行过的命令
!数字执行指定序号的历史命令
!命令名找到相关命令名的命令执行
!$上一次命令执行过的最后一个参数
!!执行上一次执行后的命令

快捷键

Ctrl + R搜索历史命令
Ctrl + D退出
Ctrl + A将光标移动到最前面
Ctrl + E将光标移动到最后面
Ctrl + L清屏
Ctrl + U将光标处前面部分删除
Ctrl + K将光标后后面部分删除
Ctrl + Y撤销
Shift + V进入行选中模式
Shift + <或>减少缩进/增加缩进

命令排序

;: 不具备逻辑判断
&&,||: 具备逻辑判断

shell通配符

(命令): 在子shell中执行命令
{项1,项2,项3,...}: 项的集合

Bash中调用Python Expect

标记输出

1
2
3
4
5
cat <<-标记名 # - 表示:结束标记名前可跟缩进
输出内容1...
输出内容2...
输出内容3...
标记名

调用Python和Expect

1
2
3
4
5
6
7
8
9
10
#!/bin/bash
echo "在shell脚本中调用Python或Expect"
/usr/bin/python <<-EOF
print "hellow word!"
EOF

注:给test后面的EOF加""即为把内容全部转义
cat > test <<-EOF
格化输出到test文件中...
EOF

变量类型

提升变量为全局变量:
 export 变量名 ...
 export 变量名=变量值 
自定义变量由用户自己定义、修改和使用
环境变量由系统维护, 用于设置工作环境.
位置变量通过命令行给脚本程序传递参数
预定义变量Bash中内置的一类变量, 不能直接修改.
环境变量的全局配置文件(全局):/etc/profile
环境变量的全局配置文件(用户):~/.bash_profile
使用env命令查看当前工作环境下的环境变量
阅读全文 »