Lunix指令笔记

linux起源与uniux操作系统 linux分为两大派系

linux
-redhat (rpm)
-centos
-debian (deb)
-ubuntu
二。vmware网络三种模式
window主机 物理网络
虚拟机操作系统 虚拟网络 (依靠物理网络)
1 桥接模式
将vmnet0网络和本地连接的网络 进行桥接 给vmnet0设置一个静态的1段网络(arp )
优点 可以被局域网访问 局域网拥有的所有功能 虚拟机都可以获取
2 仅主机模式
这种模式 是一个特殊的nat模式 主机还是一个路由器 只能主机访问虚拟机 虚拟机不能上网
3 NAT模式(模式)
路由器模式 本机就是一个模拟的路由器 ip (192.188.48.1)
如果虚拟机中的系统 连接了这个路由器 他就可以实现和本机相同的网络操作
缺点:只能本机(window) 来访问这个虚拟

三。vmware安装centos [c[create]r[read]u[update]d[delete]] 设置网络

设置ip
ifconfig(ipconfig) 或者 ip addr
/etc/sysconfig/network-scripts/ifcfg-网卡名
vi 编辑
vi /etc/sysconfig/network-scripts/ifcfg-ens33
A【append】 表示进入编辑模式
ESC表示进入命令模式 :wq 保存退出
:q 确认是否保存
:w 保存不退出
:q! 强制退出 不保存
:set nu 给记事本添加行号
:数字 光标自动跳到指定行

onBoot=yes
BOOTPROTO=static
IPADDR=192.168.1.144
GATEWAY=192.168.1.2
DNS1=8.8.8.8
DNS2=114.114.114.114
重启网卡 (service network stop|start|restart)
关闭防火墙 (service iptables stop) centos7
systemctl stop firewalld (当前回话下 关闭防火墙)
systemctl disable|enable firewalld (禁用服务)

四。 常用的文件操作

ll(查看linux当前目录下所有的文件和目录 )
文件或者目录表示(d[目录]|_[文件]|l[快捷方式]) XXX      XXX      OOO
                                             属主权限(r[read]w[write]x[execute] -表示没有某一项权限)  同组权限  其他权限
	属主权限 就是创建文件的用户 他拥有的权限 rwx  创建人 默认只有读和写的权限   
	同组权限 就是和文件创建用户相同组的其他用户权限
	其他权限 就是非同一组的用户权限  
新建目录 mkdir 目录名称   
查看当前工作目录  pwd 
查看文件 more|cat|less|tail|head 文件名
拷贝 cp 源文件 目标文件
删除 rm -rf 源文件
剪切 mv  源文件 目标文件      
编辑文件  vi  文件名
新建文件 touch 文件名
        echo 内容>文件名          
        vi 文件名

五 linux客户端工具 远程连接linux(ssh协议 22端口)

putty
securecrt
xshell

六 linux安装软件

1 压缩包(tgz tar.gz) zip或者rar
tomcat http://www.apache.org/
tar zxvf 压缩包
tar zcvf 压缩包.tar.gz 目录

2 rpm安装包 (可执行文件 rwx ) shell命令行 全路径 /a.rpm
JDK下载路径 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
安装 rpm -ivh 包名
卸载 rpm -e 包名
rpm -qa | grep 包名
3 yum安装方式(通过寻找第三方的仓库 来获取对应的rpm软件)
如果某个rpm包依赖其他rpm包 一同安装
假如 a.rpm + b.rpm
yum 安装文件上传工具
yum search sz
yum install lrzsz
rz 就是选择文件上传到linux的工作目录
yum search mariadb (mariadb是mysql被oracle收购后 最后一个开源的分支项目)
yum -y install mariadb-server
service mariadb start 启动数据库

grant all on *.* to root@'%' identified by '123456'; 


create user root@'%' identified by '123456'; 创建用户
grant all on *.* to root@'%';

七 shell编程


1.执行脚本权限
属主权限(文件创建人) -表示去掉权限
chmod u+rwx 文件
chmod u+x 文件
属组权限
chmod g+rwx 文件
其他权限

chmod o+rwx 文件

2 变量
i=值
echo $i ${i}
arr=(“a” “b”)
arr[1]=“123”
echo $arr[1]
参数
$n表示传递的多个参数 1表示第一个参数 *表示所有参数 #表示参数的个数 0表示文件名

$?表示最近执行的shell命令 成功(0)|失败(非0) 重点

3 数学运算
#!/bin/bash
i=1+1

#如果要将某个命令的返回值 给某个变量 使用

j=expr 1 + 1

ipresult=ip addr

echo $j
echo $ipresult

