zoukankan      html  css  js  c++  java
  • linux学习记录5

    for条件循环语句

    新建列表 vim user.txt

    andy

    barry

    carl

    duke

    eric

    george

    ----------------------------------------------------------------------------------------------------

    vim hehe.sh

    #!/bin/bash
    #this is user for
    read -p "Enter:" PASSWD
    for UNAME in `cat user.txt`   ``:反引号是执行里面的命令
    do                                    for循环的结构要求,类似数学题,没写解字,要扣分
    id $UNAME &> /dev/null    id命令是查看用户信息
    if [ $? -eq 0 ]         如果存在,返回为0
    then
    echo "Aleady Exists"    提示该账户已存在
    else
    useradd $UNAME &> /dev/null        如果不在,就创建出来  新建信息进黑洞文件。

    echo "$PASSWD" | passwd --stdin $UNAME &> /dev/null   将用户输入的值接收,赋值到用户命令下
    echo "$UNAME,Create Success"
    fi
    done  记得写上done,结束for循环

    ----------------------------------------------------------------------------------------------------

    以上就是一个批量创建用户以及自定义密码的脚本

    ----------------------------------------------------------------------------------------------------

    vim ip.txt          新建一个ip.txt

    127.0.0.1

    127.0.0.2

    111.0.0.3     上ip(第三个故意的)

    vim testip.sh   新建一个测试ip脚本

    #!/bin/bash
    ZHUJI=$(cat ip.txt)
    for IP in $ZHUJI
    do
    ping -c 3 -i 0.2 -W 3 $IP &> /dev/null
    if [ $? -eq 0 ]
    then
    echo "Host $IP is on-line"
    else
    echo "Host $IP is off-line"
    fi
    done

    ----------------------------------------------------------------------------------------------------

    while 条件

    vim while.sh


    #!/bin/bash
    #ijufrhngijedsrgkels
    PRICE=$(expr $RANDOM % 1000)      在1000内随机抽取
    TIMES=0      存储次数用
    while true     条件为真
    do            解
    read -p "Enter:" INT    写个数字保存变量
    let TIMES++           次数加一
    if [ $INT -eq $PRICE ] ; then            如果等于
    echo "Success,$TIMES"           猜对了
    exit 0              退出
    elif [ $INT -gt $PRICE ] ; then              如果大于
    echo "HIGH" 
    else
    echo "LOW"                                      如果小于  输出low
    fi
    done

    ----------------------------------------------------------------------------------------------------

     

    case   防止用户瞎输入字符,限制字符

    ----------------------------------------------------------------------------------------------------

    /bin/bash
    #dfjhrgiui
    read -p "Enter:" KEY
    case "$KEY" in
    [a-z]|[A-Z])    这个  |  现在是或者的意思echo "ZIMU"

    ;;
    [0-9])
    echo "SHUZI"
    ;;         这个;是结束得意
               
    *)
    echo "ERROR"
    esac

    ----------------------------------------------------------------------------------------------------

    计划任务

    at 时间

    at> reboot

    ctrl+D  查看计划任务

    at -l 查看计划任务   具体信息用at -c 编号

    atrm 编号   删除计划任务

    crond 服务名称

    crontab 配置工具

    分 时 日 月 星期 命令

    crontab -l    查看计划任务

    crontab -e 进入刚刚创建的计划任务

    crontab -c

    ~

    ~

    分     时      日    月     星期 命令
    *         *       *       *       *        *

    例子:50 21 * * * /usr/sbin/reboot  每年每月每日的21点50分重启服务器

     

    用户身份与能力

    管理员  uid:0

    系统用户  uid:1~999

    普通用户   uid:1000~

    useradd 创建用户   例如:useradd zhangsan    id zhangsan   查看用户信息

    创建用户并指定uid为其他号码,   useradd -u 8888 lisi

    useradd -s /sbin/nologin wangwu   创建用户王五并且不让其登录

    新建用户组   groupadd haha   会被保存在/etc/group

    新建好的用户名的uid想修改:usermod -u 4567 zhangsan

    已创建好的zhangsan用户不再允许其登录服务器:usermod -s /sbin/nologin zhangsan

    重置用户密码

    passwd zhangsan   输入两次密码

    home里也有,如果删除了该账户的话记得也把home的删除

    权限

    前三位所有者  所属组   其他用户

    r  read  读   4

    w  write  写    2

    x  execut  执行   1  

    777   rwxrwxrwx

    r--r-x-w-   452

    765  rwxrw-r-x

    r-x--x-w-   512

    完。

    不知道我的记录有没有误解其他正在学习的人,如果我哪里不对,还希望能够指出来,谢谢。

     

  • 相关阅读:
    由保存当前用户引发的springboot的测试方式postman/restlet还是swagger2
    VS集成opencv编译C++项目遇到的问题
    利用StringUtils可以避免空指针问题
    springboot集成Guava缓存
    Oracle 课程四之索引
    Oracle 课程三之表设计
    Oracle 课程二之Oracle数据库逻辑结构
    Oracle 课程一之Oracle体系结构
    Oracle权限一览表
    Informatica元数据库解析
  • 原文地址:https://www.cnblogs.com/1024ndd/p/11144666.html
Copyright © 2011-2022 走看看