Shell 函数
一:系统函数1.1 basename(1)基本语法
basename [string / pathname] [suffix]
basename 命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。
basename 可以理解为取路径里的文件名称
选项
suffix 为后缀,如果 suffix 被指定了,basename 会将 pathname 或 string 中的 suffix 去掉。
(2)案例实操1234[root@hadoop100 shell]# basename /root/RupertTears/shell/parameter.sh parameter.sh[root@hadoop100 shell]# basename /root/RupertTears/shell/parameter.sh .shparameter
1.2 dirname(1)基本语法
dirname 文件绝对路径
从给定的包含绝对路径的文件名中去除文件名 (非目录的部分),然后返回剩下的路径(目录的部分)
dirname 可以理解为取文件路径的 ...
Shell IO交互
一:read 读取控制台输入1.1 基本语法
read (选项) (参数)
①选项:
-p:指定读取值时的提示符;
-t:指定读取值时等待的时间(秒)如果-t 不加表示一直等待
②参数:
变量:指定读取值的变量名
1.2 案例实操123456789101112131415[root@hadoop100 shell]# cat while.sh #!/bin/bashi=0sum=0while [ $i -le 100 ]do #sum=$[$sum+$i] #i=$[$i+1] let sum+=i let i++done echo $sum[root@hadoop100 shell]# ./read.sh 请在10秒内输入参数: Ghostwelcome Ghost
Shell 流程控制
一:if 判断1.1 基本语法(1)单分支123if [ 条件判断式 ];then 程序fi
1234if [ 条件判断式 ]then 程序fi
(2)多分支123456789if [ 条件判断式 ]then 程序elif [ 条件判断式 ]then 程序else 程序fi
1.2 注意事项
① [ 条件判断式 ],中括号和条件判断式之间必须有空格 ;
② if 后要有空格;
1.3 案例实操1234567891011121314151617181920[root@hadoop100 shell]# cat if.sh #!/bin/bash# 使用字符串的拼接阻止程序报错if [ "$1"x = "1"x ]then echo "num is one"elif [ "$1"x = "2"x ]then echo "num is two"else echo "others"fi[root@hadoop100 shell]# ./if. ...
Shell 条件判断
一:基本语法
test condition
[ condition ](注意 condition 前后要有空格)
注意:条件非空即为 true,[ ] 为空返回 fasle;
二:常用判断条件2.1 两个整数之间比较
-eq 等于(equal)
-ne 不等于(not equal)
-lt 小于(less than)
-le 小于等于(less equal)
-gt 大于(greater than)
-ge 大于等于(greater equal)
注:如果是字符串之间的比较 ,用等号“=”判断相等;用“!=”判断不等。
2.2 按照文件权限进行判断
-r 有读的权限(read)
-w 有写的权限(write)
-x 有执行的权限(execute)
2.3 按照文件类型进行判断
-e 文件存在(existence)
-f 文件存在并且是一个常规的文件(file)
-d 文件存在并且是一个目录(directory)
三:案例实操3.1 数值判断123456[root@hadoop100 shell]# [ 23 -gt 22 ][root ...
Shell 运算符
一:基本语法
$((运算式))
$[运算式]
expr 运算式
二:案例操作123456789[root@hadoop100 shell]# A=$[2+3][root@hadoop100 shell]# echo $A5[root@hadoop100 shell]# A=$((3+3))[root@hadoop100 shell]# echo $A6# 加号两侧要有空格[root@hadoop100 shell]# expr 1 + 23
三:经验总结
expr 中使用 * 时,要转义;例如:a=$(expr 1 * 6)
使用$()或者反引号``,可以执行表达式获取结果;
Shell 变量
一:系统预定义变量1.1 常用系统变量
$USER、$HOME、$PWD、$SHELL等;
使用 env 查看当前系统变量;
使用 set 显示当前 shell 中所有变量;使用 unset + 变量名 清除该变量;
1.2 案例操作12345678[root@hadoop100 shell]# echo $USERroot[root@hadoop100 shell]# echo $HOME/root[root@hadoop100 shell]# echo $SHELL/bin/bash[root@hadoop100 shell]# echo $PWD/root/RupertTears/shell
二:自定义变量2.1 基本语法
定义变量:变量名=变量值,注意“=”的前后不能有空格;
撤销变量:unset + 变量;
声明静态变量:readonly + 变量,不能 unset;
2.2 变量定义规则
变量名称可以由字母、数字和下划线组成,但不能以数字开头,环境变量名称建议大写;
等号两侧不能有空格;
在 bash 中,变量默认为字符串类型,不能进行数值运算;
...
Shell 脚本
一:脚本格式1.1 指定解析器脚本以 #!/bin/bash 开头,指定使用bash解析脚本;
1.2 新建 bash 脚本
创建一个bash脚本,输出 hello world;
123[root@hadoop100 shell]# cat hello.txt #!/bin/bashecho "hello world"
二:执行方式2.1 采用 bash 或 sh + 脚本的相对路径或绝对路径(不用赋予脚本+x 权限)(1)sh + 脚本的相对路径1234[root@hadoop100 shell]# sh ./hello.txt hello world[root@hadoop100 shell]# sh hello.txt hello world
(2)sh + 脚本的绝对路径1234[root@hadoop100 shell]# pwd/root/RupertTears/shell[root@hadoop100 shell]# sh /root/RupertTears/shell/hello.txt hello world
(3)bash + 脚本的相 ...
Shell 概述
一:概述
Shell 是一个命令行解释器,它接收应用程序或者用户命令,然后调用操作系统内核。
Shell 还是一个功能强大的编程语言,易编写、易调试、灵活性强。
二:常识2.1 Linux 提供的 Shell 解释器1234567[root@hadoop100 ~]# cat /etc/shells /bin/sh/bin/bash/usr/bin/sh/usr/bin/bash/bin/tcsh/bin/csh
2.2 bash 和 sh 的关系12345[root@hadoop100 ~]# ls -l /bin/ | grep bash-rwxr-xr-x. 1 root root 964536 4月 1 2020 bashlrwxrwxrwx. 1 root root 10 12月 3 13:16 bashbug -> bashbug-64-rwxr-xr-x. 1 root root 6964 4月 1 2020 bashbug-64lrwxrwxrwx. 1 root root 4 12月 3 ...
网络安全 信息收集
一:敏感文件扫描扫描目标网站敏感文件也是信息收集中重要的一步。如果能找到源码泄露,我们可以进一步配合代码审计工具来寻找漏洞。常见的源码泄露有.get,.svn,rar等;
二:寻找网站后台2.1 网站后台简介网站后台管理系统:主要用于对网站前台的信息管理,如文字,图片,影音和其他日常使用的文件发布、更新、删除等操作,同时也包含用户信息、订单信息、访客信息的统计和管理。
简单来说就是对网站数据库的文件的快速操作和管理系统,以使得前台内容能够及时更新和调整。
2.2 网站后台的寻找方式(1)通过 robots.txt 文件寻找该文件用于限制一些爬虫爬取目录文件,可以向这个文件中写入规则让爬虫无法爬取。若此文件中有限制网站后台的爬取,我们可以通过它限制的目录来找到网站后台的路径。
(2)通过谷歌语法寻找结合 site + inurl/intext/intitle 我们也行能够找到目标网站后台。
(3)查看网站底部管理入口我们可以查看网站页面底部和网站版权信息,看看会不会有网站后台入口和版权网站信息,如果有网站后台入口,我们便可以直接找到后台。
(4)尝试请求不存在的错误路 ...
计算机网络 Http协议
一:基础部分1.1 万维网
三大构建技术(基本组成部分)
URL:统一资源定位器
HTTP协议
HTML:超文本标识语言
HTML好比是一座座房子,URL是房子的门牌号,HTTP协议就连接房子的道路;这样就形成了一个点对点沟通的通信方式,完成通信闭环。
1.2 Http协议简介超文本传输协议(HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用协议。
HTTP是万维网的数据通信的基础。
1.3 Http协议概述HTTP是一个客户端(终端用户)和服务器端(网站)请求和应答的标准。
1234567例如:通过使用浏览器,客户端发起一个HTTP请求到服务器上的指定端口(默认端口号:80)。我们称之为这个客户端为用户代理程序(User Agent);应答的服务器上存储着一些资源,比如HTML文件和图像,我们称这个应答服务器为源服务器(Origin Server);在用户代理和源服务器中间可能存在多个“中间层”,比如代理服务器、网关、隧道;
123通常,由HTTP客户端发起一个请求,创建一个到服务器指定端口的TCP连接。H ...




