目录

  • 目录
  • 从用户列表中过滤用户名并创建用户
  • awktrcut 指令的文本处理
    • tr指令
    • cut指令
    • awk指令
  • 备份文件
  • 测试LFTPServer权限设定
  • 开启Httpd
  • 安装Httpd
  • 批量创建用户
  • 批量删除用户

从用户列表中过滤用户名并创建用户

######################### name.sh
#!/bin/bash
n=0
userName=`echo $(cat /root/name.txt | tr -s " " | cut -d " " -f2 )`
for userN in $userName
dolet ++ndirName=`echo $(cat /root/name.txt | awk -F " " '{print $1}')| cut -d " " -f$n`useradd -d /home/$dirName $userNecho 123456 | passwd --stdin $userN
done

awk、tr、cut 指令的文本处理

awk、tr、cut 指令可以很好的进行文本信息处理

tr指令

一般用于文本或字符串编辑处理,可以替换、删除、合并重复字符。

tr -s "Str" textString #将testString中的重复的"Str"合并为一个
#如:
tr -s " " 将标准输入的Text中的连续的" " 合并重一个空格符

cut指令

以分割的方式来编辑文本

cut -d " " -f2-d 定义分隔符,将标准输入的文本信息以" "作为分隔符-f 和-d配合指定分割后要显示的区域-c numberRange <==>(2-5) 将Text中的2-5范围的字符截取出来

awk指令

awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理。
工作原理:读入并分割有’\n’换行符的的一条记录,再将这条记录以-F " "指定的特定分割符来划分出域,填充域,最后使用$Number 来选择需要显示第几个域并最终使用{print $Number}显示。没有-F指定特定分隔符时,默认分隔符为”空白键” 或 “[tab]键”。

备份文件

#############################Backups.sh
#!/bin/bash
read -p "请输入要备份的内容:" backupName
read -p "请输入要备份的文件名及路径:" backupUrl
read -p "请输入要备份的文件的存放路径:" backupCpUrl
read -p "请输入要使用的压缩算法:" backupAlg
alg=0
algName=0
case $backupAlg in
gzip)alg=zalgName=gz;;
bzip2)alg=jalgName=bz2;;
xz)alg=JalgName=xz;;
*)echo "请输入正确的压缩算法类型!"
esactar ${alg}cvf ${backupCpUrl}/${backupName}.tar.${algName} ${backupUrl}
if [ $? -eq 0 ]then echo "打包备份文件成功!"
elseecho "打包备份失败!"
fi
########################################## SCRIPT END 

测试LFTPServer权限设定

########################################## Lftp.sh
#!/bin/bash
lftp 192.168.8.248 -u user1,fanguiju -e "cd share;ls;exit" &> /dev/null
if [ $? -eq 0 ]then echo "user1用户可以读取share目录,符合要求!"
elseecho "user1用户不可以读取share目录,不符合要求!"
fi
lftp 192.168.8.248 -u user1,fanguiju -e "cd share;mkdir testSaDir_user1;exit" &> /dev/null
if [ $? -eq 1 ]then echo "user1用户不可以写入share目录,符合要求!"
elseecho "user1用户可以写入share目录,不符合要求!"
fi
lftp 192.168.8.248 -u user1,fanguiju -e "cd data;ls;exit" &> /dev/null
if [ $? -eq 0 ]then echo "user1用户可以读取data目录,符合要求!"
elseecho "user1用户不可以读取data目录,不符合要求!"
fi
lftp 192.168.8.248 -u user1,fanguiju -e "cd data;mkdir testDaDir_user1;exit" &> /dev/null
if [ $? -eq 0 ]then echo "user1用户可以写入data目录,符合要求!"
elseecho "user1用户可以不写入data目录,不符合要求!"
filftp 192.168.8.248 -u user2,fanguiju -e "cd share;ls;exit" &> /dev/null
if [ $? -eq 0 ]then echo "user2用户可以读取share目录,符合要求!"
elseecho "user2用户不可以读取share目录,不符合要求!"
fi
lftp 192.168.8.248 -u user2,fanguiju -e "cd share;mkdir testSaDir_user2;exit" &> /dev/null
if [ $? -eq 1 ]then echo "user2用户不可以写入share目录,符合要求!"
elseecho "user2用户可以写入share目录,不符合要求!"
fi
lftp 192.168.8.248 -u user2,fanguiju -e "cd data;ls;exit" &> /dev/null
if [ $? -eq 0 ]then echo "user2用户可以读取data目录,符合要求!"
elseecho "user2用户不可以读取data目录,不符合要求!"
fi
lftp 192.168.8.248 -u user2,fanguiju -e "cd data;mkdir testDaDir_user2;exit" &> /dev/null
if [ $? -eq 1 ]then echo "user1用户不可以写入data目录,符合要求!"
elseecho "user1用户可以写入data目录,不符合要求!"
fi
#FTP(File Transfer Protocol) lftp FTPServerIP -u userName,Password -e "command1;command2;exit" &> /dev/null 是编写LFTP服务脚本的方法
##################################################  SCRIPT END

