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