Linux入门

开始时间:2022-03-11
课程链接:动力节点

linux简介

一种开源的、免费的操作系统,安装在计算机硬件上、用来管理计算机的硬件和软件资源的系统软件。
linux注重安全性、稳定性、高并发处理能力,没有优异的可视化界面

linux安装

我们安装在虚拟机上的,具体操作参考动力节点的课程本身就行

我们在应用程序->终端里面键入命令行
在这里插入图片描述
这个类似于Windows下的cmd

Linux目录结构

Linux没有炫目的可视化操作界面,它的操作大部分都是直接执行命令,而可执行文件都是保存在相应的目录中的,所以我们对linux的操作大多数时候都是查找和执行这些可执行文件的。

linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
来看看目录结构
在这里插入图片描述

  1. root : 该目录为系统管理员目录,root是具有超级权限的用户。
  2. ==bin ->usr/bin ==: 存放系统预装的可执行程序,这里存放的可执行文件可以在系统的任何目录下执行。
  3. usr是linux的系统资源目录,里边存放的都是一些系统可执行文件或者系统以来的一些文件库。
  4. usr/local/bin:存放用户自己的可执行文件,同样这里存放的可执行文件可以在系统的任何目录下执行。
  5. lib->usr/lib: 这个目录存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
  6. boot : 这个目录存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
  7. dev: dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,Linux中的设备也是以文件的形式存在。
  8. etc: 这个目录存放所有的系统管理所需要的配置文件
    9)home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名,叫作用户的根目录;用户登录以后,默认打开自己的根目录。
  9. var : 这个目录存放着在不断扩充着的东西,我们习惯将那些经常被修改的文件存放在该目录下,比如运行的各种日志文件。
  10. mnt : 系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容
  11. opt: 这是给linux额外安装软件所存放的目录。比如你安装一个Oracle数据库则就可以放到这个目录下,默认为空。
  12. tmp: 这个目录是用来存放一些临时文件的。

层级式的目录结构:
bin ->usr/bin:系统的可执行文件,可以在任何目录下执行
usr/local/bin:用户自己的可执行文件,可以在任何目录下执行
etc:存放配置文件。配置环境变量(/etc/profile)。
home:每一个用户的根目录,用来保存用户私人的数据,默认情况下,目录名和自己的用户名相同。
opt:存放额外安装的软件。相当于windows系统的中Program files目录。

linux的远程操作:

不直接在服务器上操作,而是通过远程操作

Xshell:linux的终端模拟软件。
安装并破解:解压、破解(运行两个.bat文件)、启动(Xshell)

连接远程linux系统:创建会话:
查看linux系统的ip地址:ifconfig
我的linux上的ip为 192.168.91.128

配置好xshell后就可以直接操作Linux了
这里注意设置一下字体
文件-属性-外观
我这个默认给的是黑色字体,还是日本字,啥都看不到,修改后才好
在这里插入图片描述

Xftp:文件传输软件。
安装并破解:解压、破解(运行两个.bat文件)、启动(Xftp)
连接远程linux系统:创建会话:
查看linux系统的ip地址:ifconfig

创建好后跟Xshell操作步骤差不多,连上的话如图所示,右边就是linux系统
在这里插入图片描述
在左边找到自己需要安装的软件
然后安装到右边
我们自己装的软件不要装载root下,而是要在opt下面
双击左边上传文件
在这里插入图片描述

上传完后可以在xshell中查询得到结果
在这里插入图片描述

vi和vim

  • 一般模式(只读模式): 以vi/vim 命令打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』快捷键来处理档案内容,也可以使用『复制、贴上』快捷键来处理你的文件数据。
  • 编辑模式:按下i, I, o, O, a, A, r, R等任何一个字母之后才会进入编辑模式, 一般来说按i即可.回到一般模式按 ESC
  • 命令行模式:从一般模式,按shift+: 进入命令行模式,在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim 、显示行号等的动作则是在此模式中达成的 !
  • 输入: q!-----不保存强制退出编辑器
    wq-----保存并且退出编辑器
    q------只是退出编辑器
    在这里插入图片描述
    操作一下
[root@localhost opt]# mkdir testDir
[root@localhost opt]# ls
jdk-8u121-linux-x64.tar.gz  rh  testDir
[root@localhost opt]# cd testDir
[root@localhost testDir]# ls
[root@localhost testDir]# vim test.txt

