码迷,mamicode.com
首页 > 系统相关 > 详细

shell学习笔记

时间:2017-02-26 12:52:11      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:linux   源文件   记录   黑客攻击   touch   

前几年学习shell留下来的,可惜的是不全了。


判断网站目录文件或者linux系统重要文件是否被篡改,被黑客攻击。

首先记录文件原dm5

创建10个测试文件

touch{1..10}.log

md5sum/tmp/* >/home/darren/source.log  生成源文件

md5sum –c /home/darren/source.log  检查文件是否被篡改。

 

脚本实现:

#/bin/sh

[ ! –f /home/Darren/source.log ] && md5sum/tmp/*>source.log

md5sum -c /home/darren/source.log | grep -i FAILED >error.log

if [cat error.log | wc –l –ge 1 ] then

 echo “cat error.log”

fi

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

#!/bin/sh

find /etc/ -type f –name “*” –exec md5sum {} >/home/darren/source.log\;

 

echo –e “\n”避免交互的用法

 

 

 

-z

检测字符串长度是否为0,为0返回 true

-n

检测字符串长度是否为0,不为0返回 true

str

检测字符串是否为空,不为空返回 true

 

打印hosts ip地址对应的域名。

#!/bin/sh

read  -p "please in putip address:" ip

[ -n "`grep "$ip" /etc/hosts`" ] &&echo "the ip address:`grep "$ip"

 /etc/hosts | awk ‘{print$2}‘`"

 

shell颜色定义:

black="\033[30m

red=\033[31m

green=\033[32m

yellow=\033[33m

blue=\033[34m

zi=\033[35m

tianlan=\033[36m

whit=\033[37m

res=\033[0m

列子:echo -e "\033[33m 黄色字 \033[0m"

 

输入名字和颜色,输出名字对应的颜色:            

#!/bin/sh

red="\033[31m"

green="\033[32m"

yellow="\033[33m"

blue="\033[34m"

zi="\033[35m"

res="\033[0m"

if [ $#-ne 2 ];then

   echo "usg red|yellow|green|blue"

#read-p "please input name and color:" name color

fi

case $2in

yellow)

echo -e"$yellow $1 $res"

;;

green)

echo -e"$green $1 $res"

;;

*)

echo -e"$zi $1 $res"

;;

esac

 

函数:

例一:

darren() {

echo “Iam linux engineer!”

}

darren

 

例二:定义一个函数库,然后用另一个脚本执行函数库。

vi /darren/scripts/fucktions.sh

#/bin/sh

darren() {

echo “Iam linux engineer!”

}

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

#/bin/sh

. /darren/scripts/fucktions.sh

darren

 

 

 

jobs查看后台正在运行的程序。

fg 1
把后台运行的程序在CRT中执行,如果关闭CRT或者断网,则程序执行失败。

bg   
放到后台执行。

 

 

生成随机数密码的方式:

 

echo $RANDOM

$random | md5sum

$random| md5sum | cut -c 10-15

$(date+%N%t)

$random$(date+%N%t) | md5sum     #常用方法

opensslrand -base64 8

 

 

shell非交互式:

echotest:123456 | chpasswd

echo‘123456‘| passwd --stdin test

 

breakcontinueexit

 

设置脚本开机启动:chkconfig –list

脚本文件开头需要加上以下两行,- 代表运行级别、85代表开机执行顺序、15代表关机执行顺序。

#chkconfig: - 85 15
# description: description for the service

把脚本名字复制到/etc/init.d/xxx

chmod755 /etc/init.d/xxx

chkconfig–add xxx

chkconfig–list | grep xxx

chkconfigxxx on 或者chkconfig –leve 35 xxx on

 

 

echo –n 不换行

\n 换行

echo –e 执行有特殊含义的命令。

 

锁定文件 chattr +i /etc/passwd

解锁文件 chattr –i /etc/passwd

 

 

 

 

 

数组:

darren=(12 3)      创建数组名

echo${#darren[@]} 查看数组的长度,或echo {#darren[*]}

echo ${darren[0]}   取数组的第一个元素。

echo ${darren[1]}   取数组的第二个元素。 

echo ${darren[2]}   取数组的第三个元素。

echo ${darren[*]}   取整个数组的元素。

echo ${darren[@]}   取整个数组的元素。

 

给数组赋值:

darren[0]=5把第一个元素赋值为5

echo${darren[0]}

unset darren   删除整个数组。

unset darren[0]删除单个数组。

echo${darren[@]:3:2}  3个元素开始取2

echo ${darren[@]/3/5}3换成5

echo ${darren[@]/oldboy/new}oldboy换成new

Darren1=(${darren[@]/oldboy/new})改变数组使生效

定义数组的第二种方式:

darren=([1]=one[2]=two [3]=three)

 

定义数组的第三种方式:

darren[1]=adarren[2]=b darren[3]=c

 

工作中常用方法:

darren=($(ls /tmp))

echo${darren[@]}

 

数组的脚本:

#!/bin/sh

darren=(

darren1

darren2

darren3

darren4

darren5

)

for((i=0 ;i<${#darren[@]};i++))

do

echo $i${darren[$i]}

done


本文出自 “王家东哥” 博客,谢绝转载!

shell学习笔记

标签:linux   源文件   记录   黑客攻击   touch   

原文地址:http://xiaodongge.blog.51cto.com/11636589/1901342

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!