#变量的运算
a=100
b=5
r=expr $a / $b
echo $r


3 流程逻辑运算
#!/bin/bash
#根据用户传入参数 start 输出启动 stop 输出停止
if [ $1 == “start” ]
then
echo “启动”
elif [ $1 == “shutdown” ]
then
echo “关机”
else
echo “停止”
fi

if [ $2 -lt 10 ]
then
echo “骚年”
fi

arr=(“hello” “你好”)
for a in ${arr[*]}
do
echo $a
done

sex=(0 1)
for a in ${sex[*]}
do
if [ $a -eq 0 ]
then
echo “男”
else
echo “女”
fi

done

#打印9*9成法表 -n不换行 默认换行
loopCount=10
i=1
while(( i < = i<= loopCount ))
do
echo -n $i
let “i++”
done

4 方法调用

#!/bin/bash
function add123(){
result=10000
result=expr $1 + $2
echo $result

参数1 和 2是数字

return ${result}
}

add123 200 200
echo "返回值是:$? "

5 io流

echo 内容 > 文件 覆盖
echo 内容 >>文件 追加

for rline in cat /shell/a.txt
do
echo $rline
done

6 错误输出处理

$ command > /dev/null 2>&1 默认是1
注意:0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。

九 nginx安装

下载 tengine http://tengine.taobao.org/download_cn.html
解压

yum -y install gcc pcre pcre-devel openssl openssl-devel
./configure
编译
make

sed -e “s|%%PREFIX%%|/usr/local/nginx|”
-e “s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|”
-e “s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|”
-e “s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|”
< man/nginx.8 > objs/nginx.8
make[1]: 离开目录“/root/soft/tengine-2.2.2”

安装

make install

将 /usr/local/nginx/sbin目录 添加到path环境变量中
vi ~/.bash_profile

PATH=:/usr/local/nginx/sbin
生效
source ~/.bash_profile

nginx启动命令
nginx -m 显示所有加载的模块
nginx -l 显示所有可以使用的指令
nginx -t 检查nginx的配置文件是否正确
nginx -s start 启动nginx
nginx -s reload 重启nginx
nginx -s stop 停止nginx

linux反向代理配置
upstream a {
server 192.168.1.3:8761;
server 192.168.1.238:8761;
}

location / {
#root html;
#index index.html index.htm;
proxy_pass http://a;
}

maven项目打包



org.springframework.boot
spring-boot-maven-plugin

cn.ps.RegServerMain




执行命令打包
mvn package
打包文件位于项目 target目录下
运行
java -jar jar包名称


列表功能

location / {
root /soft;
autoindex on;
#proxy_pass http://a;
}

当访问 /路径是 自动列表显示 root指定的目录的内容


请求限制

deny 192.168.1.238/24; /24表示前24为主机位,后八位为网络位,为24,则最多只能连接1-223号 254,255一般不允许使用。若要连接更多电脑,可以将主机位设为16,就可以连接255*255台电脑
allow 192.168.1.0; 最后一个数为0,则代表任意,相当于通配

deny 禁用访问的ip
allow 允许访问的ip

allow all

举例:

deny 192.168.1.0;
allow all

意思:除了1段 以外的ip都能访问


验证

auth_basic “validation”;
auth_basic_user_file /pass.txt;

安装 httpd
yum -y install httpd 加密工具包
htpasswd -nb 用户名 密码
将内容拷贝到/pass.txt 重启nginx


rewite模块(动静分离)
静态资源 图片 js css
动态资源 get /user/1 动态从存储或者数据库中读取 可能发生变化 (springmvc requestmapping)

所有可用的参数列表
http://tengine.taobao.org/nginx_docs/cn/docs/http/ngx_http_core_module.html#variables
rewrite模块地址
http://tengine.taobao.org/nginx_docs/cn/docs/http/ngx_http_rewrite_module.html

案例1

不同的浏览器语言 到不同页面
使用中文浏览器 www.baidu.com
使用英文浏览器 www.bing.com.cn

if ($http_accept_language ~ ^zh) {
return http://www.baidu.com;
}

if ($http_accept_language ~ ^en) {
return http://www.bing.com.cn;
}

案例2

动静分离

所有图片 直接从 nginx某个目录上返回
非图片路径 转向到后台(微服务 tomcat)

动静分离 图片,js代码放在 usr/local/nginx/html 下面,(即nginx默认路径)
location ~* ^(.*).jpg|png|gif|bmp|js $ {
root html;
index index.html index.htm;
}

location / {
proxy_pass http://a;
}

猜你喜欢

转载自blog.csdn.net/qq1073674233/article/details/84428047