vim快捷键

vi和vim编辑器的快捷键:

  • 1)复制当前行:在一般模式下,按yy,把光标所在行复制到剪切板
    按p,把剪切板中的内容粘贴到光标所在的下一行。
  • 2)复制当前行往下5行:在一般模式下,按5yy,把光标所在行往下5行复制到剪切板
    按p,把剪切板中的内容粘贴到光标所在的下一行。
  • 3)在文本文件中查找关键字:在命令行模式下,输入/关键字,回车
    按n表示光标查找下一个关键字
  • 4)删除光标所在的当前行:在一般模式下,按dd,删除光标所在的当前行
  • 5)删除光标所在的行往下5行:在一般模式下,按5dd
  • 6)撤销上次编辑的内容:在一般模式下,按u
  • 7)显示行号:命令行模式下,设置文件的行号(显示一二三四五六行),取消文件的行号.[命令行下(: set nu) 和(:set nonu)]

注册用户

linux下
注册账号
添加用户:useradd [选项] 用户名
useradd cancan

在/home目录下创建用的根目录,目录名称默认跟用户名相同
在linux中任何一个用户都至少属于一个组,新建用户时如果不指定组,则会新建一个组,组名跟用户名相同,并且把该用户添加到该组中

给用户设置密码:passwd 用户名
passwd lisi 敲回车
这个时候输入密码是不会回显的

删除用户

删除用户:userdel 用户名
删除用户的同时级联删除它的主目录 userdel -r 用户名
只能用root删除这些用户

查看用户信息

查看用户信息:id 用户名

切换用户

切换用户:su 用户名
su zhangsan
*从权限高的用户切换权限低的用户,不需要密码验证;
从权限低的用户切换到权限高的用户,必须密码验证。

组概念

Linux的组类似于角色,系统可以对有共性的多个用户进行统一的管理。每一个用户都至少属于一个组,创建用户时如果不指定组,会默认创建一个跟用户名相同的组,并且把新创建的用户分配到组中,root用户默认属于root组。

添加组
groupadd 组名
groupadd dev

删除组:groupdel 组名
groupdel dev

把用户添加到组中(-a就是add):gpasswd -a 用户名 组名
gpasswd -a zhangsan dev

把用户从组中移除(-d 就是delete):gpasswd -d 用户名 组名
gpasswd -d zhangsan dev

添加用户时,指定所属的组(主组):useradd -g 组名 用户名
useradd -g dev lisi
一般创建用户的时候就要指定所属的组,不要让其自成一组

linux中的系统操作命令:

关机:shutdown now 立即关机
shutdown -h xxx 定时关机
shutdown -r now 立即重启
重启:reboot 立即重启
同步数据库:sync

帮助命令

10、linux中的帮助命令:
1)、用来查看linux系统手册上的帮助信息:man 命令
man ls
分屏显示、按回车翻一行、按空格翻一页、按q退出查看。
2)、用来查看命名的内置帮助信息:help 命令
help cd
当然,有网的话直接上网查

文件目录指令

pwd
用于显示当前目录的路径

ls /home
ls 查看当前目录下所有的子目录和文件列表

ls -l /home :以列表形式显示
ls -a /home:显示指定目录下所有的子目录和文件(包括虚拟的目录)
ls -al /home:以列表形式显示指定目录下所有的子目录和文件(包括虚拟的目录)

切换到指定目录
绝对路径

[root@localhost ~]# cd /opt/testDir

相对路径

[root@localhost opt]# cd testDir

返回路径

cd ~ 或者cd :回到自己的主目录
cd .. 回到当前目录的上一级目录
cd .:当前目录

创建目录

在当前路径下创建目录

[root@localhost testDir]# mkdir test2

返回到首页用绝对路径创建目录

[root@localhost /]# mkdir /opt/testDir/test1

注意看,相对是没有斜杠的,绝对是有斜杠的

一次性创建目录以及目录中的目录

[root@localhost testDir]# mkdir -p test3/test4

这样就会在当前路径下创建test3,以及再test3下创建test4

也可以从根目录里创建

[root@localhost /]# mkdir -p /opt/testDir/test5/test6

删除一个空目录:
rmdir 目录名
rmdir test6
注意,删除的文件一定要是在当前相对路径之下,不然找不到,且必须这个目录为空,否则删不掉