开启Httpd

################################################## HttpStatus.sh
#!/bin/bash
while true
donetstat -lputn | grep :80 &> /dev/nullif [ $? -eq 0 ]then echo "httpd running!"exitelseecho "httpd stop"echo "正在尝试重启httpd服务..."echo `date +"%Y-%m-%d %H:%M:%S"` >> /var/log/mylogtail -n 1 /etc/httpd/logs/error_log >> /var/log/mylogservice httpd startfinetstat -lputn | grep :80 &> /dev/nullif [ $? -eq 0 ]thenecho "httpd 重启启动成功!"breakfi
done
exit 0
################################################## SCRIPT END

安装Httpd

################################################## InstallHttp.sh
#!/bin/bash
rpm -q httpd
if [ $? -eq 0 ]then echo "httpd已经安装!"exit 0elseecho -n "正在安装httpd..."
fi
yum install -y httpd &> /dev/null
rpm -q httpd
if [ $? -eq 0 ]then echo "安装成功!"
elseecho -n "安装失败!" >> /var/log/mylogdate >> /var/log/mylog
fi
################################################# SCRIPT END

批量创建用户

################################################# UserAdd.sh
#!/bin/bash
while true
do
read -p "请输入要添加的用户数目(100以内):" userNum
if [ $userNum -le 0 ] || [ $userNum -ge 100 ]thenecho "请输入正确的数目范围!"
elsebreak
fi
done
read -p "请输入用户名前缀:" userName
read -p "请输入用户帐号的失效时间(MM/DD/YY):" userTime
read -p "请输入用户的初始密码:" userPwd
num=0
for (( num=0;num<=$userNum;num++ ))
do
if [ $num -lt 10 ]thenname=${userName}0${num}elsename=${userName}$num
fi
useradd -e $userTime $name
echo $userPwd | passwd --stdin $name
done
echo "你成功创建了${userNum}个用户!"
########################################### SCRIPT END

批量删除用户

