1.
#!/bin/bash
lvmdiskscan | grep centos > /root/a.txt
a=`sed -n '1p' /root/a.txt`
b=`sed -n '2p' /root/a.txt`
c=`sed -n '3p' /root/a.txt`
cat <<eof
** . 分区 $a**
** . 分区 $b**
** . 分区 $c**
eof

2完成版centos分区合并

#!/bin/bash
lvmdiskscan | grep centos > /root/a.txt
cat /root/a.txt | while read ips;
do
a1=`echo $ips|awk '{ print $1 }'`
a2=`echo $ips|awk '{ print $3 }'`
a3=`echo ${a2%.*}`
echo $a1
echo $a3
done
read -p "remove lv: " remove2
read -p "add lv: " add2
read -p "big : " big
rmfstab=`echo ${remove2##*/}`
addlvname=`echo ${add2##*/}`
addlvtype=`blkid | grep $addlvname | awk -F "[\"\"]" '{print $4}'`
umount $remove2
lvremove $remove2
lvextend -L +"$big"G $add2
# 变量记得加双引号
if [[ $addlvtype == xfs ]] ;then
# 根据字符串判断
xfs_growfs $add2
else
resize2fs $add2
fi
sed -i "/"$rmfstab"/d" /etc/fstab
# 删除移除lv开机挂载 注意使用时删除注释内容
mount -a

参考https://www.cnblogs.com/flintlovesam/p/6677037.html

https://www.cnblogs.com/keanuyaoo/p/3359838.html

