1、Unix来源:
2、Linux来源:3、Unix和Linux关系:4、安装:一般都安装在Windows虚拟机Vmware上,傻瓜式安装。
1、网络链接的三种模式:
2、Linux世界里,一切皆文件。
3、绝对路径和相对路径:
一般是小组成员共享开发,项目运行在公网上,程序员需要远程登录到Linux进行管理和开发;常用工具有:Xshwll6(windows远程登录到公司的服务器,操作)、Xftp6(远程在服务器上传、下载文件)
Linux系统内置Vi编辑器,vim是vi的增强版
vim的三种模式:
常用快捷键:
shutdown -h now 立刻关机
shutdown -h 1 "hello,1分钟后会关机了"
shutdown -r now 重启
halt 关机
reboot 重启
sync 把内存数据同步到磁盘(建议关机前先运行此命令)
0:关机;
1:单用户【找回丢失密码】;
2:多用户状态没有网络服务;
3:多用户状态有网络服务(非图形化界面,常用);
4:系统未使用保留给用户;
5:图形界面(与3切换使用);
6:系统重启;
ls [选项] [目录或文件]
cd ~或者cd : 回到自己的家目录,如你是root,cd~到 /root
cd… 回到当前目录的上一级目录
touch 文件名
理解:"|"表示将前面的命令结果交给后面的命令处理,cat执行后一般是将全部内容都显示出来了,而more可以对文档进行交互操作
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。nore 指令中内置了若干快捷键(交互的指令),详见操作说明
操作说明:
less 指令用来分屏查看文件内容,它的功能与more 指令类似,但是比 more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
操作说明:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x7uFYtbn-1632659510687)(https://i.loli.net/2021/04/25/RL9N1mWvoJKiZ7M.png)]
cat和more结合使用最好,能够看到行号,切适用于小型文档查看。less适合查看大型文档。
查看日期:
设置日期:
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
用于查找文档内容,过滤查找,一般结合cat查看文件和管道命令“|”使用,管道符“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
tar指令是打包指令,最后打包后的文件是.tar.gz 的文件
tar -zcvf XXX.tar.gz 要打包的内容
例:将/home/pig.txt和 /home/cat.txt压缩成pc.tar.gz
每个用户必须属于一个组,不能独立于组外。一般建立用户时默认添加到用户名相同的组,组之间可以互相转换,同一个组内的成员之间的权限是不同的。一般谁创建了该文件,谁就是该文件的所有者,且该文件与所属者属于同一个组。下图理解:
0-9位说明:
1)[ r ]代表可以读(read):可以读取、查看
2)[ w ]代表可写(write):可以修改但是不代表可以删除文件,删除一个文件的前提条件是对该文件所在的目录有写权
3)[ x ]代表可执行(excute):可以被执行
1)[ r ]代表可读(read):可以读取,ls查看目录内容
2)[ w ]代表可写(write):可以修改,对目录内创建+删除+重命名目录
3)[ x ]代表可执行(execute);可以cd进入该目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-npNvcobS-1632659510694)(https://i.loli.net/2021/04/26/hBT9DygUJsF3K6x.png)]
方法一:用+、-、=来表示:
u : 所有者 g : 所有组 o : 其他人 a : 所有人(u、g、o的总和)
命令:chmod u=rwx,g=rx,o=x 文件名/目录名(如果要同时修改权限,逗号不能掉)
例1:给abc文件的所有者读写执行权限,给所在组读和执行权限,给其他组执行权限
例2:给abc文件的所在组添加写权限,给其他组去掉执行权限
方法二:用数字表示
r=4,w=2,x=1 rwx=4+2+1=7
设置任务调度文件:/etc/crontab
设置个人任务调度:执行crontab -e
输入调度信息:如:*/1 * * * * ls -l /etc/ > /tmp/to.txt (意思是每隔1分钟执行一次:ls -l /etc/ > /tmp/to.txt命令)
五个占位符说明:上例中*/是特殊符号,代表每隔多久执行一次。其他星号之间有空格。
at 【选项】 【时间】
**退出输入模式:**Ctrl +d (两次,结束内容输入,连续两次)
示意图:
建议直接看视频:[韩顺平学Linux-增加磁盘应用实例]([小白入门 通俗易懂]2021韩顺平 一周学会Linux_哔哩哔哩_bilibili)
注意:/opt代表文件夹,可以换做另外的任意文件夹
在相同的网段才能访问相关网络192.168.2._(才能ping得通)
Linux查看网络适配:ifconfig
==方法:==修改配置文件vim /etc/sysconfig/network-scripts/ifcfg-ens33,例如要求将ip地址配置成静态的192.168.2.130
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1GXaYB4d-1632659510717)(C:/Users/Administrator/AppData/Roaming/Typora/typora-user-images/image-20210612112459320.png)]
1)设置主机名
2)设置host映射
理解:如何通过主机名能够找到(比如ping 名字,而不是IP地址)某个Linux系统?
指令:kill [选项] 进程号(功能:通过进程号终止进程)
常用选项:-9(功能:表示强迫进程立即停止)
指令:killall 进程名称 (功能:通过进程名称杀死进程)
提示:要终止某个进程之前需要用前面的指令先查看这指令的PID或者名称
案例:
指令:pstree [选项] 能直观的查看进程信息;
常用选项:-p :显示进程的PID -u:显示进程的所属用户
其他程序请求(比如:mysql,sshd,防火墙等),也称为守护进程。
[]括号内表示可以选择的内容,status意思是查看当前状态
在CentOS7.0后很多服务不再使用service ,而是systemctl (后面专门讲)
service指令管理的服务在/etc/init.d查看
init 3 == systemctl set-default multi-user.target
init 5 == systemctl set-default graphical.target
注意:在CentOS7.0后,很多服务systemctl (后面讲)
chkconfig指令的管理服务再/etc/init.d查看
用法:
细节:chkconfig指令设置后需要重启后生效
指令管理的服务可以在 /usr/lib/systemd/system查看(当不知道服务叫什么时可以查看,如防火墙之类的)
例子:查看当前防火墙的状况,关闭和重启防火墙(firewalld.service)
(9)检测主机连接命令ping
用于检测远程主机是否正常,或者是两部主机间的网卡网线故障,如:ping 对方ip地址。
介绍:rpm类似于windows的setup.exe,从网上下载rpm包后,就可以通过指令在本地查看和安装。
RPM包简单查询
包名的基本格式:
其他指令:
官网上下载以下软件对应的Linux版本,视频:韩顺平30天学JAVA良心推荐!!!
脚本开头必须以下面代码开头:
#!/bin/bash
需要有执行权限(具有相应的x权限)
方式一:输入脚本的相对路径或者绝对路径(需要有相应的执行权限,如: ./hello.sh或者/root/shcode/hello.sh)
方式二:直接使用sh+脚本名称(不需要有x权限,直接执行即可,如:sh hello.sh,当然也能使用其相对路径)
vim hello.sh #创建一个.sh文件,输入i开始编辑,vim用法
#!/bin/bash
echo "hello world!" #echo表示输出内容到屏幕,前面有学过
#wq保存后,命令行执行./hello.sh即可输出内容。
基本语法:
举例:
#案例1:定义变量A
#案例2:撤销变量A
#案例3:声明静态变量 B=2,不能unset
#!/bin/bash
A=100 #案例1:定义变量A
echo A=$A #输出或者使用变量时要加上$,输出A=100
echo "A=$A" #和上面输出效果相同
unset A #案例2:撤销变量A
echo A=$A #输出:A=
readonly B=2 #案例3:声明静态变量 B=2,不能unset
echo B=$B #输出B=2
unset B #报错
export 变量名=变量值(功能:将shell变量输出为环境变量/全局变量)
source 配置文件 (功能:让修改后的配置信息立即生效)
3)echo $变量名 (功能:查询环境变量的值)
1)在/etc/profile文件中定义TOMCAT_HOME环境变量
2)查看环境变量TOMCAT_HOME的值
3)在另外一个shell程序中使用TOMCAT_HOME
注意:在输出TOMCAT_HOME变量前,要让其生效:source /etc/profile
#/root/shcode/test04.sh文件夹下
#!/bin/bash
#1、求(10+20)*4的值
#方法一:
sum1=$(((10+20)*4)) #细节:方法一的式子总是要用$(())
echo "sum1 = $sum1"
#方法二:推荐
sum2=$[(10+20)*4]
echo "sum2 = $sum2"
#方法三:注意空格,不推荐
sum=`expr 10 + 20`
sum0=`expr $sum \* 4`
echo "sum3 = $sum0"
#2、求出命令行输出的参数的和
sum4=$[$1+$2]
echo "sum4 = $sum4"
#下图有输出的值:
基本语法:[ condition ](注意,condition前后必须有空格)
#非空返回true,空返回false
案例1:[ CentOs ] 返回true;案例2: [ ] 返回false
注意:[ condition ]&&echo OK||echo notok 条件满足执行后面的语句。
判断语句汇总:
(1) = | 字符串比较 |
---|---|
(2)两个整数比较 | |
-lt | 小于(little) |
-le | 小于等于(little equal) |
-eq | 等于(equal) |
-gt | 大与(getter) |
-ge | 大于等于 |
-ne | 不等于 |
(3)按照文件权限判断 | |
-r | 有读的权限 |
-w | 有写权限 |
-x | 有执行权限 |
(4)按照文件类型进行判断 | |
-f | 文件存在并且是一个常规文件 |
-e | 文件存在 |
-d | 文件存在并且是一个目录 |
if[ 条件判断式 ]
then
代码
fi
#或者多分枝代码如下:
if[ 条件判断式 ]
then
代码
elif[ 条件判断式 ]
then
代码
fi
注意[ 条件判断式 ]中前后空格不能省去
#!/bin/bash
if [ $1 -ge 60 ] #注意空格,要结合前面的位置参数来用
then
echo "及格了~"
elif [ $1 -lt 60 ]
then
echo "不及格"
fi
case $变量名 in
"值1")
若变量值等于1,则执行程序1
;;
"值2")
若变量值等于2,则执行程序2
;;
....省略其他分支....
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
#!/bin/bash
case $1 in
"1")
echo "周一"
;;
"2")
echo "周二"
;;
*)
echo "other.."
;;
esac
for 变量 in 值1 值2 值3....
do
程序/代码
done
for((初始值;循环控制条件;变量变化))
do
程序/代码
done
#! /bin/bash
sum=0
for ((i=1; i<=100;i++))
do
sum=$[$sum+$i]
done
echo "总和SUM是:$sum"
while [ 条件判断式子 ]
do
程序/代码
done
#当while[ .... ]为真时,才会执行下面的代码,注意空格
语法:read 【选项】 空格 参数
选项:-p:指定读取值时的提示符 ; -t :指定读取等待时间,如果没有在指定时间输入,就不再等待
参数: 指定读取的变量,直接看案例
案例1:读取控制台输入一个NUM1值
案例2:10秒内读取控制台输入一个NUM2值
#案例1:读取控制台输入一个NUM1值
#! /bin/bash
read -p "请输入一个NUM1=" NUM1 #注意空格
echo "你输入的NUM1 = $NUM1"
#案例2:10秒内读取控制台输入一个NUM2值
#! /bin/bash
read -t 10 -p "请输入一个NUM2=" NUM2
echo "你输入的NUM2 = $NUM2"
功能:返回完整路径最后 / 的内容,常用于获取文件名。
案例:请返回/home/aaa/test.txt的”test.txt“部分
功能:与前面刚好相反,获取最后 / 前面的部分,常用于返回路径部分,
案例:找到/home/aaa/test.txt的/home/aaa部分
#语法:
function functionname(){
Action
程序/代码:要返回的值
}
直接调用函数名:functionname 值
#案例:计算输入两个参数的和(动态获取),getSum
#! /bin/bash
function getSum(){
sum=$[$n1+$n2]
echo "输入的和是:$sum"
}
#提示输入两个值:
read -p "请输入一个数:n1 = " n1
read -p "请输入一个数:n2 = " n2
#调用自定义函数:
getSum $n1 $n2
#常用必须掌握:(提示:已经切换到root用户,则可以不用sudo超级权限)
sudo apt-get update #更新源
sudo apt-get install package #安装包
sudo apt-get remove package #删除包
sudo apt-cache show package #获取包的相关信息
sudo apt-get source package #下载该包的源代码
==================================================
#不常用:
sudo apt-cache search package #搜索软件包
sudo apt-get install package --reinstall #重新安装包
sudo apt-get -f install #修复安装
sudo apt-get remove package --purge #删除包,包括配置文件等
sudo apt-get build-dep package #安装相关的编译环境
sudo apt-get upgrade #更新已安装的包
sudo apt-get dist-upgrade #升级系统
sudo apt-cache depends package #了解使用该包依赖那些包
sudo apt-cache rdepends package #查看该包被哪些包依赖
更新apt包下载源(国外—>国内配置)
1)备份ubuntu原来的配置文件(sudo cp /ect/apt/sources.list /ect/apt/sources.list .backup );
2)再更改配置文件内容为镜像内容(vi sources.list 删除内容并且粘贴上图左边的内容);
3)更新源地址(sudo apt-get update)
Windows登录ubuntu(ssh相关介绍)
SSH为Secure Shell的缩写,由IETF的网络工作小组(Network Working Group)所制定;SSH为建立在应用层和传输层基础上的安全协议。
使用SSH服务,需要安装相应的服务器和客户端。客户端和服务器的关系:如果,A机器想被B机器远程控制,那么,A机器需要安装SSH服务器,B机器需要安装SSH客户端。
、
depends package #了解使用该包依赖那些包
sudo apt-cache rdepends package #查看该包被哪些包依赖
- 更新apt包下载源(国外—>国内配置)
- - 国内镜像源:[清华大学镜像网](https://mirrors.tuna.tsinghua.edu.cn/)
[外链图片转存中...(img-eCVVdMDs-1632659510749)]
- 步骤:
1)备份ubuntu原来的配置文件(sudo cp /ect/apt/sources.list /ect/apt/sources.list .backup );
2)再更改配置文件内容为镜像内容(vi sources.list 删除内容并且粘贴上图左边的内容);
3)更新源地址(sudo apt-get update)
##### (2)远程登录Ubuntu
- Windows登录ubuntu(ssh相关介绍)
SSH为Secure Shell的缩写,由IETF的网络工作小组(Network Working Group)所制定;SSH为建立在应用层和传输层基础上的安全协议。
使用SSH服务,需要安装相应的服务器和客户端。客户端和服务器的关系:如果,A机器想被B机器远程控制,那么,A机器需要安装SSH服务器,B机器需要安装SSH客户端。
- ==和CentOS 不一样,Ubuntu默认没有安装SSHD服务(使用netstat 指令查看: apt install net-tools),==可以看到没有相关的端口监听,所以要安装ssh服务器(sshd),执行:sudo apt-get install openssh-server;;安装后执行 service sshd restart 即可打开服务.
- 通过上面步骤即可在windows客户端例如:xshell上登录链接ubuntu
##### (3)两台Linux互相访问
- 语法:ssh 用户名@IP(如:ssh [email protected])
- 注意:对于Ubuntu,相应的配置要先设置好(sshd服务器安装配置等)
、
## 十三、日志管理
#### (1)日志文件
- 在 /var/log 文件夹下,直接cd打开即可查看文件。
#### (2)常用日志及意义
[外链图片转存中...(img-VNnTo3CO-1632659510749)]