Linux就该这么学丨Vim编辑器与Shell命令脚本(二)

一、流程控制语句

1、for条件循环语句

  for 变量名 in 取值列表

  do

    命令序列

  done

  如:文档users.txt中含有andy、barry、carl、duke、eric、george,批量创建这些用户,并设置密码

  #!/bin/bash

  read -p "Enter The Users Password:" PASSWD

  for UNAME in ·cat users.txt·

  do

  id $UNAME &> /dev/null

  if [ $? -eq 0 ]

  then

  echo "Already exists"

  else

  uaeradd $UNAME &> /dev/null

  echo "$PASSWD" | passwd --stdin $UNAME &> /dev/null

  if [ $? -eq 0]

  then

      echo "$UNAME,Create success"

  else

  echo "$UNAME,Create failure"

  fi

  fi

  done

注:·命令·和$(命令)是一样的效果

2、while条件循环语句

  while 条件测试操作

  do

    命令序列

  done

  如:生成个随机数,用户输入猜测值,知道猜对位置

  #!/bin/bash

  PRICE=$(expr $RANDOM % 1000)

  TIME-0

  echo "商品实际价格为0-999之间,猜猜看是多少?"

  while true

  do

  read -p “请输入您猜测的价格:”INT

  let TIMES++

  if [ $INT -eq $PRICE ]

  then

  echo "恭喜您答对了,实际价格 $PRICE"

  echo "你一共猜了 $TIME 次"

  exit 0

  elif [ $INT -gt $PRICE ]

  then

  echo "太高了"

  else

  echo "太低了"

  fi

  done

3、case条件测试语句

  case 变量值 in

  模式1)

    命令序列1

  ;;

  模式2)

    命令序列2

  ;;

  ......

  *)

    默认命令序列

  esac

  如:判断用户输入的树数字、字母还是其他字符

  #!/bin/bash

  read -p "请输入一个字符,并按Enter键确认:" KEY

  case KEY in

  [a-z] | [A-Z]

  echo "您输入的是 字母"

  ;;

  [0-9])

  echo "您输入的是 数字"

  ;;

  *)

  echo "您输入的是空格、功能键或其他的控制字符"

  esac

二、计划任务服务程序

1、一次性计划任务

     如:at 10:10

     at> reboot

   at>同时按下ctrl + d结束计划任务

   at -l:查看已设置好但还未执行的一次性计划任务

   atrm 任务序号:删除任务计划

2、长期性计划任务

   如:crontab -e(进入编程任务)

   25 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot

     分 时 日 月 星期 命令

   crontab -l:查看任务

Linux就该这么学丨Vim编辑器与Shell命令脚本(二)

 

 

用户身份与文件权限

一、用户身份与能力

管理员UID为0,系统用户UID为1-999,普通用户UID从1000开始

1、useradd命令(创建新用户)

  1)-d:指定用户的家目录(,默认为/home/username)

  2)-e:账户的到期时间,格式为YYYY-MM-DD

  3)-u:指定改用户的默认UID

  4)-g:制定一个初始的用户基本组(必须已存在)

  5)-G:指定一个或多个扩展用户组

  6)-N:不创建与用户通行的基本用户组

  7)-s:指定该用户的默认Shell解析器

2、groupadd命名(创建用户组)

3、usermod命令(修改用户属性)

  1)-c:填写用户账号的备注信息

  2)-d -m:参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去

  3)-e:账户的到期时间,格式为YYYY-MM-DD

  4)-g:变更所属用户组

  5)-G:变更扩展用户组

  6)-L:锁定用户禁止其登录系统

  7)-U:解锁用户,允许其登录系统

  8)-s:变更默认终端

  9)-u:修改用户的UID

4、passwd命令(修改用户密码、过期时间、认证信息等)

  1)-l:锁定用户,禁止其登录

  2)-u:解锁用户,允许其登录

  3)--stdin:允许通过标准输入修改用户密码,如echo "NEWPassWord" | passwd --stdin Username

  4)-d:使该用户可用空密码登录系统

  5)-e:强制用户在下次登录时修改密码

  6)-s:显示用户的密码是否被锁定,以及密码所采用的加密算法名称

5、userdel命令(删除用户)

  1)-f:强制删除用户

  2)-r:同时删除用户及用户的家目录

Linux就该这么学丨Vim编辑器与Shell命令脚本(二)

上一篇:JVM进程的优雅关闭


下一篇:linux 管理 网络命令相关