第一部分
1、 清空日志的三种办法
① 、echo>test.long
② 、cat /dev/null >test.log
③ 、>test.long
2、 vi与vim都可以打开文件,vim加进一个全局变量文件(etc/profile),那么etc/profile与/etc/rc.local都运行,那么有什么区别:跟变量有关的都要写到这个变量里面(例如:复值,变量啊),而/etc/rc.local都是命令之类的东西,若想让立刻生效那么(source /etc/profile)source他是让某个配置文件刷新一下
3、 ba shell是有漏洞的我们怎么去发现这个漏洞呢
第一步:yum –y install update bash
第二步:env x=’(){ :;};echo be careful’ bash –c “echo this is a test”
4、 解析的语言有
① 、#!/bin/sh
② 、#!/bin/bash
③ 、#!usr/bin/awk
④ 、#!/bin/sed
⑤ 、#!/usr/bin/tcl
⑥ 、#!/usr/bin/env pyton
5、 shell执行的方式
① 、bash或者是sh scripts-name
② 、path/scripts-name,这种方法必须给脚本x权限
③ 、source 他可以将函数或者变量加载到shell
6、 变量分为两种
① 、环境变量
环境变量的作用:可以用echo $PATH的值(bash在执行命令的时候会在变量原始文件去找相应的值)
② 局部变量bash 用pstree可以看到好几个bash(a=3,echo $a 会显示,但是bash(bash当前界面)就会取不到,不是在整个linux系统中都生效,那么怎让全局生效,用一下export a=3他就会在全局都生效)
③ 变量还可以给自己赋值(假如a=5 a=a+1 a=$((a+1)) )
7、 命令也可以写到变量里面(假如a=“echo ‘1111’”,取变量的值,回车就等于执行)
8、 $# $* $0
① $#代表传递参数的个数
② $*把所有参数列出来
③ $0是传递的路径
9、 关于$?测试 0为成功,1 为失败 test –d /media/cdrom echo $? 显示0为测试成功,显示1测试失败
插入内容
① 、echo “111111” && echo “7777”,两个数字都会显示 &&的概念前面语句执行为真,后面语句才会执行,前面执行为假后面就不在执行
② 、echo “1111111” || echo “77777”,前边执行为假,我才执行后面的;如果前面为真后面就不执行了