
shell
清风~
诗和远方,星辰征途。
展开
-
使用Shell脚本一键部署Apache 服务
#!/bin/bashsystemctl stop firewalldsystemctl disable firewalldsetenforce 0df | grep "sr0" if [ $? -eq 0 ];then yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl &>/dev/nullelse mount /dev/sr0 /mnt yum -y install gcc原创 2021-01-07 17:32:01 · 3289 阅读 · 9 评论 -
使用免交互一键进行PXE批量装机
#!/bin/bash#先磁盘判断是否挂载,并检查tftp和xinetd软件包是否安装df | grep "sr0"if [ $? -eq 0 ];then yum install -y tftp-server xinetdelse mount /dev/cdrom /mnt yum install -y tftp-server xinetdfi#修改TFTP服务的配置文件:/etc/xinetd.d/tftpsed -i 's/yes/no/g' /etc/xinetd.d原创 2020-12-28 23:34:15 · 542 阅读 · 0 评论 -
使用Shell脚本一键部署DNS正向解析
#!/bin/bash#首先先判断检查磁盘是否挂载df | grep "sr0" #将过滤出来的sr0交给df查看是否已经挂载if [ $? -eq 0 ];then #如果挂载了 yum install -y bind &>/dev/null #就安装bind软件包else #如果没有挂载 mount /dev/sr0 /mnt #先挂载磁盘 yum install -y bind原创 2020-12-28 20:08:05 · 511 阅读 · 0 评论 -
让你成为一名合格运维的必备技能之Shell编程之免交互(EOF免交互、Expect免交互)
文章目录一、Here Document免交互(一)、Here Document概述(二)、Here Document使用注意事项(三)、Here Document免交互示例1、通过read命令接收输入并打印2、通过passwd给用户设置密码(四)、Here Document变量设定1、变量替换2、变量设定(五)、Here Document格式控制1、关闭变量替换功能,按照字符原本的样子输出,不做任何修改或替换2、去掉每行之前的TAB字符(六)、Here Document多行注释1、语法格式2、举例:总结二、原创 2020-12-26 21:50:54 · 1925 阅读 · 3 评论 -
Shell正则表达式中的编程三剑客(grep、sed、awk)
文章目录前言:一、sed编辑器(一)、sed编辑器概述(二)、sed的工作流程主要包括读取、执行和显示三个过程:(三)、命令格式:(四)、常见的sed命令选项(五)、常用操作(六)、操作示例:1、打印文本内容(1)、打印内容(2)、打印行号(3)、打印ASCII字符2、使用地址3、删除行4、替换5、插入二、awk编辑器(一)、工作原理:(二)、命令格式:(三)、awk常见的内建变量(可直接用)如下所示:(四)、示例:1、按行输出文本2、按字段输出文本3、通过管道符号、双引号调用shell 命令4、CPU使用原创 2020-12-26 16:00:04 · 432 阅读 · 3 评论 -
Shell正则表达式详解(一)
文章目录一、sort命令、uniq命令与tr命令(一)、sort命令------以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序(二)、uniq命令------用于报告或者忽略文件中连续的重复行,常与sort命令结合使用(三)、tr命令-----常用来对来自标准输入的字符进行替换、压缩和删除(四)、注意二、正则表达式(一)、正则表达式定义(二)、基础正则表达式常见元字符:(支持的工具: grep, egrep、 sed,awk)(三)、扩展正则表达式元字符:(支持的工具: egrep、 awk)原创 2020-12-24 19:29:29 · 1180 阅读 · 3 评论 -
那些令人炸毛的数组与排序
前言:arr=(30 20 10 60) #数组中的元素值其中:30为索引 020为索引110为索引260为索引3以此类推,不过注意索引是从0开始的,不要弄混肴了。如果脚本中有三个参数:1 2 3运行脚本后$* 为 “1 2 3” (作为一个整体使用)$@ 为“1” “2” “3” (分别作为单个的个体使用)$# 为3 (表示参数的数量,也可以叫做长度)一、数组定义方法方法一:数组名=(value0 valuel value2 …)举例:[root@gc原创 2020-12-23 23:17:58 · 323 阅读 · 6 评论 -
Shell函数知识点大全
一、Shell 函数1、将命令序列按格式写在一起2、可方便重复使用命令序列二、Shell 函数定义方式一:function 函数名 { 命令序列}方式二:函数名 () { 命令序列}三、函数返回值:return表示退出函数并返回一个退出值,脚本中可以用 $? 变量显示该值使用原则:1、函数一结束就取回返回值,因为 $? 变量只返回执行的最后一条命令的退出状态码2、退出状态码必须是0-255,超出时值将为除以256取余举例:方式一:[root@gcc原创 2020-12-22 19:16:18 · 1963 阅读 · 8 评论 -
在圣诞节用shell脚本做一棵圣诞树送给女朋友,让她感受来自IT男的浪漫。
[root@gcc opt]#vim p.sh#!/bin/bashfor((i=5;i>=1;i--))do for((a=1;a<=$i+4;a++))do echo -n " " done for((b=5;b>=$i;b--))do echo -n "*" done for((c=4;c>=$i;c--))do echo -n "*" doneecho ""donefor((i=6;i>=1;i--))do原创 2020-12-21 19:51:50 · 1991 阅读 · 1 评论 -
shell 脚本汇总 (持续更新中)
文章目录1、计算从1到100所有整数的和2、提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和3、求从1到100所有整数的偶数和、奇数和4、逛淘宝选购商品脚本,每家商店有五种商品选购(衣服500元,裤子400元,鞋子350元,帽子150元,袜子50元),每次选购完或不买都会提示用户是否继续逛下一家商店,如果不再继续逛的话进行购物车结算总额。5、shell 计算器6、99乘法表7、等腰三角形8、直角三角形9、批量添加用户10、根据IP地址,批量检查主机状态11、猜商品价格1、计算从1到100原创 2020-12-20 16:55:32 · 7797 阅读 · 21 评论 -
深入思考 for、while、until循环,break、continue语句,echo 转义符,你离资深IT人又近了一步!
文章目录一、for循环语句(一)、for语句结构读取不同的变量值,用来逐个执行同一组命令语句结构:for 变量名 in 取值列表do 命令序列done语句结构举例:for 收件人 in 邮件地址列表do 发送邮件done(二)、for循环举例:补充一下seq命令的功能[root@gcc?~]#seq 1 10 #从1到10将内容列出来12345678910[root@gcc?~]#seq 1 2 10 #范围是1到10,从1开始,每次加原创 2020-12-18 17:10:15 · 445 阅读 · 2 评论 -
你说shell编程的条件语句太难,我说那是你没看过这篇博客。
文章目录一、条件测试操作(一)、 条件测试操作1、test命令测试特定的表达式是否成立,当条件成立,测试语句的返回值为0,否则为其他数值格式1:test 条件表达式格式2:[ 条件表达式 ] (条件表达式的两边都需要有空格,且此方法更为常用)(二)、文件测试1、文件测试基本格式[ 操作符 文件或目录 ] (注意两端空格)&? 返回0表示条件成立,返回非零值表示条件不成立&& 逻辑与,"而且"的意思|| 逻辑或,"或者"的意思2、常见的原创 2020-12-16 22:34:04 · 1714 阅读 · 10 评论 -
Shell脚本编程规范与变量,让你轻松学脚本,快乐做IT.
文章目录前言:一、Shell脚本概述二、Shell脚本应用场景三、Shell脚本的作用(一)、 Shell脚本的作用:命令解释器,翻译官(二)、用户登录Shell四、编写Shell脚本(一)、编写脚本代码(二)、执行脚本五、重定向与管道操作六、Shell变量的作用、类型(一)、变量的作用(二)、变量的类型1、自定义变量2、赋值时使用引号3 .从键盘输入内容为变量赋值4.设置变量的作用范围5.整数变量的运算6. 特殊Shell变量7.位置变量前言:Linux系统中的Shell脚本是一个特殊的应用程序,它介原创 2020-12-16 00:31:27 · 2661 阅读 · 7 评论 -
Linux网络中的DNS域名正向与反向解析实操
文章目录一、DNS系统(一)、DNS概述(二)、DNS的定义(三)、域名结构:二、DNS域名解析方式:三、DNS服务器类型四、构建DNS域名正向解析服务器步骤(一)、安装bind软件包(二)、配置正向解析五、实验操作示例:一、DNS系统(一)、DNS概述在日常生活中人们习惯使用域名访问服务器,但机器间互相只认IP地址,域名与IP地址之间是多对一的关系,一个Ip地址不一定只对应一个域名,且一个域名只可以对应一个Ip地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是原创 2020-12-08 00:38:42 · 2018 阅读 · 1 评论 -
Linux 系统安全及应用 化繁为简
文章目录一、账号安全基本措施(一)、系统账号清理(二)、密码安全控制(三)、命令历史限制(四)、终端自动注销二、使用su命令切换用户(一)、用途及用法(二)、密码验证(三)、限制使用su命令的用户(四)、查看su操作记录三、Linux中的PAM安全认证(一)、su命令的安全隐患(二)、PAM(Pluggable Authentication Modules)可插拔式认证模块(三)、在 /etc/pam.d/su 文件里设置禁止用户使用su命令(四)、PAM认证原理(五)、PAM认证的构成(六)、PAM安全认原创 2020-12-02 20:43:43 · 342 阅读 · 1 评论 -
Linux 进程和计划任务管理 超详细
文章目录一、程序和进程的关系(一)、程序(二)、进程二、查看进程信息(一)、查看静态的进程统计信息 ps aux 命令(二)、查看进程信息 ps -elf 命令(三)、查看进程信息 top 命令(四)、查看进程信息 pgrep 命令(五)、查看进程树 pstree 命令三、进程的启动方式(一)、手动启动(二)、调度启动(at 命令、crontab 命令)四、进程的前后台调度1、Ctrl+Z 组合键2、jobs 命令3、fg 命令五、终止进程的运行1、Ctrl+C 组合键2、kill、killall 命令六、原创 2020-12-01 14:07:57 · 657 阅读 · 0 评论 -
Linux目录与文件的管理 理论
文章目录一、命令执行的优先级:二、Linux目录结构(一)、树形目录结构(二)、根目录(三)、常见的子目录(四)、Linux目录结构三、查看文件内容cat命令四、查看文件内容(一)、查看文件内容more命令(二)、查看文件内容less命令(三)、查看文件内容head, tail命令1、head命令2、tail命令五、统计文件内容wc命令六、检索和过滤文件内容grep命令七、压缩命令gzip,bzip2命令八、归档命令tar命令九、文本编辑器vi命令(一)、文编辑器的作用(二)、Linux中最常用的文本编辑器原创 2020-11-18 15:17:13 · 448 阅读 · 0 评论 -
linux常用命令精讲 理论
一、Shell1、Linux系统中运行的—种特殊程序2、在用户和内核之间充当"翻译官"3、用户登录Linux系统时,自动加载一个Shell程序4、Bash是Linux系统中默认使用的Shell程序文件位于/bin/bash二、Linux命令的分类(一)、内部命令与外部命令的区别三、Linux命令行(一)、通用的命令行使用格式命令字 [选项] [ 参数 ] (英文字符区分大小写)操作 功能 要执行的对象1、原创 2020-11-18 14:12:22 · 807 阅读 · 0 评论 -
Linux引导过程与服务控制(包括技术实验)
文章目录一、Linux操作系统引导过程(一)、引导过程总览(二)、Linux操作系统的引导过程详细解读:1、开机自检2、MBR引导3、GRUB菜单4、加载Linux内核5、init进程初始化二、系统初始化进程(一)、init进程(二)、Systemd(三)、Systemd 单元类型(四)、运行级别所对应的Systemd目标三、排除启动类故障(一)修复MBR扇区故障(二)、修复GRUB引导故障方法一:手动输入引导命令(笨拙繁琐,不建议使用)方法二:进入急救模式,恢复GRUB引导程序(仅适用于前466字节被破坏原创 2020-11-27 12:15:10 · 408 阅读 · 0 评论 -
技术文档:创建RAID5磁盘阵列和RAID10磁盘阵列
文章目录一、构建软RAID5磁盘阵列(一)、需求描述(二)、操作步骤:二、构建软RAID10磁盘阵列(一)、需求描述(二)、操作步骤:一、构建软RAID5磁盘阵列(一)、需求描述为Linux服务器添加4块SCSI硬盘使用mdadm软件包,构建RAID5磁盘阵列,提高磁盘存储的性能和可靠性(二)、操作步骤:1、首先在虚拟机关闭的状态下,添加4块40G的硬盘2、启动虚拟机以后使用fdisk -l 命令查看一下自己添加的4快硬盘是否已经添加成功3、接着使用rpm -q madam命令查看自己创原创 2020-11-25 20:29:23 · 1406 阅读 · 2 评论 -
Linux 中服务器硬件及RAID配置实战
文章目录一、RAID磁盘阵列(一)、RAID磁盘阵列介绍(二)、RAID 0 磁盘阵列介绍1、RAID 0 (条带化存储)(三)、RAID 1磁盘阵列介绍1、RAID 1(镜像存储)(四)、RAID 5磁盘阵列介绍(当前生产环境中用的最多的)1、RAID 5(五)、RAID 6 磁盘阵列介1、RAID 6(六)、RAID 1+0 磁盘阵列介绍1、RAID 1+0 (先做镜象,再做条带)2、RAID0RAID 0+1 (先做条带,再做镜象)(七)、RAID0、1、5、6、10的区别二、阵列卡(一)、阵列卡介绍原创 2020-11-25 19:39:08 · 656 阅读 · 0 评论 -
Windows端共享权限设定(实现Windows和Linux之间的文件共享)
(一)、解禁Guest右击我的电脑选择管理–>本地用户和组–>在用户项中双击Guest用户–>取消账号已禁用选项(二)、设置共享目录权限右击共享目录点属性–>在共享页面中点击共享选项–>下拉选择共享对象为Everyone–>点击共享按钮(三)、设置本地策略打开命令框(同时按窗口键+R键)–>输入secpol.msc–>选择本地策略用户权限分配–>拒绝从网络访问这台计算机–>把Guest用户删除安全选项–>网络访问:本地账户的原创 2020-11-24 22:45:32 · 3397 阅读 · 5 评论 -
解决共享文件时出现 “mount error(13): Permission denied” 错误
当在Windows 系统和 Linux 系统之间共享文件时出现如下的错误:[root@localhost /]#mount.cifs //192.168.226.1/kugou /dataPassword for root@//192.168.226.1/kugou:mount error(13): Permission deniedRefer to the mount.cifs(8) manual page (e.g. man mount.cifs)这个原因是因为在Window系统中共享的文件的原创 2020-11-24 23:08:08 · 10590 阅读 · 0 评论 -
技术文档:LVM(动态逻辑卷)的扩展
案例环境公司准备在Internet中搭建邮件服务器(CentOS7.3系统平台) ,面向全国各地的员工及部分VIP客户提供电子邮箱空间需求描述由于用户数量众多,邮件存储需要大量的空间,考虑到动态扩容的需要,计划增加三块SCSI硬盘并构建LVM逻辑卷(挂载到"/"目录下的某个目录下)专门用于存放邮件数据首先需要创建三个新的硬盘,每个硬盘 的大小为40G,总共是120G。用fdisk -l 查看所有的磁盘,发现新的三个磁盘已经创建好了接着我们在每个磁盘里只创建一个分区,每个分区使用对应磁盘的全原创 2020-11-24 21:43:24 · 874 阅读 · 0 评论 -
Linux中的LVM(动态逻辑卷)与磁盘配额
文章目录一、LVM概述(一)、Logical Volume Manager,逻辑卷管理(二)、LVM机制的基本概念(三)、LVM概念二、LVM的管理命令(一)、主要命令三、磁盘配额概述(一)、实现磁盘限额的条件(二)、Linux磁盘限额的特点(三)、设置磁盘配额(四)、Centos7中设置磁盘配额步骤1、检查是否已安装 xfsprogs 和 xfsquota 软件包2、以支持配额功能的方式挂载文件系统3、编辑用户和组账号的配额设置4、验证磁盘配额功能5、查看配额使用情况一、LVM概述(一)、Logica原创 2020-11-24 21:36:10 · 764 阅读 · 0 评论 -
Linux磁盘管理与文件系统 那些你会经常用到的技术
文章目录一、磁盘结构(一)、硬盘的物理结构(二)、扇区硬盘的数据结构(三)、磁盘结构二、MBR与磁盘分区表示(一)、主引导记录(MBR: Master Boot Record)(二)、磁盘分区表示(三)、主启动记录(MBR)磁盘分区三、磁盘分区结构(一)、磁盘分区概念四、文件系统类型(一)、XFS 文件系统(二)、SWAP 交换文件系统(三)、 Linux支持的其它文件系统类型五、检测并确认新硬盘(一)、fdisk命令(二)、查看磁盘分区(三)、管理磁盘分区(四)、创建分区步骤六、创建文件系统(一)、mkf原创 2020-11-23 19:47:40 · 463 阅读 · 0 评论 -
Linux账号和权限管理 一看就会的那些知识
文章目录一、用户账号和组账号概述(一)、Linux基于用户身份对资源访问进行控制(二)、用户账号二、用户账号文件(一)、用户账号文件 /etc/passwd(二)、用户账号文件 /etc/shadow(三)、添加用户账号 useradd(四)、设置/更改用户口令passwd(五)、修改用户账号的属性 usermod(六)、删除用户账号userdel(七)、用户账号的初始配置文件三、组账号文件(一)、与用户帐号文件相类似(二)、添加组账号 groupadd(三)、添加删除组成员 gpasswd(四)、删除组账原创 2020-11-22 11:22:48 · 466 阅读 · 0 评论