linux命令

一。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 (禁用服务)

常用linux远程操作软件
   putty|xshell|securecrt


四。 常用的文件操作
    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<=$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项目打包
	<build>
        <plugins>
            <plugin>  
	          <groupId>org.springframework.boot</groupId>  
	          <artifactId>spring-boot-maven-plugin</artifactId>  
	                <configuration>  
	                    <mainClass>cn.ps.RegServerMain</mainClass>  
	                </configuration>  
	            </plugin>  
        </plugins>
</build>
执行命令打包
mvn package
打包文件位于项目 target目录下
运行
java -jar jar包名称


----------------------------------------------------
列表功能

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

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

-----------------------------------------------------
请求限制

deny 192.168.1.238;
allow 192.168.1.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)
  
location ~* ^(.*)\.jpg|png|gif|bmp$ {
	root html;
	index  index.html index.htm;
}

location / {
	proxy_pass http://a;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值