第五周作业

1、编写脚本 createuser.sh,实现如下功能:使用一个用户名做为参数,如果 指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等信息

#!/bin/bash
read -p "请输入一个用户名:" USERNAME
if `id $USERNAME &> /dev/null`;then
echo "用户存在,用户ID为:`id $USERNAME`"
else
`useradd $USERNAME &>/dev/null`
`echo "123456"| passwd --stdin $USERNAME &>/dev/null`
`chage -d 0 $USERNAME`
echo "用户已添加,用户ID为:`id $USERNAME` 密码为:123456 首次登陆请修改密码"
fi

2、编写生成脚本基本格式的脚本,包括作者,联系方式,版本,时间,描述等

#!/bin/bash
cat >.vimrc<<EOF
set number
set tabstop=4
set cursorline
set autoindent
syntax on
set expandtab
autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"
func SetTitle()
    if expand ("%:e") == 'sh'
        call setline(1, "#!/bin/bash")
        call setline(2, "#")
        call setline(3, "#*********************************************************#")
        call setline(4, "#Author:           zhan****")
        call setline(5, "#Blog:             https://www.cnblogs.com/handsomezhy/")
        call setline(6, "#Date:             ".strftime("%F %T"))
        call setline(7, "#FileName:         ".expand("%"))
        call setline(8, "#Version:          V1.0")
        call setline(9, "#QQ:               4065*****")
        call setline(10, "#Description:     This is a production script.")
        call setline(11, "#Copyright(C):    ".strftime("%Y")." All rights reserved")
        call setline(12, "#*********************************************************#")
        call setline(13, "")
    endif
endfunc
EOF

3、查找/etc目录下大于1M且类型为普通文件的所有文件

find /etc/ -type f -size +1M

4、打包/etc/目录下面所有conf结尾的文件,压缩包名称为当天的时间,并拷贝到/usr/local/src目录备份。

find /etc/ -name "*.conf"|xargs tar -zcvf /usr/local/src/`date +%F`.tar.gz
ls /usr/local/src/
2020-12-21.tar.gz

5、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件或目录

find / -atime -7 -a -nouser -o -nogroup

6、查找/etc目录下至少有一类用户没有执行权限的文件

find /etc -not -perm /111
posted @ 2020-12-22 14:57  gody2019  阅读(92)  评论(0)    收藏  举报