Linux 基础知识(六.三)

按找下列要求,写一个脚本
(1)创建目录/tmp/testdir-当前日期时间
(2)在此目录创建100个空文件:file1-file100
(3)显示/etc/passwd文件中位于偶数行的用户的用户名
(4)创建10个用户:user10-user19,密码同用户名
(5)在/tmp创建10个空文件file10-file19
脚本如下:
#!/bin/bash

#set variable date
date=$(date +%Y%m%d)

#create directroy
mkdir /tmp/testdir-${date}

#create 100 empty file 
for i in {1..100}; do
    touch /tmp/testdir-${date}/file${i}
done

#display enev line in the file /etc/passwd
for i in {1..19};do
    let judge_enev=${i}%2 
    if [ ${judge_enev} -eq 0 ];then
        echo "The No.${i} username is $(cat /etc/passwd | head -${i} |tail -1 |cut -d: -f1)"
    else
        continue
    fi
done

#create 10 user and set username is user's password
begin_num=10
for i in {1..10};do
    id user${begin_num} &> /dev/null
    if [ $? -eq 0 ];then
       echo "The user is existed."
    else
       useradd user${begin_num}
       echo "user${begin_num}" | passwd –stdin user${begin_num} &> /dev/null
    fi
    let begin_num+=1
done
echo "User10-User10 was Created!"

#create 10 empty file
for i in {10..19};do
    touch /tmp/file${i}
done
echo "File10-File19 was Created!"

原创文章,作者:Tornado,如若转载,请注明出处:http://www.178linux.com/55404

(1)
TornadoTornado
上一篇 2016-11-14 08:29
下一篇 2016-11-14 08:30

相关推荐

  • Linux终端类型

    Linux终端类型 Linux的终端类型包括控制台终端、虚拟终端、伪终端、串行终端、控制终端、图形终端。   终端 要理解伪终端(Pseudo Terminal),先来看看什么是“终端”(Terminal)。 终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。 1、串行端口终端(/dev/ttySx) 串行端口终端(Ser…

    Linux干货 2016-10-14
  • Linux软件包管理与实例

    Linux系统的早期,编译是利用程序代码生成可执行文件的过程的手动编译。虽具有一定优势,但是专业知识要求高,不利于实际操作。因此出现了许多软件包管理器,最具代表的是由Red Hat 推出的RPM。Yum则有利于解决linux安装软件时的依赖性。 所谓依赖性,就是linux系统中的软件将不同的功能模块单独写入到不同的软件包中,最后将多个相互依存的软件包结合起来…

    2017-08-13
  • N22-第五周博客作业

    1、显示当前系统上root、fedora或user1用户的默认shell; [root@bogon ~]# grep -E  "^(root|fedora|user1)" /etc/passwd  | cut -d: -f1,7r…

    Linux干货 2016-09-26
  • linux网络管理 一

    什么是网络?         是指将具有独立功能的计算机和周边设备,通过通信线路连接起来,在网络软件的支持下,实现资源的共享和数据的整个系统。 网络的特征:         速度      …

    2017-03-16
  • linux系统用户管理和grep正则表达式练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@suywien ~]# cp -rpv /etc/skel/ /home/tuser1/ ‘/etc/skel/’ -> ‘/home/tuser1/’ ‘/etc/skel/.mozilla’ ->…

    Linux干货 2018-03-25
  • Linux第三周总结

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d ” -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。 ~]# who|tail -1 3、取出当前系统上被用户当作其默认shell的最多的那个shell ~]# cut -d’:’…

    2017-07-16