linux学习记录5

Posted 1024ndd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

完。

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

 

 

 

 

 

以上是关于linux学习记录5的主要内容,如果未能解决你的问题,请参考以下文章

视频学习记录day13

linux学习记录

2018-3-5 Linux学习笔记

Linux学习记录-7

记录学习第四天---linux基础命令2

linux学习记录-------mysql安装