创建新文件

[root@localhost testDir]# touch t1.txt t2.txt

需要创几个就写几个

复制文件或者目录:cp [选项] source(源) dest(目标)

cp t1.txt test2 //把t1.txt文件复制到test2目录中
cp -r test2 test5 //把test2目录复制到test5目录中(递归地复制目录)

注意一定要是当前目录下有的,不能隔空操作,和Windows其实是类似的。

删除文件或者目录:rm 文件名或者目录名

rm t1.txt 提示删除文件
rm -f t2.txt 强制删除文件
rm -r test2 提示递归删除目录
rm -rf test5 强制递归删除目录
注意和rmdir区分

移动目录或者文件:mv source(源) dest(目标)

mv test.txt test1
mv test1 test2
[root@localhost test1]# mv t1.txt rename_t1.txt

文件重命名
*如果目标中已经存在该文件或者目录,则会提示是否覆盖。

查看文件内容:cat 文件名

文件内容一次性显示出来。

[root@localhost test1]# cat rename_t1.txt
this is a vim file
I like linux OS

分页查看文件文件内容:more 文件名 一次性加载文件所有内容到内存,分页显示
按回车翻一行、按空格翻一页
more t4.txt

分页查看文件文件内容:less 文件名 分页加载文件所有内容到内存,分页显示
less t4.txt
按回车翻一行、按空格翻一页,按q退出查看

查看文件的头10行:head [选项] 文件名
head t4.txt
head -n 5 t4.txt

查看文件的后10行:tail [选项] 文件名
tail t4.txt
tail -n 5 t4.txt

echo:输出系统变量或者常量的值到命令行终端。

echo $JAVA_HOME
echo $PATH
[root@localhost test1]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

将环境变量配置起来,通过$符号引用
类似在Windows一样

JAVA_HOME=D:\DPFS\Java\jdk1.8.0_101
PATH=%JAVA_HOME%\bin;.......
CLASSPATH=%JAVA_HOME%\lib;.

也可以输出常量

[root@localhost test1]# echo Hello World!
Hello World!

查看命令 > 文件名

把前一个查看命令的结果输出到指定的文件中
如果目标文件不存在,则新建一个文件
如果目标文件已存在,则把文件以前的内容覆盖
比如当前目录下键入ls的结果是

[root@localhost testDir]# ls
t2.txt  t3.txt  test1  test.txt

那么执行以下语句

ls > ret.txt

就是把上述结果写入ret.txt中

也可以实现,文件内容的复制

cat ret.txt > t3_new.txt 

这样能把文本文件的内容复制出去

而使用双箭头>>
则是实现追加

linux中关于日期和时间的操作命令

  • 查看或者设置系统的日期或者时间:date
    date 查看系统当前的完整的日期和时间
    date +%Y 系统当前的年份
    date +%m 系统当前的月份
    date +%d 系统当前的日期

    date '+%Y-%m-%d %H:%M:%S' 按yyyy-MM-dd HH:mm:ss格式显示
    
    date -S '2020-10-20 10:20:30' 设置当前的系统时间
    
  • 查看系统日历:cal
    cal:查看当前月份的日历
    cal 2020:查看指定年份的日历

linux中关于搜索文件或者目录的命令

find [搜索范围][搜索标准] 关键字
find *.txt  搜索当前目录下,所有的.txt文件
[root@localhost testDir]# find *.txt
t2.txt
t3.txt
test.txt
find *e*  搜索当前目录下,所有名称中包含e的那些文件或者目录

目录下的文件也会搜出来

[root@localhost testDir]# find *t*
t2.txt
t3.txt
test1
test1/rename_t1.txt
test.txt

find /etc -size -5k  搜索/etc目录下所有小于5k的文件
[root@localhost testDir]# find test1 -size -5k
test1
test1/rename_t1.txt
find /etc -user zhangsan  搜索/etc目录下所有的所有者是zhangsan的文件和目录
[root@localhost testDir]# find -user root
.
./test.txt
./.test.txt.swp
./test1
./test1/rename_t1.txt
./t2.txt
./t3.txt

搜索还可以用locate,效率比find高一点

locate

在整棵目录树中搜索文件或者目录,都是根据名称搜索,效率高。
(everything软件是不是也基于此呢?)
需要先同步再使用
updatedb
locate 关键字

