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折起
入口七:阿里云最新活动中心
入口八:中小企业权益满减礼包