Linux基础教程

Linux

目标

​ Linux概述【了解】

​ Linux网络连接三种模式【了解】

Linux目录结构【掌握】

Linux常用命令【掌握】

Linux操作目录的命令【掌握】

Linux操作文件的命令【掌握】

Linux的Vi编辑器【会用】

Linux打包与解压命令【掌握】

一、Linux概述

1、Linux的概述

​ Linux是基于Unix的。Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机,诞生于1991年10 月5 日。是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成。

Linux基础教程_第1张图片

Linux基础教程_第2张图片
Linux基础教程_第3张图片

2、Linux的历史

​ Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds(林纳斯·托瓦兹)由于自己不满意教学中使用的MINIX操作系统, 所以在1991年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统

3、Linux系统的应用

  • ​ 服务器系统Web应用服务器、数据库服务器、接口服务器、DNS、FTP等等;

    ​ 嵌入式系统路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,

    ​ 高性能运算、计算密集型应用Linux有强大的运算能力。

    ​ 桌面应用系统

    ​ 移动手持系统

    4、 Linux的版本

Linux的版本分为两种:内核版本和发行版本;内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号

Linux的主流版本

Linux基础教程_第4张图片

二、Linux网络连接三种模式

1、查看当前ip

ip addr  查看当前linux的ip地址

Linux基础教程_第5张图片

2、网络连接模式

​ 在VMware 中有三种网络设置方式

Linux基础教程_第6张图片

  • 桥接模式

    桥接模式是指与物理机(安装了VMware的电脑),使用同一个物理网卡,和物理主机使用同一个段的ip

  • NAT(地址转换模式)

    在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。那么我们会觉得很奇怪,为什么需要虚拟网卡VMware Network Adapter VMnet8呢?原来我们的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信

Linux基础教程_第7张图片

  • 仅主机模式

    仅主机模式是出于安全考虑,将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的

三、Linux目录结构

1、linux学习注意事项

  • linux中严格区分大小写
  • linux中所有内容以文件的形式保存,包括硬件(硬盘文件是:/dev/sd[a-p]),光盘文件是/dev/sr0 等
  • linux不靠扩展名区分文件类型(压缩包:.gz,.bz2,.tar.bz2,.tgz等),二进制软件包:.rpm,网页文件:.html,脚本文件:.sh,配置文件:.config
  • linux下所有的存储设备都要挂载后用户才能使用,包括硬盘、U盘
  • windows下的程序不能在linux下安装和运行

2、linux目录结构

Linux基础教程_第8张图片

四、Linux常用命令

1、列出文件列表:ls ll【记】

ls(list)是一个非常有用的命令,用来显示当前目录下的内容。配合参数的使用,能以不同的方式显示目录内容

格式:ls[参数] [路径或文件名]

常用:在linux中以 . 开头的文件都是隐藏的文件

  • ls -a 显示所有文件或目录(包含隐藏的文件)
  • ls -l 缩写成ll 显示所有文件或目录的详细信息
  • ls -d 显示当前目录,点表示当前目录,将目录像文件一样显示,而不是显示目录下的文件
  • ls -h 智能显示

案例:显示当前路径下的所有文件(包括隐藏文件)

Linux基础教程_第9张图片

案例:显示当前路径下的所有文件的详细信息

Linux基础教程_第10张图片

2、清屏命令clear

当我们输了多次命令后屏幕就被占满了,如果我们还要输入其他命令就要往下拖动窗口,可以使用清屏命令让窗口自动往下滚一屏

在这里插入图片描述

清屏除了可以使用clear命令还可以使用ctrl+l快捷键

3、切换目录命令cd【记】

linux中的切换目录命令和windows中的命令一样也是使用cd

案例:使用cd切换到root帐号的home目录

在这里插入图片描述

cd命令其他用法:

  • 切换到上一层目录cd /

  • 切换到系统根目录cd ~

4、查看当前目录所在目录命令pwd

​ pwd命令是用来查看当前目录的路径

在这里插入图片描述

五、操作目录命令【记】

1、创建目录mkdir

mkdir(make directory)命令可用来创建目录

  语法:mkdir  目录名称   mkdir app app1 aap2

案例:在root根目录下创建woniu目录