[root@localhost testDir]# updatedb
[root@localhost testDir]# locate *.txt
/opt/test.txt
/opt/testDir/.test.txt.swp
/opt/testDir/t2.txt
/opt/testDir/t3.txt
/opt/testDir/test.txt

准备过程长,搜索速度快

grep

使用grep进行过滤

[root@localhost testDir]# find *.txt|grep t
t2.txt
t3.txt
test.txt

[root@localhost testDir]# find -size -5k|grep 1
./test1
./test1/rename_t1.txt
[root@localhost testDir]# cat t2.txt|grep 1
[root@localhost testDir]# vim t2.txt
[root@localhost testDir]# cat t2.txt|grep this
this is the first line
this is the first line
[root@localhost testDir]# ls 
t2.txt  t3.txt  test1  test.txt
[root@localhost testDir]# ls |grep e
test1
test.txt

压缩命令

gzip和gunzip

[root@localhost testDir]# gzip t2.txt
[root@localhost testDir]# ls
t2.txt.gz  t3.txt  test1  test.txt

[root@localhost testDir]# gunzip t2.txt.gz
[root@localhost testDir]# ls
t2.txt  t3.txt  test1  test.txt

zip和unzip
先写zip 再加打包后的名称 后面再跟文件名

[root@localhost testDir]# ls
t2.txt  t3.txt  test1  test.txt

[root@localhost testDir]# zip test.zip t2.txt t3.txt test.txt
  adding: t2.txt (deflated 95%)
  adding: t3.txt (deflated 60%)
  adding: test.txt (stored 0%)
[root@localhost testDir]# ls
t2.txt  t3.txt  test1  test.txt  test.zip

同理可以解压
unzip 压缩包 -d 指定目录

[root@localhost testDir]# unzip test.zip -d test3
Archive:  test.zip
  inflating: test3/t2.txt            
  inflating: test3/t3.txt            
 extracting: test3/test.txt          
[root@localhost testDir]# ls
t2.txt  t3.txt  test1  test3  test.txt  test.zip

tar命令
使用tar来打包,有几个关键词

-c:产生.tar.gz打包文件
-v:显示详细信息
-f:指定压缩后的文件名
-z:打包同时压缩
-x:解压.tar.gz文件
-C: 指定解压到哪个目录

那我们进行一个打包操作

[root@localhost testDir]# tar -zcvf mytar.tar.gz test.zip t2.txt t3.txt
test.zip
t2.txt
t3.txt
[root@localhost testDir]# ls
mytar.tar.gz  t2.txt  t3.txt  test1  test3  test.txt  test.zip

解压操作

[root@localhost testDir]# tar -zxvf mytar.tar.gz -C test1
test.zip
t2.txt
t3.txt

[root@localhost testDir]# ls
mytar.tar.gz  t2.txt  t3.txt  test1  test3  test.txt  test.zip
[root@localhost testDir]# cd test1
[root@localhost test1]# ls
rename_t1.txt  t2.txt  t3.txt  test.zip

文件或目录与组

在文件或者目录看来,linux系统中所有的用户分为三类:

  • 所有者:默认情况下,文件或者目录的所有者都是创建者,可以修改
  • 同组用户:跟文件或者目录属于同一个组的用户
  • 其它组用户:既不是文件或者目录的所有者,也不是同组用户

查看文件的所有者和所在的组:

[root@localhost test1]# ls -l
总用量 16
-rw-r--r--. 1 root root  35 322 22:28 rename_t1.txt
-rw-r--r--. 1 root root 702 323 09:07 t2.txt
-rw-r--r--. 1 root root 405 323 08:48 t3.txt
-rw-r--r--. 1 root root 675 323 09:16 test.zip

修改所有者
chown(change owner)

[root@localhost test1]# chown chenzhijin t2.txt
[root@localhost test1]# ls -l
总用量 16
-rw-r--r--. 1 root       root  35 322 22:28 rename_t1.txt
-rw-r--r--. 1 chenzhijin root 702 323 09:07 t2.txt
-rw-r--r--. 1 root       root 405 323 08:48 t3.txt
-rw-r--r--. 1 root       root 675 323 09:16 test.zip

chown 新的所有者:新的组 文件名或者目录名
可以实现组的所有者也进行改变

