2023-5-10这几天关于linux的学习
Posted weakxy-home
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2023-5-10这几天关于linux的学习相关的知识,希望对你有一定的参考价值。
linux 常用指令
reboot whoami useradd su passwd groupadd clear usermod init [0~6] man help less查看大文件 head tail显示文件前/后几行 ln链接 history历史操作 date显示时间 cal显示日历 find查找文件 locate查找符合条件的文件 |grep管道 gzip/gunzip zip/unzip tar压缩/解压 chown修改文件所有者和 chgrp修改文件所属组 chmod修改文件权限 crontab/at定时任务(周期/一次)
lsblk查看设备挂载情况hda3 fdisk创建维护分区表 mkfs格式化分区 mount挂载分区(前三个是挂载过程) 上面一行实现的是临时挂载 如果实现永久的需更改/etc/fstab,再mount
df磁盘使用情况 du目录磁盘使用情况 wc计算字数(也可读标准输入设备) tree树状显示 rpm安装(-ivh -qai) yum安装
网络配置
编辑vi /etc/sysconfig/network-scripts/ifcfg-ens33(这个不一样)
为什么需要网络配置,自动获取的inet可能每次都不同,再进行操作的时候可能会麻烦
hostname查看主机名(/etc/hostname可以修改) 设计hosts映射,在windows中C:\\Windows\\System32\\drivers\\etc\\hosts中加入设置的inet 主机名(关于主机名解析机制分析,比如ping域名,先从浏览器缓存中查找对应ip,没有就从本地DNS中查找,还没有就从自己设置的hosts中查找,没有的话最后从公网DNS中查找,在没有就返回域名不存在)(会产生域名劫持的存在,因为公网DNS是最后查找,在此之前如果访问的域名不是公网的,那么就会访问自己的ip地址,也就是常见的"无视风险继续访问")
进程管理(程序静态,run后成进程)
ps查看进程(加-ef可以查看父进程,-aux) kill/killall终止进程 -9表强制 (应用:停止远程登录sshd进程,再适当的时间恢复sshd,恢复方法是/bin/systemctl start sshd.service)
查看进程树pstree
动态监控进程top(其中load-average平均值大于0.7可能需要清理)(交互P(CPU占用)/M(内存使用)/N/q)(输入u然后加用户名,可以实时监控该用户进程,输入k,加9结束进程)(top -d 数字改变刷新时间)
监控网络状态netstat(-an -p)
服务管理
service管理服务(status/start/stop) setup查看所有服务(包括可以更改自启动)
systemctl get-default查看当前运行级别(3多用户,5图形化界面)
(重要)systemctl设置服务的自启动状态(enable/disable/is-enabled/stop/status/start)
chkconfig让系统再运行某级别时关闭某服务
firework让防火墙打开某端口(应用较多)-cmd --permanent --add/--remove-port=端口号/协议
使生效firework --cmd --reload 查询--cmd --query-port=端口号/协议
shell脚本学习
以 #!/bin/bash 开头,有可执行权限
注意:1.等号两侧不要空格,2.变量最好大写
执行方式: 1.给脚本+x权限,输入路径 2.sh+脚本
用法:
撤销变量unset(静态变量readonly不能)
输出变量echo $变量名
A=\'xxx\'将xxx的结果赋值给A,A=$(date)等价于A=\'date\'
export将变量输出为环境变量/全局变量(被所有文件共享),如export XXX=/etc/tomcat 之后还需source 配置文件 使之生效
多行注释 :<<! 内容 !
位置参数: ./xxx.sh [第一个参数] [第二个] ...
$数字 表示第几个参数; $* 表示所有参数(整体对待); $@ 表示所有参数(区分对待); $# 参数个数
预定义变量:$$当前进程的进程号 $!后台最后一个进程号 $?为0表示上一个命令正确执行
运算符:$((运算符))|$[运算符]|expr m + n(有空格) 如果要将值赋值需在运算式两侧加\'\'(单引号)(只有expr需要) (运算符不一样的:*改为\\*)
条件判断:if []里面加判断条件(注:中括号两边需要有空格) then 语句 elif [] then 语句 fi结束
判断符号: 字符串:比较= ; 整数比较: 小于lt 小于等于le 等于eq 大于gt 大于等于ge 不等于ne; 权限比较:有xxx的权限r/w/x; 按照文件存在比较:f(文件)/e(文件/文件夹)/d(文件夹)
流程控制(类似于switch):case $变量 in "值1") 语句;; "值2) 语句;; *) 语句;; esac
for循环: 第一种方法for 变量 in 值1 值2... do 语句 done
第二种方法for (( 初始值;循环控制条件;变量变化++/-- ) do 语句 done
while循环: while [ 条件判断 ](空格!) do 语句 done
reboot whoami useradd su passwd groupadd clear usermod init [0~6] man help less查看大文件 head tail显示文件前/后几行 ln链接 history历史操作 date显示时间 cal显示日历 find查找文件 locate查找符合条件的文件 |grep管道 gzip/gunzip zip/unzip tar压缩/解压 chown修改文件所有者和 chgrp修改文件所属组 chmod修改文件权限 crontab/at定时任务(周期/一次)
lsblk查看设备挂载情况hda3 fdisk创建维护分区表 mkfs格式化分区 mount挂载分区(前三个是挂载过程) 上面一行实现的是临时挂载 如果实现永久的需更改/etc/fstab,再mount
df磁盘使用情况 du目录磁盘使用情况 wc计算字数(也可读标准输入设备) tree树状显示 rpm安装(-ivh -qai) yum安装
网络配置
编辑vi /etc/sysconfig/network-scripts/ifcfg-ens33(这个不一样)
为什么需要网络配置,自动获取的inet可能每次都不同,再进行操作的时候可能会麻烦
hostname查看主机名(/etc/hostname可以修改) 设计hosts映射,在windows中C:\\Windows\\System32\\drivers\\etc\\hosts中加入设置的inet 主机名(关于主机名解析机制分析,比如ping域名,先从浏览器缓存中查找对应ip,没有就从本地DNS中查找,还没有就从自己设置的hosts中查找,没有的话最后从公网DNS中查找,在没有就返回域名不存在)(会产生域名劫持的存在,因为公网DNS是最后查找,在此之前如果访问的域名不是公网的,那么就会访问自己的ip地址,也就是常见的"无视风险继续访问")
进程管理(程序静态,run后成进程)
ps查看进程(加-ef可以查看父进程,-aux) kill/killall终止进程 -9表强制 (应用:停止远程登录sshd进程,再适当的时间恢复sshd,恢复方法是/bin/systemctl start sshd.service)
查看进程树pstree
动态监控进程top(其中load-average平均值大于0.7可能需要清理)(交互P(CPU占用)/M(内存使用)/N/q)(输入u然后加用户名,可以实时监控该用户进程,输入k,加9结束进程)(top -d 数字改变刷新时间)
监控网络状态netstat(-an -p)
服务管理
service管理服务(status/start/stop) setup查看所有服务(包括可以更改自启动)
systemctl get-default查看当前运行级别(3多用户,5图形化界面)
(重要)systemctl设置服务的自启动状态(enable/disable/is-enabled/stop/status/start)
chkconfig让系统再运行某级别时关闭某服务
firework让防火墙打开某端口(应用较多)-cmd --permanent --add/--remove-port=端口号/协议
使生效firework --cmd --reload 查询--cmd --query-port=端口号/协议
shell脚本学习
以 #!/bin/bash 开头,有可执行权限
注意:1.等号两侧不要空格,2.变量最好大写
执行方式: 1.给脚本+x权限,输入路径 2.sh+脚本
用法:
撤销变量unset(静态变量readonly不能)
输出变量echo $变量名
A=\'xxx\'将xxx的结果赋值给A,A=$(date)等价于A=\'date\'
export将变量输出为环境变量/全局变量(被所有文件共享),如export XXX=/etc/tomcat 之后还需source 配置文件 使之生效
多行注释 :<<! 内容 !
位置参数: ./xxx.sh [第一个参数] [第二个] ...
$数字 表示第几个参数; $* 表示所有参数(整体对待); $@ 表示所有参数(区分对待); $# 参数个数
预定义变量:$$当前进程的进程号 $!后台最后一个进程号 $?为0表示上一个命令正确执行
运算符:$((运算符))|$[运算符]|expr m + n(有空格) 如果要将值赋值需在运算式两侧加\'\'(单引号)(只有expr需要) (运算符不一样的:*改为\\*)
条件判断:if []里面加判断条件(注:中括号两边需要有空格) then 语句 elif [] then 语句 fi结束
判断符号: 字符串:比较= ; 整数比较: 小于lt 小于等于le 等于eq 大于gt 大于等于ge 不等于ne; 权限比较:有xxx的权限r/w/x; 按照文件存在比较:f(文件)/e(文件/文件夹)/d(文件夹)
流程控制(类似于switch):case $变量 in "值1") 语句;; "值2) 语句;; *) 语句;; esac
for循环: 第一种方法for 变量 in 值1 值2... do 语句 done
第二种方法for (( 初始值;循环控制条件;变量变化++/-- ) do 语句 done
while循环: while [ 条件判断 ](空格!) do 语句 done
关于springboot学习的总结
这几天springboot相关的知识,下面就对自己这几天的学习情况做下总结。
springboot应用的结构
src
--main:
----java:存放源代码
----resources:
------templates:存放html文件,css文件
------application.properties 存放配置信息 (放在resources文件夹下)
--test
测试文件及信息。
target:
--classes:
----编译之后的Java文件
----templates:存放src中相应的资源文件。
pom.xml (project object model) 保存在项目的根目录下
--groupId,artifactId,version 可以唯一确定项目的唯一坐标。
--parent --
--properties
--dependencies
----dependency
<!-- 监控-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
依赖中添加上面的依赖,输入localhost:port可以查看监控信息
--build
----plugins
postman 的使用
redis
zookeeper
以上是关于2023-5-10这几天关于linux的学习的主要内容,如果未能解决你的问题,请参考以下文章