Linux基础教程_第11张图片

注意:mkdir一次只能创建一个目录或同级多个目录

2、创建多级目录mkdir -p

 mkdir -p app/app1/app2

直接使用mkdir app/test会报错

在这里插入图片描述

创建多级目录

Linux基础教程_第12张图片

3、删除空目录rmdir

rmdir(remove directory)命令可用来删除“空”的目录

案例:删除root根目录中的woniu目录

Linux基础教程_第13张图片

六、文件命令

1、文件操作命令【记】

a、touch创建一个空文件

语法: touch a.txt

案例:在woniu目录中创建文件hello.txt

Linux基础教程_第14张图片

b、cp 文件拷贝

cp a.txt b.txt    将a.txt复制为b.txt文件
cp a.txt ../    将a.txt文件复制到上一层目录中
cp a.txt ../app1/b.txt 将a.txt 拷贝到app1下改为b.txt

案例:将hello.txt拷贝到app目录中

Linux基础教程_第15张图片

除了可以将文件直接复制外,还可以在复制文件时修改文件的名称

案例:将install.log拷贝到microboom目录中并改名为linux.txt

Linux基础教程_第16张图片

c、mv 移动或者重命名

mv 移动或者重命名
	mv a.txt ../        将a.txt文件移动到上一层目录中
	mv a.txt b.txt      将a.txt文件重命名为b.txt
	mv a.txt ../b.txt   将a.txt文件移动到上一层目录中后文件名修改成b.txt

d、rm 删除文件或目录

用法: rm [选项]... 文件...
	rm a.txt   删除a.txt文件
    删除需要用户确认,y/n 
