cal:

日期

cal 2017       #输出2017的日历表

#这里用date可以看到当前系统时间

 

timedatectl:

更为强大的时间工具

重定向:

> 重定向    >> 追加       #必须是正确命令

          标准输出   默认为1: 1>     ==   >

          标准错误    为2:         2>

          &     并且,  相当于1+2,正确错误重定向进去

null  黑洞接口     /dev/null      #和路由里的null差不多

sh test.sh 1> file.out 2> file.err

重定向是一个很好的文本处理工具

权限:

ll :        //查看详细信息

  字段一:

 第一个字符:

          - 文件  l 链接  d 文件夹

 二到十的字符为权限

          分别为所属用户(user) 所属组(group)其他人(others)#三个为一组

w: 可写

r: 可读

x:可执行

read (r /读/4) write(w /写/2) execute(x /执行/1)

chmod g=--- //g代表组 -为清除

chmod g=wr //g代表组 wr为可读可写

  字段二:

          所属用

  字段三:

         所属组

特殊权限:

chmod:

     o + rx    #给其他用户加权限,此目录可读可执行不可写

     chown www:www   /home/herry   #可以修改所属用户和组

     g + rx   #给组加权限,可读可执行不可写 

 

groupadd     #添加一个组

chgrp    组     文件夹和文件      #给文件或文件夹添加一个组

getfacl:

     查看用户详细的权限

getfacl  alex

     #在给权限的时候一般是最多给5,也就是不可写的。

 

user          gruop          other

r w x          r w x         r w x     /读/写/执行

4 2 1          4 2 1         4 2 1

一般文件夹755,文件644

文件夹非所属用户最可为可执行可写

文件最高应为可执行可查看

文件夹是基数权限,文件是偶数权限

 

history

     查看历史命令

默认历史命令记录1000条

history -c 清除历史命令

可以使用 history的编号

! 调用

!?mr 匹配一个mr结尾的历史命令

!编号

!命令头部

ctrl + r   可以输入字母匹配命令

^passwd^group    替换上一条命令

# 总结:history极大的方便了使用者,但是也方便了一些不怀好意的人,一些人通过history可以查看到系统的习惯配置,造成信息安全泄露。

 

shell:

$      #这个是用于调用变量

$?     #最后一次执行的命令返回状态。这个变量的值为0证明上一次命令正确执行,返回0则上一次命令执行不正确

$$     #当前进程的进程号

$!     #后台运行的最后面一个进程号

$#          #参数个数

#!/bin/bash

echo "date si $(date)"

echo "查看当前目录 $(pwd)"

echo "查看当前用户 $(whoami)"

for i in {1..10}

do

useradd user$i

done

-------------------------------------------------------------------------------------------------

case "$1" in

     1502) #输入什么

     echo "me are NB" #输出什么

;;

     1503)

     echo "he are cuo"

     *)

     echo "no"

esac

----------------------------------------

if [ "$1" = "kerne" ];then

   echo "user"

elif [ "$1" = "user" ];then

   echo "kerne"

else

   echo "usage:/root/program kernel|user"

fi

-------------------------------------------------------------

if [ $# -eq o ] ;       # $#为参数个数

then                    #eq 恒等于

     echo "user no found!"

exit 1        #结束判断并继续执行下面的     

fi

#判断是否有输入

if [ ! -f $1 ] ;

then        #f表示文件

     echo "input file in bad"

exit 1

fi

#判断是否为文件

 

while read line #读行

do

     useradd $line

     echo redhat | passwd --stdin $line   #line为行

done < $1    #退出你读的文件

#读取行来进行操作

#! /bin/bash

#by :Linhut

echo "========================"

echo "=    www.linhut.cn     ="

echo "========================"

echo "|欢迎使用用户管理脚本  |"

echo "|请按下面序号选择模式  |"

echo "|a:使用添加用户功能    |"

echo "|b:使用删除用户功能    |"

echo "|任意键退出用户管理脚本|"

echo "------------------------"

read -p "please input : " pmxz

if [ $pmxz == "a" ];then

    read -p "请输入你要添加的用户:" aa

    useradd $aa

    echo "成功添加用户"$aa

    echo $aa"用户环境变量"

           cat /etc/passwd | grep $aa

           echo $aa"用户组环境变量"

           cat /etc/group | grep $aa

           echo "正在修改用户"$aa"密码"

    echo redhat | passwd --stdin $aa

    echo "==========成功============"

elif [ $pmxz == "b" ];then

    read -p "请输入要删除用户" bb

    echo "请输入你要删除的用户"

    echo "正在删除"$bb

    userdel $bb -r

    echo "========删除用户"$bb"成功======="

else

    echo "成功退出!欢迎使用!"

fi

#总结: 使用shell脚本可以减少一些工作量,一些重复的工作可以使用脚本来执行。

 

#一些python语法

for i in aaa:

     if   or  :

          print .....

     elif i = 2:

          print .....

     else:

          print .....

wheil Ture:


视频链接:

链接: http://pan.baidu.com/s/1c1WjkBI 密码: jt5h

课后练习:

https://app.yinxiang.com/shard/s67/nl/18316928/939431ee-c106-4ee0-a233-874ac79e7b3b?title=%E7%AC%AC%E4%BA%8C%E6%AC%A1%E4%BD%9C%E4%B8%9A