[root@localhost test1]# chown chenzhijin:dev t3.txt
[root@localhost test1]# ls -l
总用量 16
-rw-r--r--. 1 root       root  35 322 22:28 rename_t1.txt
-rw-r--r--. 1 chenzhijin root 702 323 09:07 t2.txt
-rw-r--r--. 1 chenzhijin dev  405 323 08:48 t3.txt
-rw-r--r--. 1 root       root 675 323 09:16 test.zip

修改文件或者目录的所在组:chgrp 新的组 文件名或者目录名

[root@localhost test1]# chgrp dev t2.txt
[root@localhost test1]# ls -l
总用量 16
-rw-r--r--. 1 root       root  35 322 22:28 rename_t1.txt
-rw-r--r--. 1 chenzhijin dev  702 323 09:07 t2.txt
-rw-r--r--. 1 chenzhijin dev  405 323 08:48 t3.txt
-rw-r--r--. 1 root       root 675 323 09:16 test.zip

文件或者目录的三种权限:

在linux中,任何文件或者目录都有三种权限:读(Read)、写(Write)、执行(Execute)
对于文件而言:

  • 读:可以读取、查看文件的内容, 比如:cat、more、less、head、tail等。
  • 写:可以修改文件的内容,比如:vi或者vim等
  • 执行:如果该文件是可执行文件(.sh),可以直接运行,比如:./xxx.sh。

对于目录而言:

  • 读:可以读取、查看目录下边的内容,比如:ls等
  • 写:可以修改目录中的内容,创建子目录、删除子目录、创建文件、删除文件、重名文件或者目录
  • 执行:可以进入该目录, 比如:cd等。

文件或者目录的权限控制:

在linux中,任何一个文件或者目录都有三部分权限:所有者权限、同组用户权限、其它组用户权限。

  • 第一部分权限:所有者权限,文件或者目录的所有者对该文件所拥有的权限,使用r、w、x分表表示读、写、执行的权限。比如:rwx:拥有读写执行的权限,r-x:拥有读和执行的权限,r–:只拥有读的权限,—:没有任何权限。
  • 第二部分权限:同组用户权限,文件或者目录的同组用户对该文件所拥有的权限,使用r、w、x分表表示读、写、执行的权限。
  • 第三部分权限:其它组用户权限,文件或者目录的其它组用户对该文件所拥有的权限,使用r、w、x分表表示读、写、执行的权限。
[root@localhost test1]# ls -l
总用量 16
-rw-r--r--. 1 root       root  35 322 22:28 rename_t1.txt

第一段rw是所有者权限rw,第二段r是同组权限,第三段r是其他组用户权限

文件是横杠
目录是d

改权限

[root@localhost test1]# chmod u-w t2.txt
[root@localhost test1]# ls -l

可以看出权限已被修改

总用量 16
-rw-r--r--. 1 root       root  35 322 22:28 rename_t1.txt
-r--r--r--. 1 chenzhijin dev  702 323 09:07 t2.txt
-rw-r--r--. 1 chenzhijin dev  405 323 08:48 t3.txt
-rw-r--r--. 1 root       root 675 323 09:16 test.zip

再改改不了

-- 插入 -- W10: 警告: 正在修改一个只读文件 

修改文件或者目录的权限:chmod

用r、w、x分辨表示读、写、执行的权限,
用u、g、o、a分别表示给所有者、同组用户、其它组用户、所有用户修改权限
用+、-、=分别表示给指定的用户增加、减少、设置对应的权限

chmod g=rwx t2.txt
[root@localhost testDir]# chmod g=rwx t2.txt
[root@localhost testDir]# ls -l
总用量 20
-rw-r--r--. 1 root root 824 323 09:33 mytar.tar.gz
-rw-rwxr--. 1 root root 702 323 09:07 t2.txt
-rw-r--r--. 1 root root 405 323 08:48 t3.txt
drwxr-xr-x. 2 root root  71 323 09:34 test1
drwxr-xr-x. 2 root root  50 323 09:19 test3
-rw-r--r--. 1 root root  33 322 10:05 test.txt
-rw-r--r--. 1 root root 675 323 09:16 test.zip

每一个权限可以用一个数字来表示:

rwx
421
2^22^12^0

每一个文件或者目录都有三部分权限,每一部分权限都可以用一组数据之和来表示,三部分权限就是一组三个数据序列:

