几个Shell编程例子

来源:互联网 发布:华钦软件 编辑:程序博客网 时间:2024/05/01 08:31

1 利用shell自动删除50个账号:

 

#! /bin/bash
i=1
while [ $i -le 50 ]
do
 echo studi$i
 if  [ -n "`ls /etc/passwd|grep -i stud$i `"]
 then
    userdel -r stdu$i
    echo "stdu$i is deleted from /etc/passwd"
 else
    echo " no user stud$i found"
 fi
i=$(($i+1))
done

 

2 利用shell程序在/userdata目录下创建user1 至50个目录,设置文件所有者读写执行权限,其他用户读权限,文件所在组读 执行权限。

 

先看下linux下文件权限的解释:摘自他人目录:

 

Linux用户分为:拥有者、组群(Group)、其他(other)

Linux系統中,预设的情況下,系統中所有的帐号与一般身份使用者,以及root的相关信息, 都是记录在/etc/passwd文件中。每个人的密码则是记录在/etc/shadow文件下。 此外,所有的组群名称记录在/etc/group內!

Linux文件权限 - secyaher - 隐龙 为了一生的信念








--图A
Linux文件权限 - secyaher - 隐龙 为了一生的信念










--图B

文件类型部分(档案类型):
-为:表示文件
d为:表示文件夹
l为:表示链接文件,可以理解为 windows中的快捷方式(link file)
b为:表示里面可以供存储周边设备
c为:表示里面为一次性读取装置

接下来的部分中,以三个字母为一組,均为『rwx』 三个参数组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 三个参数的位置不会改变,如果没有相对应的权限,则该位置出现减号[ - ]。

第一组为:拥有者的权限
第二组为:组群的权限
第三组为:其他的权限

文件大小的单位为:字节--bytes

 

#! /bin/bash
i=1
while [ $i -le 50 ]
do
        if [ -d /userdata ]
        then
                mkdir -p /userdata/user$i
        else
                echo "userdata is not existing"
                mkdir /userdata
                mkdir -p /userdata/user$i
        fi
i=$(($i+1))

done
chmod 754 /userdata/user*

 

 

 

原创粉丝点击