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

linux(11)

时间:2016-12-15 18:35:23      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:linux   客户机   服务端   客户端   

###代理###
##正向代理##
客户端不能访问服务端,代理访问服务端缓存数据,给客户端看。
本次实验:
客户机ip:172.25.27.227
代理机两个ip:172.25.254.127  172.25.27.127
服务端ip:172.25.254.27
步骤:
(1)代理安装并配置squid
[root@desktop ~]# yum install squid -y    ##安装软件
[root@desktop ~]# vim /etc/squid/squid.conf    ##修改配置文件
 56 http_access allow all    #允许所有人访问代理
 59 http_port 3128        #访问代理使用端口3128
 62 cache_dir ufs /var/spool/squid 100 16 256    ##缓存空间100M,16个一级目录,256个二级目录 便于缓存
(2)服务端
[root@foundation27 ~]# echo 172.25.254.27 > /var/www/html/index.html ##修改默认发布文件
[root@foundation27 ~]# systemctl start httpd ##开启服务
(3)客户端浏览器配置
HTTP PROXY:172.25.254.127 PORT:3128


##反向代理##
代理做好配置,客户端浏览器直接访问代理,不要做其他事情
(1)代理配置文件修改
[root@desktop ~]# vim /etc/squid/squid.conf
 56 http_access allow all
 59 http_port 80 vhost vport
 60 cache_peer 172.25.254.27 parent 80 0 proxy-only
 62 cache_dir ufs /var/spool/squid 100 16 256
[root@desktop squid]# systemctl restart squid
(2)浏览器



###脚本###
1.脚本调试模式
bash -x scripts
2.引用和转义
弱引用:"字符串" ,保留字符串字符的文字值,变量和扩展命令在双引号内仍起作用$ ` \ ! 除外
强引用:‘字符串‘ ,保留字符串所有字符文字值,禁用所有扩展
转义:\ 保留下一个字符的文字值
3.变量
用固定字符表示不固定的值
设置系统变量
vim /etc/profile
source /etc/profile
设置用户变量
cd ~
vim .bash_profile
source .bash_profile
设置环境变量
环境变量:把内容传递给子进程的变量
使用env命令显示所有环境变量
export 变量=
4.shell计算命令
(1)$[]表示数学运算
[root@desktop squid]# echo $[7+2]
9
(2)expr表示数学运算
[root@desktop squid]# echo `expr 7 + 2`
9
(3)let表示数学运算
[root@desktop squid]# let a=7+2
[root@desktop squid]# echo $a
9
(4) (())数学计算
[root@desktop squid]# ((b=7+2))
[root@desktop squid]# echo $b
9
4.循环语句
for循环用于列表中的相同命令的重复
[root@desktop test2]# vim 1.sh
#!/bin/bash
for NUM in {1..3}
do
echo $NUM
done
[root@desktop test2]# ./1.sh
1
2
3
5.bash位置参数
位置参数自身:$1,$2,..
位置参数总数:$#
所有位置参数:$@,$*
6.退出状态
命令完成后,返回退出状态。成功时退出状态为0;发生错误时退出状态非零
退出状态值存放在“?”中,若要查看用 echo $? 命令查看
7.test条件判断
test命令可以评估bash脚本中的表达式。当表达式为true,返回零状态;当表达式为false,返回非零退出状态。
语法:
(1)非零或零长度字符串运算符
[root@server mnt]# [ -n westos ] && echo yes || echo no
yes
[root@server mnt]# [ -z "" ] && echo yes || echo no
yes
(2)字符串比较运算符
[root@server mnt]# [ 123 = 123 ] && echo yes || echo no
yes
[root@server mnt]# [ 123 = 12 ] && echo yes || echo no
no
[root@server mnt]# [ 123 != 123 ] && echo yes || echo no
no
[root@server mnt]# [ 123 != 12 ] && echo yes || echo no
yes
(3)数字比较运算符
-eq、-ne、-lt、-le、-gt、-ge
 =   !=  <    <=   >   >=
(4)文件状态运算符
test -{b|c|e|f|d|r|w|x|s|L} file/directory
(5)二进制文件运算符
-ef 判断两文件是否节点号相同
-nt,-ot 判断文件时间戳新旧
(6)逻辑运算符
-o 满足任一个
-a 多个同时满足
&& 退出状态为0时执行
|| 退出状态非零时执行
8.if语句
f命令检查if后面的命令或列表的退出值。如果第一个命令评估为true/零,则运行then
之后的命令列表,直至任一else。如果第一个命令评估为false/非零,则运行else与fi之
间的命令列表。
9.case语句
把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪
部分代码。
10.expect语句
(1)安装expect
yum install expect -y
(2)脚本编写
#!/usr/bin/expect ##告诉操作系统用那个shell执行代码
spawn 命令         ##给后面shell指令加壳,用来传递交互指令
expect "字符"    ##问题包含的字符
send "答案\r"    ##回答问题
expect eof     ##在输出中搜索文件结束符,如果没有这一行,脚本会立即退出,得不到正确结果
interact    ##执行完成后保持交互状态,把控制权交给控制台
$argv 参数数组    ##接受从bash传递过来的参数.


linux(11)

标签:linux   客户机   服务端   客户端   

原文地址:http://05131112.blog.51cto.com/12097107/1883007

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