rm  删除不询问
	rm -f a.txt  不询问,直接删除rm 删除目录
	rm -r a      递归删除,询问递归删除
	rm -rf  a    不询问递归删除(慎用)
	rm -rf *     删除所有文件
	rm -rf /*    自杀

2、文件查看命令【记】

a、cat命令

cat用于显示文件的内容,格式:cat[参数]<文件名>

案例:显示world.txt文件的内容

在这里插入图片描述

b、more命令

more一般用于要显示的内容会超过一个画面长度的情况。按空格键显示下一个画面。回车显示下一行内容。

案例:显示hello.txt文件的内容

Linux基础教程_第17张图片

c、less命令

​ less用法和more类似,不同的是less可以通过PgUp、PgDn键来控制

用法同上

d、tail命令

tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容。

用法:
    tail -10 /etc/passwd   查看后10行数据
    tail -f catalina.log   动态查看日志(*****)
    ctrl+c 结束查看

案例:显示hello.txt文件后1行的内容

Linux基础教程_第18张图片

案例:动态显示world.txt的内容

使用了-f后光标一直在等待而不会结束,当install.log文件发生变化时会直接将变化的内容显示。

Linux基础教程_第19张图片

修改world.txt的内容

Linux基础教程_第20张图片

自动显示已更新内容

Linux基础教程_第21张图片

七、Vi和vim编辑器

	vi编辑器是所有Unix及[Linux](http://www.2cto.com/os/linux/)系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,学会它后,您将在Linux的世界里畅行无阻。
	
	 vim 具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计; 因为程序简单,编辑速度相当快速。 vim可以当作vi的升级版本,他可以用多种颜色的方式来显示一些特殊的信息。
	 
	vim会依据文件扩展名或者是文件内的开头信息, 判断该文件的内容而自动的执行该程序的语法判断式,再以颜色来显示程序代码与一般信息。
	vim里面加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、块复制等等。 这对于我们在Linux上进行一些配置文件的修改工作时是很棒的功能。

vim的用法和vi一样。vim需要安装

vim安装命令:
	yum -y install vim*

1、vi编辑器【记】

在Linux下一般使用vi编辑器来编辑文件。vi既可以查看文件也可以编辑文件。三种模式:命令行、插入、底行模式。

vim和vi

案例:使用vim编辑器修改app/world.txt文件

使用vi打开world.txt,vim界面如下:

Linux基础教程_第22张图片

使用vi

在vi中按i键切换到插入模式编写内容
切换到插入模式:按 i 、o、a键;
    i 在当前位置前插入
    I 在当前行首插入
    a 在当前位置后插入
    A 在当前行尾插入
    o 在当前行之后插入一行
    O 在当前行之前插入一行

使用插入模式编写内容:

Linux基础教程_第23张图片

输入完成后需要切换回命令模式对文件进行保存

切换到命令行模式:在vi中按Esc键;

Linux基础教程_第24张图片

切换到底行模式:按 :(冒号)
:wq保存并退出
:q!不保存退出

Linux基础教程_第25张图片

2、ps系统管理命令

ps命令是用来管理linux系统中的进程。

ps 正在运行的某个进程的状态
ps –ef  查看所有进程
ps –ef | grep redis 查找某一进程
kill 2868  杀掉2868编号的进程
kill -9 2868  强制杀死进程

案例:搜索名为hald的进程

hald进程是linux的系统进程,用来加载计算机硬件的驱动。

在这里插入图片描述

案例:强制杀死编号为5821的进程

Linux基础教程_第26张图片

八、配置静态ip

修改ip前需要知道自己的网卡名称是什么

Linux基础教程_第27张图片

通过查看ip命令得知网卡名称为ens33

修改网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改如下内容
bootproto=static
在最后加上几行,IP地址、子网掩码、网关、dns服务器
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.2  #在vm中网关地址是2
DNS1=192.168.1.2
DNS2=192.168.1.2

Linux基础教程_第28张图片

重启网络服务

systemctl restart network

测试外网

ping www.baidu.com

九、tar打包与解压命令【记】

​ tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。

常用参数:
	-c:创建一个新tar文件
	-v:显示运行过程的信息
	-f:指定文件名
	-z:调用gzip压缩命令进行压缩
	-t:查看压缩文件的内容
	-x:解开tar文件

1、打包

打包:
	tar –cvf xxx.tar 要打包的文件
打包并且压缩:
	tar –zcvf xxx.tar.gz 要压缩的文件

案例:将app目录打包

Linux基础教程_第29张图片

案例:将microboom目录打包并压缩

Linux基础教程_第30张图片

2、解压

解压 
   tar –xvf xxx.tar  解压到当前目录中
   tar -zxvf xxx.tar.gz -C /usr/aaa 解压到user/aaa目录中

案例:将app.tar.gz解压到woniu目录

Linux基础教程_第31张图片

-C表示要将解压结果存放到哪个目录中

十、Linux软件安装

安装分类

linux中的软件有两种安装方式:源码包安装、rpm(二进制包)安装

  • 源码包安装:

    特点:由于安装的是源码包,所以要先编译再安装。

​ 注意:由于是源码包,里面都是源码,所以可以修改。有时候我们会看到一种包叫脚本包,也是源码包的一种。

  • rpm(二进制包)安装

    ​ 特点:由于是经过了编译,所以直接安装。

    ​ 注意:由于编译过了所以不能修改源代码。有时候我们会使用yum在线安装,yum在线安装属性rpm安装的一种。

十一、Linux安装MySql

1、yum在线安装mysql

a、第一步:查看mysql是否安装

rpm -qa|grep mysql

b、第二步:卸载旧版mysql

如果mysql的版本不是想要的版本。需要把mysql卸载

[root@localhost ~]# yum remove mysql mysql-server mysql-libs mysql-common   
[root@localhost ~]# rm -rf /var/lib/mysql
[root@localhost ~]# rm /etc/my.cnf

c、上传mysql的yum源

Linux基础教程_第32张图片

d、安装yum源和mysql

安装yum源

yum localinstall mysql80-community-release-el7-7.noarch.rpm

安装mysql

yum -y install mysql-community-server

e、启动mysql

systemctl start mysqld.service

当安装一个服务软件时,默认是把服务启动文件放在 /etc/init.d/里面,新版mysql在该目录中没有启动文件
systemctl start mysqld.service 启动mysql
systemctl restart mysqld.service 重启mysql
systemctl status mysqld.service 查看msyql状态
systemctl stop mysqld.service 停止mysql

mysqld为mysql默认的服务名称。在linux中mysql的配置文件在/etc/my.cnf 中

f、查看mysql随机密码

cat /var/log/mysqld.log | grep password

Linux基础教程_第33张图片

g、用随机密码登录mysql

mysql -uroot -p

h、修改root管理员的密码

​ 使用随机密码登录到msyql后输入mysql的修入密码命令

//1、先按mysql密码策略修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root_123R';

//修改mysql密码复杂性策略
set global validate_password.policy=0;
//设置最低密码长度为1
set global validate_password.length=1;

//再将密码修改为自己想要的
alter user 'root'@'localhost' identified by '123456';

2、开启mysql远程访问权限

//1、进入到mysql数据库,修改该库下user表的host列
update user set host='%' where user='root';
//2、执行两次下面的命令
grant all privileges on test.* to 'root'@'%';
//刷新数据库配置
flush privileges;

Linux基础教程_第34张图片

3、关闭linux防火墙

//临时关闭防火墙,系统重启后无效
systemctl stop  firewalld.service  

在这里插入图片描述

4、远程连接错误解决

如果使用mysql客户端连接linux上的mysql可能会报如下错误,该错误是因为mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password

Linux基础教程_第35张图片

解决步骤:
 //进入到mysql数据库
  use mysql;
//更改加密方式
 ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
 //修改密码
 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 
//刷新数据库配置
flush privileges;

十二、脚本安装jdk(使用jdk压缩包方式)

1、上传jdk到linux

在linux中软件一般安装到/usr/local目录中

Linux基础教程_第36张图片

2、将jdk解压

解压命令:
tar -zxvf jdk-8u301-linux-x64.tar.gz

Linux基础教程_第37张图片

将解压后的jdk改名为jdk8

mv jdk1.8.0_301 jdk8

Linux基础教程_第38张图片

3、配置jdk环境变量

注意JAVA_HOME换成自己的地址

使用vi打开/etc/profile
在末尾行添加
	#set java environment
	JAVA_HOME=/ding/jdk1.8
	CLASSPATH=.:$JAVA_HOME/lib.tools.jar
	PATH=$JAVA_HOME/bin:$PATH
	export JAVA_HOME CLASSPATH PATH
保存退出

Linux基础教程_第39张图片

重新加载环境变量

source /etc/profile

查看jdk版本

java -version

Linux基础教程_第40张图片

十三、脚本安装tomcat

1、下载tomcat

​ tomcat官网:https://tomcat.apache.org/

Linux基础教程_第41张图片

2、上传tomcat到Linux

将下载的tomcat上传到linux的并解压

3、运行tomcat

启动tomcat之前要先关闭防火墙

找到tomcat安装目录下的:tomcat8/bin/startup.sh

Linux基础教程_第42张图片

启动tomcat

./表示当前目录下

Linux基础教程_第43张图片

访问

Linux基础教程_第44张图片

十四、关闭Linux防火墙相关命令

  • 查看防火墙状态

    systemctl status firewalld.service  绿的running表示防火墙开启
    
  • 关闭防火墙

    systemctl stop firewalld.service
    
  • 开机禁用防火墙

    systemctl disable firewalld.service
    
  • 启动防火墙

    systemctl start firewalld.service
    
  • 防火墙随系统启动

    systemctl enable firewalld.service
    

1、在防火墙中开启指定端口

在实际的使用中不会将防火墙关闭,而是配置防火墙的放行

contos7的防火墙配置文件为:vi /etc/init.d/firewall

修改/etc/init.d/firewall 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT  //开放80端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  //开放22端口

配置完成后输入:/etc/init.d/firewall restar 重启防火墙

十五、部署项目到Linux

 部署前先将项目所需的数据库添加到linux的mysql中

1、部署jar包到linux

  • 修改项目pom文件

    将打包方式改为jar

    在pom中添加springboot插件

      <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.bootgroupId>
                    <artifactId>spring-boot-maven-pluginartifactId>
                    <version>1.4.2.RELEASEversion>
                plugin>
                <plugin>
                    <groupId>org.apache.maven.pluginsgroupId>
                    <artifactId>maven-resources-pluginartifactId>
                    <version>3.0.2version>
                plugin>
            plugins>
        build>
    
  • 将项目打包后上传到linux

​ 上传成功后切换到jar包所在的目录,执行:java -jar 项目jar包名称

​ 查看实时日志
​ tail -f catalina.out

你可能感兴趣的:(Linux,linux,网络,运维)