###########################################  UserDel.sh
#!/bin/bash
if [ $# -ne 1 ]then echo "语法错误!"echo "用法:$0 用户名前缀"
fi
num=`echo $(cat /etc/passwd | grep -v ^root$ | cut -d ":" -f1 | grep -v ^root$ | grep $1 )`
if [ -z $num ]then echo "没有以$1为前缀的用户"elsefor userName in $numdoecho -n "正在删除用户$userName..."userdel -r $userNameecho "完成"done
fi
# $# 脚本后接参数的个数 $# -ne 1 脚本后参数的个数!=1
############################################ SCRIPT END

Linux_Bash常用脚本相关推荐

  1. mysql员工脚本_mySQL常用脚本汇总

    @ mysql的常用脚本有哪些呢?我们来做个总结 建表语句 sql语句最后指定主键 DROP TABLE IF EXISTS `user_info1`; CREATE TABLE `user_info ...

  2. oracle 运营维护_Oracle数据库日常运维常用脚本

    大 中 小 Oracle数据库日常运维常用脚本 1 查看所有数据文件 select file_name from dba_data_files union select file_name from ...

  3. SQL Performance Analyzer SPA常用脚本汇总

    SPA常用脚本汇总 附件为 一个SPA报告 spa_buffergets_summary SQL 性能分析器 SQL Performance Analyzer SPA Oracle Database ...

  4. linux 脚本 if判断 o,shell脚本常用脚本:if判断

    shell脚本常用脚本:if判断 str1 = str2当两个串有相同内容.长度时为真 str1 != str2当串str1和str2不等时为真 -n str1当串的长度大于0时为真(串非空) -z ...

  5. hadoop--hadoop集群常用脚本

    集群启动/停止方式总结 各个模块分开启动/停止(前提配置ssh)常用 1). 整体启动/停止HDFS: start-dfs.sh/stop-dfs.sh 2).整体启动/停止YARN: start-y ...

  6. 目标检测数据集制作常用脚本集合

    常用脚本集合 1.VOC格式篇 2.COCO格式篇 3.图像尺寸变换 1.VOC格式篇 这个代码的用途是将annotations下的xml文件转换成txt形式的labels. # 第二步运行 impo ...

  7. MS SQL 日常维护管理常用脚本(二)

    下面是整理.收集监控数据库运行的一些常用脚本,也是MS SQL 日常维护管理常用脚本(一)的续集,欢迎大家补充.提意见. 查看数据库登录名信息 Code Snippet SELECT name     ...

  8. 在制品和成本故障排除常用脚本

    摘自:在制品和成本故障排除常用脚本 - 王小航 - 博客园 (cnblogs.com) 1. 待定在制品物料事务处理? 这些脚本只是Oracle支持服务提供以故障排除为目的.  这些脚本已经过测试且照 ...

  9. android adb 分析,android adb shell常用脚本分析课件.ppt

    android adb shell常用脚本分析课件 ADB概要 Android 调试系统是一个面对客户服务系统,包括三个组成部分: 电脑上运行的客户端. 在你用于开发的机器上作为后台进程运行的服务器. ...

最新文章

  1. JavaScript触摸与手势事件
  2. sftp 中文乱码 连接后_sftp服务器中文乱码
  3. python mq_RabbitMQPython
  4. theano 0.7 版本降到0.6 版本
  5. 只懂黑盒测试也能学会代码覆盖率分析和精准测试
  6. CocosCreator2.3.1按钮节点防止多次连续点击
  7. 计算机无法安装dx11,Windows10系统DX11正确的安装路径是什么?
  8. ActiveMQ消息处理机制-Topic方式(二)
  9. creator pvr etc
  10. html5源码 母亲节,母亲节H5:非常有创意的5款母亲节H5案例分享
  11. 专业测评:iphone7致命缺陷曝光
  12. 在Ubuntu下载Python3.6.2并建立软连接
  13. HTML+CSS+原生JS写一个简易的音乐播放器(仅播放一首歌)
  14. 物联网的通信技术以及Wi-Fi、一键配网技术、BLE、GPRS(2G)、LTE-Cat1 、NB-IoT简介
  15. pytest执行用例报“Skipped: no variables file“跳过执行case问题解决
  16. knockoutjs的MVVM机制
  17. Java程序员的互联网转型之路
  18. 用不起!中国移动首个5G套餐确认,最低消费118元!
  19. iOS发布app到App Store教程
  20. MATLAB图像处理--高斯低通滤波、高斯高通滤波(代码及示例)

热门文章

  1. 计算机类和鼠标类是什么关系,常见鼠标的种类
  2. 如何计算一年总共有多少周_美国计算机CS专业一年需要多少留学费用?
  3. python实现简单爬虫功能(网站图片)
  4. 如果你能用你的大脑控制电脑,感觉怎么样?
  5. 虚幻UE4中PC端的水着色教程
  6. 真·摸鱼带师!每天工作10分钟年薪57万,这位程序员火了
  7. 小米造车150天:烈火烹油第一枪
  8. LinkedBlockingQueue 注记
  9. linux正则表达有话说
  10. iOS开发拓展篇—静态库