while条件循环语句
[root@Redhat ~]# echo $RANDOM //取随机数
11009
[root@Redhat ~]# echo $RANDOM
1234
[root@Redhat ~]# echo $RANDOM
3552
[root@Redhat ~]# echo $RANDOM
11444
[root@Redhat ~]# vim haha.sh
PRICE=$(expr $RANDOM % 1000) //expr,计算后面的值, 取余
TIMES=0
while true
do
read -p "Enter: " INT
let TIMES++
if [ $INT -eq $PRICE ]
then
echo "$TMIES,Congratulation!"
exit 0
elif [ $INT -gt $PRICE ]
then
echo "high!!!"
else
echo "low!!!"
fi
done
[root@Redhat ~]# ./haha.sh
Enter: 323
low!!!
Enter: 888
high!!!
Enter: 666
3,Congratulation!
case
[root@Redhat ~]# vim haha.sh
read -p "Enter: " KEY
case "$KEY" in
[a-z]|[A-Z]) //[a-z][A-Z]代表两个字母,如aL
echo "字母"
;;
[0-9])
echo "数字"
;;
*)
echo "Error"
esac
[root@Redhat ~]# ./haha.sh
Enter: h
字母
[root@Redhat ~]# ./haha.sh
Enter: 3
数字
[root@Redhat ~]# ./haha.sh
Enter: 3d
Error
一次性的计划任务 at
[root@Redhat ~]# at 8:00
at> reboot //一次性任务,8:00重启
at>Ctrl+D //Ctrl+D保存
[root@Redhat ~]# at -l //显示当前又哪些计划任务
1 Thu Feb 27 08:00:00 2020 a root
[root@Redhat ~]# at -c 1 //1是上面显示的序列号,这条命令可以看到at输入的一次性任务的命令
[root@Redhat ~]# atrm 1 //删除计划任务
[root@Redhat ~]# at -l
[root@Redhat ~]#
字段 说明
分钟 取值为0~59的整数
小时 取值为0~23的任意整数
日期 取值为1~31的任意整数
月份 取值为1~12的任意整数
星期 取值为0~7的任意整数,其中0与7均为星期日
命令 要执行的命令或程序脚本
有周期性的计划任务 crond 服务名称
crontab 配置工具
分 时 日 月 星期 命令 //空值用*占位
-e编辑一个计划任务 -u编辑某个用户的计划任务
[root@Redhat ~]# crontab -e
* * * * * reboot//这样时不行的,要写出命令的路径
* * * * * /usr/sbin/reboot //每分钟重启一次
需要说明的是,除了用逗号(,)来分别表示多个时间段,例如“8,9,12”表示8月、9月和12月。还可以用减号(-)来表示一段连续的时间周期(例如字段“日”的取值为“12-15”,则表示每月的12~15日)。以及用除号(/)表示执行任务的间隔时间(例如“*/2”表示每隔2分钟执行一次任务)
[root@Redhat ~]# crontab -l -u admin //查看其他用户的计划任务
no crontab for admin
第五章:
useradd
参数 作用
-d 指定用户的家目录(默认为/home/username)
-e 账户的到期时间,格式为YYYY-MM-DD.
-u 指定该用户的默认UID
-g 指定一个初始的用户基本组(必须已存在)
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的基本用户组
-s 指定该用户的默认Shell解释器
root 管理员 uid=0
系统用户 RHEL5/6 uid=1-499 RHEL7 uid=1-999
普通用户 RHEL5/6 uid=500-65535 RHEL7 uid=1000-未知(反正够用)
[root@Redhat ~]# id admin
uid=1000(admin) gid=1000(admin) groups=1000(admin),10(wheel)
[root@Redhat ~]# id xiaoqi
uid=1005(xiaoqi) gid=1005(xiaoqi) groups=1005(xiaoqi)
[root@Redhat ~]# useradd -u 6666 xiaomo
root@Redhat ~]# useradd -u 6666 haha
useradd: UID 6666 is not unique
基本组:有且只有一个
扩展组:可以有多个
[root@Redhat ~]# groupadd linuxcool
[root@Redhat ~]# usermod -G linuxcool xiaoqi
[root@Redhat ~]# id xiaoqi
uid=1005(xiaoqi) gid=1005(xiaoqi) groups=1005(xiaoqi),6667(linuxcool) //这就多出了一个扩展组
-g修改基本组 -G修改扩展组
[root@Redhat ~]# usermod -u 5555 xiaoqi //修改uid,跟创建用户一样
[root@Redhat ~]# id xiaoqi
uid=5555(xiaoqi) gid=1005(xiaoqi) groups=1005(xiaoqi),6667(linuxcool)
Changing password for user admin.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@Redhat ~]# echo admin | passwd --stdin admin
Changing password for user admin.
passwd: all authentication tokens updated successfully.
[root@Redhat ~]# useradd zhangsan
useradd: user 'zhangsan' already exists
[root@Redhat ~]# userdel zhangsan
[root@Redhat ~]# id zhangsan
id: zhangsan: no such user
[root@Redhat ~]# cd /home/
[root@Redhat home]# ll
total 4
drwx------. 14 admin admin 4096 Feb 25 19:47 admin
drwx------. 3 lisi lisi 74 Feb 25 22:28 lisi
drwx------. 3 wangwu wangwu 74 Feb 25 22:28 wangwu
drwx------. 3 xiaomo xiaomo 74 Feb 26 23:05 xiaomo
drwx------. 3 xiaoqi xiaoqi 74 Feb 26 23:05 xiaoqi
drwx------. 3 1001 1001 74 Feb 25 22:28 zhangsan //还在,没删干净
drwx------. 3 zhaoliu zhaoliu 74 Feb 25 22:28 zhaoliu
[root@Redhat home]# userdel -r lisi //这样就彻底删干净了
[root@Redhat home]# ll
total 4
drwx------. 14 admin admin 4096 Feb 25 19:47 admin
drwx------. 3 wangwu wangwu 74 Feb 25 22:28 wangwu
drwx------. 3 xiaomo xiaomo 74 Feb 26 23:05 xiaomo
drwx------. 3 xiaoqi xiaoqi 74 Feb 26 23:05 xiaoqi
drwx------. 3 1001 1001 74 Feb 25 22:28 zhangsan
drwx------. 3 zhaoliu zhaoliu 74 Feb 25 22:28 zhaoliu
[root@Redhat ~]# ll
total 24
-rw-r--r--. 1 root root 0 Feb 25 19:55 5
-rw-------. 1 root root 1034 Feb 16 07:47 anaconda-ks.cfg
drwxr-xr-x. 2 root root 40 Feb 21 19:52 Desktop
drwxr-xr-x. 2 root root 6 Feb 16 18:25 Documents
drwxr-xr-x. 2 root root 6 Feb 16 18:25 Downloads
-rwxr--r--. 1 root root 124 Feb 26 15:16 haha.sh
-rw-r--r--. 1 root root 1085 Feb 15 23:51 initial-setup-ks.cfg
-rw-r--r--. 1 root root 36 Feb 25 22:48 ip.txt
drwxr-xr-x. 2 root root 6 Feb 16 18:25 Music
drwxr-xr-x. 2 root root 6 Feb 16 18:25 Pictures
drwxr-xr-x. 2 root root 6 Feb 16 18:25 Public
-rw-r--r--. 1 root root 50 Feb 21 19:53 stderr.txt
drwxr-xr-x. 2 root root 6 Feb 16 18:25 Templates
-rw-r--r--. 1 root root 29 Feb 25 21:08 user.txt
drwxr-xr-x. 2 root root 6 Feb 16 18:25 Videos
第一位代表的意义:
-:普通文件。
d:目录文件。
l:链接文件。
b:块设备文件。设备信息,硬盘,光驱,鼠标键盘等等
c:字符设备文件。
p:管道文件。
权限
所有者 所属组 其他用户 rwx 421
对于一般文件:r查看文件内容的权限 w修改文件内容的权限 x如果文件时脚本文件,可以执行脚本的权限
对于目录文件:r查看目录内文件列表的权限 w新建改名删除文件的权限 x进入一个目录的权限,例如cd
本文深入探讨了Linux下的Shell编程技巧,包括条件循环、case语句的应用,以及如何使用at和crontab进行任务调度。同时,详细讲解了用户管理命令useradd、usermod、userdel的参数与使用方法,以及权限设置的基础知识。
641

被折叠的 条评论
为什么被折叠?



