ecs服务器shell常用脚本练习(七)

简介: 【4月更文挑战第5天】shell代码训练(七)

1. 显示当前计算机中所有账户的用户名称

#!/bin/bash

#下面使用3 中不同的方式列出计算机中所有账户的用户名

#指定以:为分隔符,打印/etc/passwd 文件的第1 列

awk ‐F: '{print $1}' /etc/passwd

#指定以:为分隔符,打印/etc/passwd 文件的第1 列

cut ‐d: ‐f1 /etc/passwd

#使用sed 的替换功能,将/etc/passwd 文件中:后面的所有内容替换为空(仅显示用户名)

sed 's/:.*//' /etc/passwd

2. 制定目录路径,脚本自动将该目录使用tar 命令打包备份到/data 目录

#!/bin/bash

[ ! ‐d /data ] && mkdir /data

[ ‐z $1 ] && exit

if [ ‐d $1 ];then

tar ‐czf /data/$1.‐`date +%Y%m%d`.tar.gz $1

else

echo "该目录不存在"

fi

3. 显示进度条(回旋镖版)

#!/bin/bash

while :

do

clear

for i in {1..20}

do

echo ‐e "\033[3;${i}H*"

sleep 0.1

done

clear

for i in {20..1}

do

echo ‐e "\033[3;${i}H*"

sleep 0.1

done

clear

done

4. 安装LAMP 环境(yum 版本)

#!/bin/bash

#本脚本适用于RHEL7(RHEL6 中数据库为mysql)

yum makecache &>/dev/null

num=$(yum repolist |awk '/repolist/{print $2}' |sed 's/,//')

if [ $num ‐lt 0 ];then

yum -y install httpd

yum -y install mariadb mariadb-server mariadb-devel

yum -y install php php-mysql

else

echo "未配置yum 源…"

fi

5. 循环关闭局域网中所有主机

#!/bin/bash

#假设本机为192.168.4.100,编写脚本关闭除自己外的其他所有主机

#脚本执行,需要提前给所有其他主机传递ssh 密钥,满足无密码连接

for i in {1..254}

do

[ $i -eq 100 ] && continue

echo "正在关闭192.168.4.$i…"

ssh 192.168.4.$i poweroff

done

6. 获取本机MAC 地址

#!/bin/bash

ip a s |awk 'BEGIN{print " 本机MAC 地址信息如下:"}/^[0‐9]/{print

$2;getline;if($0~/link\/ether/){print $2}}' |grep ‐v lo:

#awk 读取ip 命令的输出,输出结果中如果有以数字开始的行,先显示该行的地2 列(网卡名称),

#接着使用getline 再读取它的下一行数据,判断是否包含link/ether

#如果保护该关键词,就显示该行的第2 列(MAC 地址)

#lo 回环设备没有MAC,因此将其屏蔽,不显示

7. 自动配置rsynd 服务器的配置文件rsyncd.conf

#!/bin/bash

# See rsyncd.conf man page for more options.

[ ! ‐d /home/ftp ] && mkdir /home/ftp

echo 'uid = nobody

gid = nobody

use chroot = yes

max connections = 4

pid file = /var/run/rsyncd.pid

exclude = lost+found/

transfer logging = yes

timeout = 900

ignore nonreadable = yes

dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

[ftp]

path = /home/ftp

comment = share' > /etc/rsyncd.conf

8. 修改Linux 系统的最大打开文件数量

#!/bin/bash

#往/etc/security/limits.conf 文件的末尾追加两行配置参数,修改最大打开文件数量为65536

cat >> /etc/security/limits.conf <<EOF

* soft nofile 65536

* hard nofile 65536

EOF

9. 设置Python 支持自动命令补齐功能

#!/bin/bash

#Summary:Enable tab complete for python

#Description:

# Needs import readline and rlcompleter module

# import readline

# import rlcompleter

# help(rlcompleter) display detail: readline.parse_and_bind('tab: complete')

# man python display detail: PYTHONSTARTUP variable

if [ ! ‐f /usr/bin/tab.py ];then

cat >> /usr/bin/tab.py <<EOF

import readline

import rlcompleter

readline.parse_and_bind('tab: complete')

EOF

fi

sed ‐i '$a export PYTHONSTARTUP=/usr/bin/tab.py' /etc/profile

source /etc/profile

10. 自动修改计划任务配置文件

#!/bin/bash

read ‐p "请输入分钟信息(00‐59):" min

read ‐p "请输入小时信息(00‐24):" hour

read ‐p "请输入日期信息(01‐31):" date

read ‐p "请输入月份信息(01‐12):" month

read ‐p "请输入星期信息(00‐06):" week

read ‐p "请输入计划任务需要执行的命令或脚本:" program

echo "$min $hour $date $month $week $program" >> /etc/crontab

如果想上手操作练代码的同学们可以通过阿里云ecs服务器免费试用参与!

入口一:新老同学免费试用

入口二:上云第一站

入口三:学生版超低价云服务器

入口四:云服务器专享特惠版

入口五:云服务器特惠1.5折起

入口七:阿里云最新活动中心

入口八:中小企业权益满减礼包

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
Shell
一个用于添加/删除定时任务的shell脚本
一个用于添加/删除定时任务的shell脚本
109 1
|
1月前
|
Shell Linux 测试技术
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
62 2
6种方法打造出色的Shell脚本
|
1月前
|
XML JSON 监控
Shell脚本要点和难点以及具体应用和优缺点介绍
Shell脚本在系统管理和自动化任务中扮演着重要角色。尽管存在调试困难、可读性差等问题,但其简洁高效、易于学习和强大的功能使其在许多场景中不可或缺。通过掌握Shell脚本的基本语法、常用命令和函数,并了解其优缺点,开发者可以编写出高效的脚本来完成各种任务,提高工作效率。希望本文能为您在Shell脚本编写和应用中提供有价值的参考和指导。
56 1
|
1月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
49 2
|
2月前
|
监控 网络协议 Shell
ip和ip网段攻击拦截系统-绿叶结界防火墙系统shell脚本
这是一个名为“小绿叶技术博客扫段攻击拦截系统”的Bash脚本,用于监控和拦截TCP攻击。通过抓取网络数据包监控可疑IP,并利用iptables和firewalld防火墙规则对这些IP进行拦截。同时,该系统能够查询数据库中的白名单,确保合法IP不受影响。此外,它还具备日志记录功能,以便于后续分析和审计。
54 6
|
1月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
2月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
62 1
|
2月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
77 4
|
2月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
59 3
|
2月前
|
监控 Unix Shell
shell脚本编程学习
【10月更文挑战第1天】shell脚本编程
81 12