rw- r-x r-x
6    5   5
rwx r-x -wx
7   5   3
rwx rwx rwx
7   7   7
chmod 777 t5.txt
chmod 753 t5.txt

赋予三部分所有权限

[root@localhost testDir]# chmod 777 t3.txt
[root@localhost testDir]# ls -l
总用量 20
-rw-r--r--. 1 root root 824 323 09:33 mytar.tar.gz
-rw-rwxr--. 1 root root 702 323 09:07 t2.txt
-rwxrwxrwx. 1 root root 405 323 08:48 t3.txt

网络配置

在该目录下配置网络

/etc/sysconfig/network-scripts
[root@localhost network-scripts]# vim ifcfg-ens33

修改里面的几个字段

BOOTPROTO="static"
ONBOOT="yes"
IPADDR=192.168.91.128
GATEWAY=192.168.91.2
DNS1=192.168.11.2
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="1046439a-2603-4d1b-812f-1a4b6edfda55"
DEVICE="ens33"
ONBOOT="yes"

IPADDR=192.168.91.128
GATEWAY=192.168.91.2
DNS1=192.168.11.2

IP地址在虚拟机里面看
在这里插入图片描述
NAT设置和DHCP设置里面有
确保DNS和GATEWAY一致

linux中的进程管理:

  • 线程:一个程序的线路
  • 进程:一个程序的执行,一个进程占用一个端口

查看进程 ps

[root@localhost network-scripts]# ps
   PID TTY          TIME CMD
  2756 pts/0    00:00:00 bash
  2960 pts/0    00:00:00 ps

查看正在运行的进程:ps(process status)

ps  //只会显示应用进程
ps -e //显示所有进程
ps -ef //以全格式的形式显示所有进程
//用于查看linux系统中某一些软件或者应用是否处于启动状态
ps -ef|grep mysql

终止进程

[root@localhost network-scripts]# ps
   PID TTY          TIME CMD
  2756 pts/0    00:00:00 bash
  3035 pts/0    00:00:00 ps
[root@localhost network-scripts]# kill -9 2756
Connection closing...Socket close.

kill -9 PID
表示强迫进程立即停止。

服务管理

服务是支持Linux运行的一些必要程序,本质上也是进程,叫守护进程。守护进程通常默默地运行在后台,为应用程序提供必要支撑,比如sshd、防火墙等。

防火墙操作

systemctl status firewalld  查看防火墙运行状态
systemctl stop firewalld 关闭防火墙
Active: inactive (dead) since 四 2022-03-24 09:18:40 CST; 2s ago
systemctl start firewalld 开启防火墙
systemctl enable firewalld 设置防火墙开机启动

Linux 软件包的管理(软件安装包)

一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。
它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的setup.exe
这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。

查看当前系统中已经安装的rpm软件包:rpm -qa|grep firefox
同样使用grep实现过滤

[root@localhost ~]# rpm -qa|grep firefox
firefox-45.4.0-1.el7.centos.x86_64

卸载rpm包

卸载rpm软件包:rpm -e firefox

安装包

安装rpm包:rpm -ivh xxx.rpm
cp firefox-45.4.0-1.el7.centos.x86_64.rpm /opt
rpm -ivh firefox-45.4.0-1.el7.centos.x86_64.rpm

先拷贝,再安装

YUM包

是一种基于RPM的软件包管理工具,它能够从指定服务器上自动下载RPM包并且自动安装,可以自动处理软件包之间的依赖关系。(Linux上的类Maven工具?)

查看当前系统中已经安装的rpm软件包:yum list installed|grep firefox
卸载rpm软件包:yum remove firefox.x86_64
安装rpm包:yum install firefox

安装JDK

先将软件通过xftp5 上传到/opt 下
然后进行解压

tar -zxvf jdk-8u121-linux-x64.tar.gz -C /opt

安装后找到目录

/opt/jdk1.8.0_121

进入到 vim /etc/profile

JAVA_HOME=/opt/jdk1.8.0_121
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/lib:.
export JAVA_HOME PATH CLASSPATH

使用source重新加载一下profile

[root@localhost etc]# source profile
[root@localhost etc]# java -version
java version "1.8.0_121"

此时已经安装好了

安装Tomcat

先将软件通过xftp5 上传到/opt 下
解压到/opt
tar -zxvf apache-tomcat-9.0.0.M26.tar.gz -C/opt
进入目录下启动tomcat

