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和后来加入的众多爱好者共同开发完成。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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网络连接三种模式

1、查看当前ip

ip addr  查看当前linux的ip地址

在这里插入图片描述

2、网络连接模式

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

在这里插入图片描述

  • 桥接模式

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

  • NAT(地址转换模式)

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

在这里插入图片描述

  • 仅主机模式

    仅主机模式是出于安全考虑,将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。如果要使得虚拟机能联网,我们可以将主机网卡共享给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常用命令

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

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

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

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

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

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

在这里插入图片描述

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

在这里插入图片描述

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目录

在这里插入图片描述

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

2、创建多级目录mkdir -p

 mkdir -p app/app1/app2

直接使用mkdir app/test会报错

在这里插入图片描述

创建多级目录

在这里插入图片描述

3、删除空目录rmdir

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

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

在这里插入图片描述

六、文件命令

1、文件操作命令【记】

a、touch创建一个空文件
语法: touch a.txt

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

在这里插入图片描述

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目录中

在这里插入图片描述

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

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

在这里插入图片描述

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文件的内容

在这里插入图片描述

c、less命令

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

用法同上

d、tail命令

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

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

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

在这里插入图片描述

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

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

在这里插入图片描述

修改world.txt的内容

在这里插入图片描述

自动显示已更新内容

在这里插入图片描述

七、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界面如下:

在这里插入图片描述

使用vi

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

使用插入模式编写内容:

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

2、ps系统管理命令

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

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

案例:搜索名为hald的进程

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

在这里插入图片描述

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

在这里插入图片描述

八、配置静态ip

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

在这里插入图片描述

通过查看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

在这里插入图片描述

重启网络服务

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目录打包

在这里插入图片描述

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

在这里插入图片描述

2、解压

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

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

在这里插入图片描述

-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源

在这里插入图片描述

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

在这里插入图片描述

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;

在这里插入图片描述

3、关闭linux防火墙

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

在这里插入图片描述

4、远程连接错误解决

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

在这里插入图片描述

解决步骤:
 //进入到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目录中

在这里插入图片描述

2、将jdk解压

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

在这里插入图片描述

将解压后的jdk改名为jdk8

mv jdk1.8.0_301 jdk8

在这里插入图片描述

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
保存退出

在这里插入图片描述

重新加载环境变量

source /etc/profile

查看jdk版本

java -version

在这里插入图片描述

十三、脚本安装tomcat

1、下载tomcat

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

在这里插入图片描述

2、上传tomcat到Linux

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

3、运行tomcat

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

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

在这里插入图片描述

启动tomcat

./表示当前目录下

在这里插入图片描述

访问

在这里插入图片描述

十四、关闭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.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>1.4.2.RELEASE</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
            </plugins>
        </build>
    
  • 将项目打包后上传到linux

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

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

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值