从零开始的Linux运维屌丝之路,资源免费分享平台   运维人员首选:简单、易用、高效、安全、稳定、社区活跃的开源软件

SHELL常用知识点

发布:蔺要红04-21分类: 常用知识


获取目录底下最新的文件名
ls -lt /www/wwwroot/git340.tushop.shop/public/backup/ | grep -E "2019|2020" | head -n 1 |awk '{print $9}'

使用VIM编辑器的时候TAB键改为4个空格
cat >> /etc/vimrc<<EOF
set ts=4
set sw=4
EOF

标准模板
#!/bin/bash
# Date:2018/11/29
# Author:  linyaohong
# BLOG:  ************
# QQ:122123498
# Version:1.0
# User: Centos 7
export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
printf "
+---------------------------------------+
|   your system is CentO7 6 x86_64      |
|           start installing            |
+---------------------------------------+
"

判断用户是否为root 否则退出脚本
[ $(id -u) != "0" ] && { echo "Error: You must be root to run this script"; exit 1; }

判断是否为CentOS7 否则退出脚本
CentOS_ver=$(lsb_release -sr | awk -F. '{print $1}')
[ ${CentOS_ver} != "7" ] && { echo "Error: You must be Centos7 to run this script" ; exit 1; }

判断用户是否存在
run_user="mysql"
id -u ${run_user} >/dev/null 2>&1
[ $? -ne 0 ] && useradd -M -s /bin/bash ${run_user} || echo "user already exists";exit 1

判断是否能正常上网
NET_NUM=`ping -c 4 www.baidu.com |awk '/packet loss/{print $6}' |sed -e 's/%//'`
[ -z "$NET_NUM" ] || [ $NET_NUM -ne 0 ] && { echo "Please check your internet"; exit 1; }

判断目录是否存储否则创建
nginx_install_dir="/www/application/nginx"
[ ! -d "${nginx_install_dir}" ] && mkdir -p ${nginx_install_dir}

判断出CPU的个数,make的时候可以使用 -j 参数加快安装速度
THREAD=$(grep 'processor' /proc/cpuinfo | sort -u | wc -l)

按行读取文本内容并处理
#!bin/bash
if [ ! -f "userlist.txt" ]; then
    echo "userlist.txt 不存在!"
fi
cat userlist.txt|while read line
do
    userid=`echo $line |awk '{print $1}'`
    a=$userid
    echo $a
done

生成随机密码 
[[email protected] include]# tr -dc '_A-Za-z0-9' </dev/urandom | head -c 10
4uF9mC4_WM
[[email protected] include]# passwd=`tr -dc '_A-Za-z0-9' </dev/urandom | head -c 10`
[[email protected] include]# echo $passwd 
7iw2d9f2Ts
#生成随机密码16进制
[[email protected] include]# uuidgen
61366446-b14e-448e-8d37-45eb363e699c

判断一个命令是否存在并且安装(用于shell脚本) 
command -v lsb_release >/dev/null 2>&1 ||  yum -y install redhat-lsb-core

ldconfig命令
 

通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,如有侵权我会在24小时之内删除!

欢迎使用手机扫描访问本站