${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:删掉最后一个 /  及其左边的字符串:my.file.txt
${file#*.}:删掉第一个 .  及其左边的字符串:file.txt
${file##*.}:删掉最后一个 .  及其左边的字符串:txt
${file%/*}:删掉最后一个  /  及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:删掉第一个 /  及其右边的字符串:(空值)
${file%.*}:删掉最后一个  .  及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:删掉第一个  .   及其右边的字符串:/dir1/dir2/dir3/my

记忆的方法为:

复制代码 代码如下:
# 是 去掉左边(键盘上#在 $ 的左边)
%是去掉右边(键盘上% 在$ 的右边)
单一符号是最小匹配;两个符号是最大匹配
 
其他脚本方式参考
https://www.cnblogs.com/out8/p/4353017.html
 
centos7 性能测试
#! /bin/bash
#==============================================================#
# Description: Unixbench script #
# Author: Teddysun <i@teddysun.com> #
# Intro: https://teddysun.com/245.html #
#==============================================================#
cur_dir=/opt/unixbench # Check System
[[ $EUID -ne ]] && echo 'Error: This script must be run as root!' && exit
[[ -f /etc/redhat-release ]] && os='centos'
[[ ! -z "`egrep -i debian /etc/issue`" ]] && os='debian'
[[ ! -z "`egrep -i ubuntu /etc/issue`" ]] && os='ubuntu'
[[ "$os" == '' ]] && echo 'Error: Your system is not supported to run it!' && exit # Install necessary libaries
if [ "$os" == 'centos' ]; then
yum -y install make automake gcc autoconf gcc-c++ time perl-Time-HiRes
else
apt-get -y update
apt-get -y install make automake gcc autoconf time perl
fi # Create new soft download dir
mkdir -p ${cur_dir}
cd ${cur_dir} # Download UnixBench5.1.3
if [ -s UnixBench5.1.3.tgz ]; then
echo "UnixBench5.1.3.tgz [found]"
else
echo "UnixBench5.1.3.tgz not found!!!download now..."
if ! wget -c https://dl.lamp.sh/files/UnixBench5.1.3.tgz; then
echo "Failed to download UnixBench5.1.3.tgz, please download it to ${cur_dir} directory manually and try again."
exit
fi
fi
tar -zxvf UnixBench5.1.3.tgz && rm -f UnixBench5.1.3.tgz
cd UnixBench/ #Run unixbench
make
./Run echo
echo
echo "======= Script description and score comparison completed! ======= "
echo
echo

lvm 扩容分区

     /sbin/fdisk /dev/sda
partprobe #同步分区表到硬盘
ls /dev/sda*
pvcreate /dev/sda3
vgs
vgextend centos /dev/sda3
vgs
lvs
df -h
vgs
lvextend -L +200G /dev/mapper/centos-root
xfs_growfs /dev/mapper/centos-root #扩容真实大小

修改网卡名字脚本 ip和网关 网卡名字 记得修改

#!/bin/bash
NETIP=192.168.120.72
NETGATWAY=192.168.120.1
# 用不到HOSTNAME=dockercang.cn
DNS1=223.5.5.5
ethold=ens192 cat << EOF
+------------------------------------------------------------------+
| ********** Welcome to CentOS .x Rename Network ********** |
+------------------------------------------------------------------+
EOF
[ `whoami` != "root" ] && echo "please use root" && exit
function format() {
echo -e "\033[32m Success!!!\033[0m\n"
echo "#########################################################"
} echo "修改配置文件"
rm -rf /etc/sysconfig/network-scripts/ifcfg-$ethold
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=$NETIP
PREFIX=
GATEWAY=$NETGATWAY
DNS1=$DNS1
EOF
format echo "编辑内核信息"
cat > /etc/sysconfig/grub << EOF
GRUB_TIMEOUT=
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb net.ifnames=0 biosdevname=0 quiet"
GRUB_DISABLE_RECOVERY="true"
EOF
format
echo "生成启动菜单"
grub2-mkconfig -o /boot/grub2/grub.cfg
format
reboot

jdk安装脚本

#!/bin/bash
wget http://192.168.130.150/jdk/jdk-8u211-linux-x64.tar.gz
tar xf jdk-8u211-linux-x64.tar.gz -C /usr/local/
echo "export JAVA_HOME=/usr/local/jdk1.8.0_211" >> /etc/profile.d/jdk8.sh
echo "export CLASS_PATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/jar/tools.jar:\$JAVA_HOME/jre/lib" >> /etc/profile.d/jdk8.sh
echo "export PATH=\$JAVA_HOME/bin:\$JAVA_HOME/jre/bin:\$PATH" >> /etc/profile.d/jdk8.sh
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/apr/lib" >> /etc/profile.d/jdk8.sh chmod +x /etc/profile.d/jdk8.sh
source /etc/profile.d/jdk8.sh
java -version

然后手动执行

source /etc/profile.d/jdk8.sh

关键字查询文件

grep -rn "aaa" /root/
grep -r "aaa" /root/
grep -Rn "data_chushou_pay_info" *.py #根据关键字过滤

批量添加用户

vi adduser.sh

#!/bin/bash
for name in $(more users.list)
do
if [ -n "$name" ];then
useradd -m $name
echo
echo $name"" | passwd --stdin "$name"
echo
echo "user $name's password change"
else
echo
echo 'The username is null'
fi
done

vi users.list

Jason
Miles
James
sh adduser.sh

删除用户脚本

#!/bin/bash
userdel $
cd /home/
rm -rf $
cd /var/spool/mail && rm -f $

另一种加用户方式

#!/bin/sh
for i in $(cat deyimingdan)
do
useradd $i
echo $i | passwd --stdin $i
chage -d $i
echo "$i ALL=(ALL) ALL" >> /etc/sudoers
done
chage -d 0 #表示密码立即过期需要修改密码

centos7 lvm合并分区脚本初探-linux性能测试 -centos7修改网卡名字-jdk环境安装脚本-关键字查询文件-批量添加用户的更多相关文章

  1. 【转载】干货再次来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载八)用命令实现批量添加用户

    Windows添加用户需要至少5个界面,而Linux一条命令就搞定了,这是不是高效人士办公第一法则呢.本文不给你一堆参数和选项,不让你见识教条主义,只给你最实用的代码. 想每天能听到小妞的语音播报,想 ...

  2. 工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本

    一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“Hello ...

  3. 用户管理 之 在Linux系统中,批量添加用户的操作流程

    一.阅读此文件您需要掌握的基础知识: <Linux 用户(user)和用户组(group)管理概述><用户(user)和用户组(group)配置文件详解><Linux 用 ...

  4. (1)使用bash脚本实现批量添加用户

    脚本实现内容: 可以指定用户名前缀,指定添加数量的批量添加用户脚本,密码为10为随机小写字母,并把用户名和密码写入文件中. 脚本代码: #!/bin/bashread -p "用户名前缀:& ...

  5. (转)通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加

    通过shell脚本实现批量添加用户和设置随机密码以及生产环境如何批量添加 原文:http://www.21yunwei.com/archives/4773 有一个朋友问我如何批量创建用户和设置密码 , ...

  6. shell编写一个批量添加用户脚本

                                                          shell编写一个批量添加用户脚本 5.1问题 本例要求在虚拟机server0上创建/roo ...

  7. Linux实现批量添加用户及随机密码小脚本

    通过chpasswd命令可实现迅速为用户批量设置密码     实例:写一个脚本,实现批量添加20个用户user1-20,密码为用户名和后面跟5个随机字符 #!/bin/sh # 思路:通过for循环, ...

  8. Linux下批量添加用户

    添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个.上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加, 必然要找一种简便的创建大量用户的方法. ...

  9. linux下卸载自带的JDK和安装想要的JDK

    卸载 1.卸载用 bin文件安装的JDK方法:      删除/usr/java目录下的所有东西 2.卸载系统自带的jdk版本方法: 查看自带的jdk: #rpm -qa | grep gcj 看到如 ...

随机推荐

  1. Vue中 onmouseenter,onmouseleave,onmouseover,onmouseout的区别

    今天在学Vue视频的时候,提到了这四个触发事件,我就想做下笔记: 1.onmouseenter和onmouseleave是一组:当鼠标进入指定区域的时候触发,但是不支持冒泡,进入或者离开子组件都不触发 ...

  2. 落谷p1325雷达安装(计算几何)

    传送门 //p1325雷达安装 //很明显雷达应该安装在海岸线上 //而为了满足一个点被覆盖那在区间[x - sqrt(d ^ 2 - y ^ 2), x + sqrt(d ^ 2 - y ^ 2)] ...

  3. NO20文件属性--inode--block-企业场景题

    壹  Linux文件属性描述:在Linux里一切皆文件Linux系统中的文件或目录的属性主要包括:索引节点(inode).文件类型.权限属性.链接数.所归属的用户和用户组.最近修改时间等内容. 例子: ...

  4. Windows下使用nginx问题

    1.下载完成后,解压缩,运行cmd,使用命令进行操作,不要直接双击nginx.exe,不要直接双击nginx.exe,不要直接双击nginx.exe 一定要在dos窗口启动,不要直接双击nginx.e ...

  5. 用 Weave Scope 监控集群【转】

    创建 Kubernetes 集群并部署容器化应用只是第一步.一旦集群运行起来,我们需要确保一起正常,所有必要组件就位并各司其职,有足够的资源满足应用的需求.Kubernetes 是一个复杂系统,运维团 ...

  6. 非极大抑制睔PYTHON实现

    非极大抑制(Non-maximum suppression)python代码实现原创Butertfly 发布于2018-11-20 18:48:57 阅读数 293 收藏展开定位一个物体,最后算法就找 ...

  7. R 《回归分析与线性统计模型》page140,5.1

    rm(list = ls()) library(car) library(MASS) library(openxlsx) A = read.xlsx("data140.xlsx") ...

  8. 杭电oj1859:最小长方形(水题)

    最小长方形 题目链接 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem ...

  9. 51nod 1055:最长等差数列

    1055 最长等差数列 基准时间限制:2 秒 空间限制:262144 KB 分值: 80 难度:5级算法题  收藏  取消关注 N个不同的正整数,找出由这些数组成的最长的等差数列. 例如:1 3 5 ...

  10. Nachos-Lab1-完善线程机制

    Nachos是什么 Nachos (Not Another Completely Heuristic Operating System),是一个教学用操作系统,提供了操作系统框架: 线程 中断 虚拟内 ...