[root@localhost opt]# cd apache-tomcat-9.0.0.M26
[root@localhost apache-tomcat-9.0.0.M26]# cd bin
[root@localhost bin]# ls
bootstrap.jar                 setclasspath.sh
catalina.bat                  shutdown.bat
catalina.sh                   shutdown.sh
catalina-tasks.xml            startup.bat
commons-daemon.jar            startup.sh
commons-daemon-native.tar.gz  tomcat-juli.jar
configtest.bat                tomcat-native.tar.gz
configtest.sh                 tool-wrapper.bat
daemon.sh                     tool-wrapper.sh
digest.bat                    version.bat
digest.sh                     version.sh
setclasspath.bat
[root@localhost bin]# ./startup.sh

装好后可以在Windows端访问,访问的前提是Linux的防火墙要关了
这里的ip是我linux配置的ip

http://192.168.91.128:8080/

安装MySQL

第一步:查看是否已经安装了mariadb
检查linux是否安装了mariadb数据库,mariadb数据库是mysql的分支。是免费开源的。mariadb和msyql会有冲突。首先要检查安装了mariadb, 卸载掉。
检查命令:yum list installed | grep mariadb
卸载命令:yum –y remove xxxx

这个 -y的作用就是用来默认选yes,防止自己在他的会话框每次都来确认

解压压缩包

[root@localhost mysoftwares]# tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C/opt

修改解压后的根目录名

[root@localhost opt]# mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql-5.7.18

data文件夹是mysql用来存放数据库文件的,数据库的表数据都放在data目录

[root@localhost mysql-5.7.18]# mkdir data

创建组和用户

[root@localhost mysql-5.7.18]# groupadd mysql
[root@localhost mysql-5.7.18]# useradd -g mysql mysql

初始化mysql

在mysql下的bin目录下

[root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/opt/mysql-5.7.18/data --basedir=/opt/mysql-5.7.18

参数说明:
–initialize 初始化mysql,创建mysql的root, 随机生成密码。记住密码,登录msyql使用。
–user执行msyqld 命令的linux用户名
–datadir : mysql数据文件的存放位置,目录位置参照本机的设置。
–basedir : msyql安装程序的目录,目录位置参照本机的设置。

iSq;=uitx3*1

启用安全功能

在服务器与客户机之间来回传输的所有数据进行加密。通过证书提供了身份验证机制,mysql命令程序mysql_ssl_rsa_setup提供了开启数据加密功能,生成数字证书。
在mysql-5.7.18/bin目录下执行命令:

[root@localhost bin]# ./mysql_ssl_rsa_setup --datadir=/opt/mysql-5.7.18/data

修改mysql安装目录的权限

mysql安装后,需要更改mysql-5.7.18整个文件夹目录权限,更改所属的用户和组为之前创建的mysql用户及其所在组。在mysql安装目录的上级(/opt)位置,执行命令chown .
例如:

chown -R mysql:mysql /opt/mysql-5.7.18/

这里的-R是实现递归,让目录里面的子目录也同步修改
在这里插入图片描述

mysql启动

后台启动
要进入mysql文件下的bin目录

[root@localhost bin]# ./mysqld_safe &

查看启动是否成功

[root@localhost bin]# ps -ef|grep mysql

登录进入mysql,mysql-5.7.18/bin目录下执行命令:./mysql -uroot -p
-u表示使用root用户登录系统,使用第7步生成的密码。
-p表示使用密码登录

修改root密码
执行sql语句 show databases; 第一次使用将会提示修改mysql的root用户密码:
修改mysql的密码,命令语法:alter user ‘用户名’@‘主机域名或ip’ identified by ‘新密码’
例如:alter user ‘root’@‘localhost’ identified by ‘yf123’;

授权远程访问

语法:grant all privileges on *.* to root@'%' identified by 'yf123';
参数:
其中*.* 的第一个*表示所有数据库名,第二个*表示所有的数据库表;
root@'%' 中的root表示用户名,%表示ip地址,%也可以指定具体的ip地址,比如root@localhost,root@192.168.235.130等。

指定Navicat里面新建链接
在这里插入图片描述

从mysql中退出

mysql> exit;

关闭mysql服务

mysql-5.7.18/bin目录下执行:./mysqladmin -uroot -p shutdown输入密码关闭

结束时间:2022-03-24

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值