欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

程序员文章站 2022-07-12 13:51:06
...

文章目录

1、Linux-CentOS7 分区

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、软件选择安装

选择带有GUI的选项安装
Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

3、VMtools

1、安装

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、直接黏贴命令在win和centos之间

可以从windows复制命令到linux中,快速复制粘贴

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

3、设置win和centos的共享文件夹

点击要共享的虚拟机,右键-> 设置 -> 选项 -> 共享文件夹

设置成总是启动,并且添加一个 本地共享文件夹的位置

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)
Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

4、测试

linux 系统中默认挂在VM tool共享文件夹的目录为 /mnt/hgfs

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

4、linux目录结构

linux的文件系统采用层级式的树状目录结构。在此结构中的最上层是根目录/ ,然后在此目录下在创建其他目录。

总结:在linux系统之间,一切对象皆文件

  • bin 存放二进制文件指令

  • sbin 存放管理员使用的系统管理程序

  • dev 存放系统设备

  • etc 存放配置文件文件

  • home 家目录 存放用户

  • lib 存放库文件

  • mnt 存放挂载设备

  • opt 安装的软件包

  • proc 存放内核

  • root root用户的一些文件

  • selinux 存放安全配置

  • tmp 临时文件

  • user 用户信息 user/local 存放安装后软件的目录

  • var

5、远程连接

1、远程登录
在连接前,linux必须开启22端口的sshd服务

2、远程上传下载

6、vi和vim的三种模式

1、正常模式

我们可以使用快捷键

可以上下左右移动光标 可以删除字符整行

2、插入模式/编辑模式

按下 i o a r等任何一个字母都可以加进入插入模式

3、命令行模式

可以输入命令保存 退出

:wq	保存退出
:q!	不保存退出

4、vim之快捷键

1、拷贝当前行

正常模式下,将光标移到需要复制的行 ,输入yy即完成赋值 输入p即完成粘贴 输入数字+yy即可赋值数字行(5yy即复制5行)

2、删除当前行

同复制命令,删除命令为dd 多行删除为数字+dd 即(5dd)删除5行

3、查找命令

在命令行模式下输入 /+搜索词 输入n切换到下一个

4、设置行号

在命令行模式 set nu 取消行号 set nonu

5、调到行首和行尾

直接在正常模式下 输入G调到行尾 输入gg 调到行首

6、撤销动作

在正常模式下输入 u

7、快速移动光标

第一步、显示行号

​ set nu

第二步、输入20

第三步、输入shift + g

7、关机&重启

1、shutdown

shutdown -h now: 立即关机

shutdown -h 1 : 表示1分钟后立即关机

shutdown -r now : 立即重启

halt:直接使用,等价于直接关机

reboot:重启系统

sync:把内存的数据同步到磁盘上

注:当我们关机或者重启时,都应该先执行以下sync指令,把内存中的数据加载到磁盘上`

2、用户的登录和注销

尽量使用普通用户登录,只有在需要的时候再转换到root用户

使用su切换到root用户

使用logout注销用户

注 :logout注销指令在图形运行级别无效,在运行级别3下有效`

8、用户管理

1、用户、组、家目录之间的关系

用户和用户组的对应关系有以下 4 种:

  1. 一对一:一个用户可以存在一个组中,是组中的唯一成员;
  2. 一对多:一个用户可以存在多个用户组中,此用户具有这多个组的共同权限;
  3. 多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限;
  4. 多对多:多个用户可以存在多个组中,也就是以上 3 种关系的扩展。

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、添加用户

1、基本语法

useradd [选项] 用户名

useradd -d 路径 用户名 强制给用户指定一个家目录

2、实际案例

添加的用户如何不指定则自己默认为一个组。

添加完的用户将自动在/home下自动生成一个目录

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

3、设置密码

使用 passwd 用户名

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

4、查看当前目录

使用 pwd

5、删除用户

1、删除用户,但是保存家目录

userdel xxx

2、删除用户,且删除家目录

userdel -r xxx

在删除用户时,我们一般不会将家目录删除掉

6、查询用户id

id 用户名

我们可以看到,没有指定组的情况下,用户创建时自己指定为一组

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

7、切换用户

su 用户名

8、查看当前用户

who am i

3、用户组

1、添加组

类似于角色,系统可以对有共性的多个用户进行统一管理

指令:groupadd 组名

2、删除组

groupdel 组名

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

不能删除非空组 ( 组内不能有用户 )

3、添加用户指定组

useradd -g 用户组 用户名

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

4、修改用户组

usermod -g 用户组 用户名

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

5、用户和组的相关文件

1、用户配置文件(用户信息) /etc/passwd

​ 用户的配置文件,记录用户的各种信息

​ 每行的含义:用户名:口令:用户标识符:组标识符:注释性描述:主目录:登录shell

​ Centos6用户id是从500开始 ,Centos7是从1000开始

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、组配置文件(组信息) /etc/group

​ 组的配置文件,记录linux包含的组的信息

​ 每行的含义:组名:口令:组标识符:组内用户列表

​ Centos6用户组id是从500开始 ,Centos7是从1000开始

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)
3、口令配置文件(密码登录信息) /etc/shadow

密码都是经过加密的
Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

9、linux实操篇

1、运行级别

一共有七个运行级别

0:关机

1:单用户(找回丢失密码)

2:多用户无网络服务

3:多用户有网络服务

4:保留

5:图形界面

6:系统重启

系统的运行级别配置文件 /etc/inittab

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、切换指定运行级别的指令

init [0 1 2 3 5 6]

3、ROOT密码丢失,如何找回

思路:进入单用户模式,修改密码

4、帮助指令

man 命令

help 命令

5、文件目录类

1、pwd指令

pwd:显示当前工作路径的绝对路径

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、ls指令

ls 【选项】 【目录或是文件】

ls -a 显示当前目录所有的文件和目录,包括隐藏的

ls -l 以列表的方式显示信息 (简写:ll

3、cd指令

cd ~ 或者 cd 回到自己的家目录

cd … 回到当前目录的上一级目录

4、mkdir指令

mkdir指令用于创建目录

mkdir [选项] 要创建的目录

mkdir -p :创建多级目录(mkdir -p /home/animal/tiger)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

5、rmdir指令

rmdir指令删除空目录

rmdir [选项] 要删除的空目录 (只能删除空目录)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

rm -rf 目录/文件 删除一切文件或目录(包含非空目录)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

6、 touch指令

touch 文件名 创建空文件

可以一次创建多文件

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

7、cp指令

cp指令拷贝文件到指定目录

cp [选项] source dest 只能拷贝文件

拷贝目录,不能拷贝复制到目标目录

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

cp -r source dest 将源目录夹整个拷贝到目标文件夹中

目标目录不存在,直接复制

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

目标目录存在,询问复制

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

\cp -r source dest 强制覆盖,不提示

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

8、rm指令

删除文件或者目录

rm [选项] 文件/目录

rm 文件名 提示删除

只能删除文件,不能删除目录

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

rm -f 文件名 强制删除,不提示

只能删除文件,不能删除目录

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

rm -r 文件夹名 递归询问删除文件夹

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

rm -rf 文件夹名 删除一切 (毁天灭地~~~从删库到跑路~~~)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

9、mv指令

移动文件与目录或者重命名

mv oldFileName newFileName (重命名)

新文件/目录不存在的情况下,旧文件/目录更名成新文件/目录名

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

mv oldFilePath newFilePath(移动文件不改名)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

mv oldFilePath newFilePath(移动文件并改名)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

10、cat指令

查看文件内容,以只读的方式打开

cat 文件名

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

cat 文件名 -n 查看文件并带行号

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

cat -n /etc/profile |more 分页查看 使用空格键翻页

将查询结果使用管道重定向到more来输出

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

11、more指令

空格来制定下一页

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

12、 less指令

page up 上一页

page down 下一页

空格 下一页

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

13 、> 指令 和 >>指令

​ >输出重定向:会将文件覆盖

​ >> 追加:会追加文件

ls -l > 文件 功能描述:列表的内容写入到文件a.txt中(覆盖写)

ls -al >> 文件 功能描述:列表的内容追加到文件aa.txt的末尾(追加写)

cat 文件1 > 文件2 功能描述:将文件1的内容覆盖到文件2

echo “内容” >> 文件

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

14、echo指令

echo输出内容到控制台

15、head指令

head用于显示文件的开头部分内容。默认情况下head指令显示文件的前10行内容

head 文件名

head -n 5 文件名 查看前5行的内容
Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

16、tail指令

tail指令用于输出文件中尾部的内容,默认情况下tail执行显示文件的后10行内容

tail 文件名

tail -n 5 文件名 查看后5行的内容

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)
tail -f 文件 功能描述:实时追踪该文档的所有更新,工作中经常使用

6、ln指令

软链接也叫符号连接,类似于windows里的快捷方式,主要存放了链接其他文件的路径

ln -s /root linkToRoot (ln 小写的L)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

当我们使用pwd指令查看目录时,我们仍然看到的是软链接所在的目录

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

7 、history指令

history 查看已经执行过的历史指令

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

显示最近执行的10个

history 10

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

!405 执行历史记录为第405条的命令

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

8、时间日期类

date 指令 显示当前日期

date +%Y 显示当前年份

date +%m 显示当前月份

date “+%Y %m %d” 显示当前年月日

date “+%Y %m %d %H %M %S” 显示当前 年月日时分秒

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

date -s “2020-9-13 15:29:30” 设置日期时间

不写入bios 重启就会失效

9、日历类

cal 显示当前月份日历

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

cal 2020 显示2020年日历

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

10、搜索查找类

1、find 指令

find [搜索范围] [选项]

find /opt -name java 查找/home目录下的名称为hello的文件

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

find /opt -user root |head -n 5 按拥有者,查找/opt目录下,用户名称为root的文件

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

find / - size +20M 查找整个linux系统下大于20M的文件 (+n大于 ,-n小于 ,n等于)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

find / -name.txt 查询 / 目录下,所有 .txt的文件

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、locate指令

updatedb 创建locate数据库

locate 文件名 快速定位文件的所在目录

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

3、grep指令

cat hello.txt | grep hello -in // -i 忽略大小写 -n 行数

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

4、压缩和解压缩之gzip

gzip/gunzip 指令

gzip 用于压缩文件 (压缩完文件后,原先的文件就消失了)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

gunzip 用于解压的

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

5、压缩和解压缩之zip

zip [选项] xxx.zip 是用于压缩文件的

-r 递归压缩,即压缩目录

将home目录下的所有文件打包名称为mypackage

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

unzip [选项] xxx.zip 用于解压的(在项目打包发布中很有用)

-d <目录> :指定压解后的文件的存放目录

unzip -d /opt/test /opt/test/oldPackage/gzipFile.zip

将gzipFile.zip解压到 /opt/test文件夹下

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

6、压缩和解压缩之tar

应用案例

1、打包多个文件。将/home/a1.txt 和/home/a2.txt压缩成 a.tar.gz

[aaa@qq.com test]# tar -zcvf newFile.tar.gz  1.txt 2.txt 3.txt 

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、将目录下所有文件打包

tar -zcvf allFile.tar.gz /opt/test/

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

3、将tar包解压缩

**tar -zxvf a.tar.gz** 

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)
4、将tar包压缩到指定目录下

tar -zxvf allFile.tar.gz  -C  ../test/

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

10、组管理和权限管理

1.文件/目录所有者

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、查看文件的所有者

当某个用户创建了一个文件后,这个文件所在组就是该用户所在的组

ls -ahl

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

3、修改文件所有者

chown -R 将要修改的文件名 需要修改的文件 /文件夹 将当前目录下所有文件的所有者修改

修改文件所有者

chown 用户名 文件名

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

修改目录所有者

chown -hR  huanglejia:huanglejia test

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

4、组的创建

当我们创建一个文件时,默认会为文件指定当前用户为所属者和所属组

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

5、修改文件所在的组

[aaa@qq.com ~]# chgrp [-R] 所属组 文件名(目录名)
-R(注意是大写)选项长作用于更改目录的所属组,表示更改连同子目录中所有文件的所属组信息。

实例

[aaa@qq.com opt]# chgrp huanglejia fileGroup 

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

6、其他组

除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

7、权限详细介绍

文件/文件夹的类型

- 普通文件

d 目录

l 软链接

c 字符设备

b 块文件,硬盘

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

8、权限管理

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

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

chmod  u= rwx,g=rwx,o=rwx   文件名

文件初始权限

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

给文件赋予权限

[aaa@qq.com test]# chmod u-x,g+w a.txt 

可以用户权限删除了’x‘执行权限,本组增加了’w‘权限

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

[aaa@qq.com test]# chmod a+x a.txt  所有用户添加读的权限

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

11、任务调度

crond 是 Linux 下用来周期地执行某种任务或等待处理某些事件的一个守护进程,和 Windows 中的计划任务有些类似。

1、快速入门

  1. crontab -e
  2. */1 * * * * date /etc >> /tmp/to.txt
  3. 保存退出
  4. 每一分钟都会自动执行

2、任务调度的实例

案例1:每隔1分钟,将当前的日期信息,追加到/tmp/mydate文件中

3、相关指令

项目 含义 范围
第一个"*" 一小时当中的第几分钟(minute) 0~59
第二个"*" 一天当中的第几小时(hour) 0~23
第三个"*" 一个月当中的第几天(day) 1~31
第四个"*" 一年当中的第几个月(month) 1~12
第五个"*" 一周当中的星期几(week) 0~7(0和7都代表星期日)

在时间表示中,还有一些特殊符号需要学习,如表 3 所示。

特殊符号 含义
*(星号) 代表任何时间。比如第一个"*"就代表一小时种每分钟都执行一次的意思。
,(逗号) 代表不连续的时间。比如"0 8,12,16***命令"就代表在每天的 8 点 0 分、12 点 0 分、16 点 0 分都执行一次命令。
-(中杠) 代表连续的时间范围。比如"0 5 ** 1-6命令",代表在周一到周六的凌晨 5 点 0 分执行命令。
/(正斜线) 代表每隔多久执行一次。比如"/10***命令",代表每隔 10 分钟就执行一次命令。

当“crontab -e”编辑完成之后,一旦保存退出,那么这个定时任务实际就会写入 /var/spool/cron/ 目录中,每个用户的定时任务用自己的用户名进行区分。而且 crontab 命令只要保存就会生效,只要 crond 服务是启动的。知道了这 5 个时间字段的含义,我们多举几个时间的例子来熟悉一下时间字段,如下 所示。

时间 含义
45 22 ***命 令 在 22 点 45 分执行命令
0 17 ** 1命令 在每周一的 17 点 0 分执行命令
0 5 1,15**命令 在每月 1 日和 15 日的凌晨 5 点 0 分执行命令
40 4 ** 1-5命令 在每周一到周五的凌晨 4 点 40 分执行命令
*/10 4 ***命令 在每天的凌晨 4 点,每隔 10 分钟执行一次命令
0 0 1,15 * 1命令 在每月 1 日和 15 日,每周一个 0 点 0 分都会执行命令

命令示例

命令 含义
*/5 * * * * /bin/echo “11” >> /tmp/test 让系统每隔 5 分钟就向 /tmp/test 文件中写入一行“11”
5.5 * * 2 /sbin/shutdown -r now 让系统在每周二的凌晨 5 点 05 分重启一次。
30.3 1,10,15 * * /root/sh/autobak.sh 在每月 1 日、10 日、15 日的凌晨 3 点 30 分都定时执行日志备份脚本 autobak.sh。

12、linux的挂载

查看挂载情况

[aaa@qq.com tmp]# lsblk -f

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

查看挂载分区大小

[aaa@qq.com tmp]# lsblk

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

13、linux添加新分区

1、在vm中添加新硬盘 20g

2、重启

3、查看分区 lsblk

如果是第一次创建后,没有分区

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

4、分区

[aaa@qq.com /]# fdisk  /dev/sdb
#m查看帮助    n创建新分区    w退出   
命令(输入 m 获取帮助):n
Select (default p):    默认回车
分区号 (1-4,默认 1):	   默认回车
起始 扇区 (2048-41943039,默认为 2048):   默认回车
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):				默认回车
命令(输入 m 获取帮助):w

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

磁盘命令大全

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

5、格式化分区

[aaa@qq.com /]# mkfs -t   ext4  /dev/sdb1

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

6、挂载 (如果重启则消失)

先创建需要挂载的目录

[aaa@qq.com /]# mkdir /newDisk

挂载分区

mount /dev/sdb1 /newdisk/

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

7、添加自动挂载

vi /etc/fstab

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

/dev/sdb1                       /newdisk        ext4    defaults        0 0

8、启动生效

mount -a 立刻生效

如果不想挂载到某个位置上,可以解挂

解挂载

umount /dev/sdb1

14 、查看磁盘情况

1、 查看系统整体磁盘情况查询

#磁盘过满可能会影响执行性能
[aaa@qq.com /]# df -lh

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、查询指定目录的磁盘占用情况

#du  -h    目录
[aaa@qq.com /]# du -hs /opt

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

#dept代表文件夹层数
[aaa@qq.com /]# du -ach --max-dept=1 /opt

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

3、实用指令

1、统计/usr/local/mysql/文件夹下文件的个数

[aaa@qq.com mysql]# ls -l /usr/local/mysql/ | grep "^-" |wc -l

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、统计/home文件夹下目录的个数

[aaa@qq.com mysql]# ls -l /home | grep "^d" |wc -l

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

3、统计/opt文件夹下目录的个数,包括子文件夹里的目录

[aaa@qq.com home]# ls -lR /opt | grep "^d" |wc -l

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

4、统计/usr文件夹下文件的个数,包括子文件夹里的文件

[aaa@qq.com home]# ls -lR /usr | grep "^-" |wc -l

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

5、以树状显示这个指令

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

15、修改主机ip

查询ip

[aaa@qq.com /]# ip addr
[aaa@qq.com /]# ifconfig

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

可以看出我们的网卡名称为eth0

[aaa@qq.com /]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

设置静态/动态获取、ip地址、子网掩码、网关等信息

16、进程管理

1、什么是进程

进程是正在执行的一个程序或命令,每个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。程序是人使用计算机语言编写的可以实现特定目标或解决特定问题的代码集合。

这么讲很难理解,那我们换一种说法。程序是人使用计算机语言编写的,可以实现一定功能,并且可以执行的代码集合。而进程是正在执行中的程序。当程序被执行时,执行人的权限和属性,以及程序的代码都会被加载入内存,操作系统给这个进程分配一个 ID,称为 PID(进程 ID)。

也就是说,在操作系统中,所有可以执行的程序与命令都会产生进程。只是有些程序和命令非常简单,如 ls 命令、touch 命令等,它们在执行完后就会结束,相应的进程也就会终结,所以我们很难捕捉到这些进程。但是还有一些程和命令,比如 httpd 进程,启动之后就会一直驻留在系统当中,我们把这样的进程称作常驻内存进程。

2、查看系统执行的进程

[aaa@qq.com ~]# ps aux
#查看系统中所有的进程,使用 BS 操作系统格式
[aaa@qq.com ~]# ps -le
#查看系统中所有的进程,使用 Linux 标准命令格式
a:显示一个终端的所有进程,除会话引线外;
u:显示进程的归属用户及内存的使用情况;
x:显示没有控制终端的进程;
-l:长格式显示更加详细的信息;
-e:显示所有进程;

ps

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

[aaa@qq.com test]# ps aux 

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

[aaa@qq.com test]# ps -le

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

ps -le 命令输出信息

表头 含义
F 进程标志,说明进程的权限,常见的标志有两个: 1:进程可以被复制,但是不能被执行;4:进程使用超级用户权限;
S 进程状态。具体的状态和"psaux"命令中的 STAT 状态一致;
UID 运行此进程的用户的 ID;
PID 进程的 ID;
PPID 父进程的 ID;
C 该进程的 CPU 使用率,单位是百分比;
PRI 进程的优先级,数值越小,该进程的优先级越高,越早被 CPU 执行;
NI 进程的优先级,数值越小,该进程越早被执行;
ADDR 该进程在内存的哪个位置;
SZ 该进程占用多大内存;
WCHAN 该进程是否运行。"-"代表正在运行;
TTY 该进程由哪个终端产生;
TIME 该进程占用 CPU 的运算时间,注意不是系统时间;
CMD 产生此进程的命令名;

3、终止进程kill和killall

kill 【选项】 进程号

kill 进程名称(支持通配符)

kill -9 进程号 (强制杀死)

1、踢掉某个非法的用户

ps -aux | grep  服务名          #找出进程id

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

kill 进程号       #杀死进程

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、终止远程登录服务sshd,在适当的时候再次重启sshd

ps -aux | grep sshd #找出进程id

kill 进程号 杀死进程

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

3、killall全部杀死

killall 服务名

4、强制杀死终端

ps -aux | grep bash

kill - 9 进程号

5、查看进程书

#显示进程以及id
[aaa@qq.com huanglejia]# pstree -p

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

#显示进程的所属用户
[aaa@qq.com huanglejia]# pstree -u

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

17、防火墙/服务管理

1、Centos6

1、查看当前防火墙的状态

service iptables status		

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、关闭防火墙

service iptables stop

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

3、查看服务名

setup
ls /etc/init.d/

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

4、自启动

chkconfig功能说明:检查,设置系统的各种服务
语法: 
chkconfig [--add][--del][--list][系统服务] 或 
chkconfig [--level<等级代号>][系统服务][on/off/reset]
--add 添加服务
--del 删除服务
--list 查看各服务启动状态

给每个服务的各个运行级别设置自启动/关闭

1、查看服务

chkconfig --list

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2 查看单个服务信息

chkconfig iptables --list
chkconfig --list | grep  iptables

3关闭自启动

chkconfig   --level  5 sshd  off

4在所有模式下关闭/打开自启动

chkconfig   服务名  on/off

2、Centos7

在Centos7中使用firewall来代替ipables,但是iptables也可以继续安装使用,以下是firewall的操作命令

1、启动防火墙

systemctl start firewalld

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、查看防火墙的状态

systemctl status firewalld

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

3、关闭防火墙

systemctl stop firewalld

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

4、设置防火墙开机自启

systemctl enable firewalld.service

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

5、关闭防火墙开机启动(需先关闭防火墙)

systemctl disable firewalld.service

6、查看firewall的状态

firewall-cmd --state

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

7、查看防火墙规则

firewall-cmd --list-all

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

8、重新加载防火墙配置

firewall-cmd --reload

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

9、查看当前开放端口(允许任意IP访问)

firewall-cmd --zone=public --list-ports

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

10、开放指定端口

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
//   --permanent为永久生效,没有此参数 服务器重启后配置失效

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

查看规则

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

11、移除端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --reload

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

可以看到80端口已经被移除了

12 其他命令暂时用不到

查看允许指定IP访问端口的规则

firewall-cmd --zone=public --list-rich-rules

开放指定端口(只允许指定IP访问)

以“只允许192.168.1.1的主机连接3306端口”为例

firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="3306" accept" --permanent
firewall-cmd --reload

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效

移除规则(只允许指定IP访问的端口)

以“移除只允许192.168.1.1的主机连接3306端口”为例

firewall-cmd --remove-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="3306" accept" --permanent
firewall-cmd --reload

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效

移除默认的ssh服务

移除默认的ssh服务前,先确认是否已经额外开放了22端口,否则会导致无法使用ssh远程连接。

firewall-cmd --remove-service=ssh --permanent
firewall-cmd --reload

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效

查看某个端口是否开放

以检查80端口为例(yes:开放;no:未开放)

firewall-cmd --zone=public --query-port=80/tcp

TCP端口转发

# 允许防火墙伪装IP

firewall-cmd --add-masquerade

# 将本地80端口的流量转发到192.168.1.1的80端口

firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.1:toport=80 --permanent

PS. --permanent为永久生效,没有此参数centos重启后该配置将失效

查看版本:firewall-cmd --version

查看帮助: firewall-cmd --help

查看状态: firewall-cmd --state

查看区域信息: firewall-cmd --get-active-zones

查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0

拒绝所有包:firewall-cmd --panic-on

取消拒绝状态: firewall-cmd --panic-off

查看是否拒绝: firewall-cmd --query-panic

18、rpm包

rpm(RedHat Package Manager)软件包管理工具。类似于setup.exe

rpm -qa | grep 文件

示例

[aaa@qq.com test]# rpm -qa | grep firewalld

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

名称:firewalld

版本号:0.6.3-8

适用操作系统:el7_8.1

如果是noarch表示通用

rpm -qa 		//查询所有安装的包
rpm -qa | more 		//分页查看
rpm -qa | grep xxx 	//查找软件
rpm -qi 软件包			//查看版本号
rpm -ql 软件包			//查看所有的依赖文件安装位置
rpm -qf 文件  		//查看文件所属的包	
rpm -e  软件包			//删除软件包

rpm -ivh rpm包权路径名称		//安装rpm包
							// i = install 安装
							// v = verbose	提示
							// h = hash	进度条

安装示例

首先找到firefox的安装rpm包,你需要挂载上安装centos的iso文件,然后到/media/下去找rpm

root# cd /Media/Centos_6.8/Packages/
root# ls -l firefox-45.0.1-1.el6.centos.x86_64.rpm
root# cp firefox-45.0.1-1.el6.centos.x86_64.rpm /opt/
cd /opt/
rpm -ivh firefox

19、yml

1、介绍

yml是一个shell前端软件包管理器,基于RPM包管理,能够从指定改的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并一次安装所有依赖的软件包

2、yml的基本指令

yum list | grep 软件名 //查看yml服务器是否有该软件

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

yum install  软件名 	//安装软件

安装firefox浏览器

[aaa@qq.com test]# yum install firefox

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

yum  remove 软件名 //卸载软件

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

20、JavaEE开发环境搭建

1、搭建JDK

使用wget 远程下载或者从本地远程上传到服务器的/opt目录下

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

1、解压JDK

在**/opt**目录下解压jdk

tar -xzvf jdk-linux-x64.tar.gz

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、移动jdk

根据习惯,将JDK移动到 /usr/local/路径下

mv jdk1.8.0_131 /usr/local/

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

3、配置环境变量

打开配置文件添加配置

vim /etc/profile

在正常模式下输入G跳到行尾

插入配置语句

JAVA_HOME=/usr/local/jdk1.8.0_131
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

4、刷新文件配置生效

source /etc/profice

5、测试

在当前路径下输入java 出现提示!成功

2、安装tomcat

1、解压tomcat

tar -zxvf apache-tomcat-9.0.39.jar.gz

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、移动路径

移动到/usr/local /tomcat/

3、启动服务

进入tomcat的bin目录,执行启动脚本

# cd apache-tomcat-9.0.39/bin
# ./startup.sh

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

4.测试

在浏览器中输入localhost:8080测试

3、安装Mysql

1、上传或者下载mysql安装包

下载

推荐使用清华的镜像,下载速度非常的快

wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.21-el7-x86_64.tar.gz

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

上传

使用xftp等软件将下载好的tar包上传到/opt目录下

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、检查是否安装过mysql

ps:因为以前用yum安装过,所以先用yum卸载。如果不是此方式或者没安装过则跳过

[aaa@qq.com opt]# yum remove mysql

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

查看是否有mysql依赖

[aaa@qq.com /]# rpm -qa | grep mysql

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

如果有则卸载

//普通删除模式
rpm -e xxx(mysql_libs)
//强力删除模式,如果上述命令删除时,提示有依赖其他文件,则可以用该命令对其进行强力删除
rpm -e --nodeps xxx(mysql_libs)

3、检查是否有mariadb

[aaa@qq.com opt]# rpm -qa | grep mariadb

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

如果有则卸载

[aaa@qq.com opt]# rpm -e --nodeps mariadb-libs
[aaa@qq.com opt]# rpm -e --nodeps mariadb-devel-5.5.65-1.el7.x86_64

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

4、安装mysql依赖包

[aaa@qq.com opt]#yum install libaio

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

5、解压

进入/opt目录下将mysql文件解压

[aaa@qq.com opt]# cd /opt
[aaa@qq.com opt]# tar -zxvf mysql-8.0.21-el7-x86_64.tar.gz

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

>我们查看一下是否解压好了

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

6、更名并移动

为了方便操作以及配置文件的更改我们将文件名重命名为mysql

[aaa@qq.com opt]# mv mysql-8.0.21-el7-x86_64 mysql

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

按照习惯,我们将文件移动到/usr/local目录下

[aaa@qq.com opt]# mv /opt/mysql/ /usr/local/

我们切换到usr/local/目录下查看mysql是否存在

[aaa@qq.com opt]# cd /usr/local/
[aaa@qq.com local]# ls

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

创建数据库文件存放的文件夹。这个文件夹将来存放每个数据库的库文件

[aaa@qq.com local]# cd mysql
[aaa@qq.com mysql]# mkdir mysqldb

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

7、mysql安装目录赋予权限

[aaa@qq.com mysql]# chmod -R 777 /usr/local/mysql/

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

8、创建mysql组和用户

创建组

[aaa@qq.com mysql]# groupadd mysql

创建用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)

[aaa@qq.com mysql]# useradd -r -g mysql -s /bin/false mysql

将用户添加到组中

[aaa@qq.com mysql]# chown -R mysql:mysql ./

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

9、修改mysql配置文件

[aaa@qq.com mysql]# vi /etc/my.cnf

将里面的命令都删除掉,然后添加以下命令,保存并退出(如果有一定经验,可以在里面添加一些其他的配置)

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

10、安装mysql

进入mysql 安装目录下:

[aaa@qq.com mysql]# cd /usr/local/mysql/bin/

安装mysql,并记住初始化随机密码

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

rjH1VL1+YEfb

11、启动mysql服务

进入mysql.server服务目录下并启动服务

[aaa@qq.com bin]# cd /usr/local/mysql/support-files
[aaa@qq.com support-files]# ./mysql.server start

如果第一次启动,当初始化执行会有报错

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

此时不要担心,重新给mysql安装目录赋予一下权限后,再次执行

[aaa@qq.com support-files]# chmod -R 777 /usr/local/mysql
[aaa@qq.com support-files]# ./mysql.server start

12、将mysql添加到系统进程中

[aaa@qq.com bin]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

此时我们就可以使用服务进程操作mysql了

13、设置mysql自启动

[aaa@qq.com bin]# chmod +x /etc/init.d/mysqld
[aaa@qq.com bin]# systemctl enable mysqld

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

此时mysql自启动就已经设置好了

14、修改root用户登录密码

登录mysql

[aaa@qq.com bin]# cd /usr/local/mysql/bin/
[aaa@qq.com bin]# ./mysql -u root -p

执行后,输入我们初始化时记录下的随机密码,就会进入mysql

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

mysql> alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

15、设置允许远程登录

mysql> use mysql
mysql> update user set user.Host='%'where user.User='root';
mysql> flush privileges;
mysql> quit

16、重启服务且测试

centos6与centos7的服务命令都支持

[aaa@qq.com bin]# systemctl restart mysql	
[aaa@qq.com bin]# service mysql restart

1、查看mysql是否启动

[aaa@qq.com bin]# systemctl status mysql

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

2、查看防火墙开放端口

firewall-cmd --list-all

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

3、在防火墙中将3306端口开放

[aaa@qq.com bin]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[aaa@qq.com bin]# firewall-cmd --reload
//--permanent为永久生效,没有此参数 服务器重启后配置失效

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

4、在Navicat上测试连接

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

5、重启linux后测试自启动(可选)

[aaa@qq.com bin]# reboot

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

测试mysql服务是否自启动

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

测试远程访问

Java开发人员必备的linux学习大全(用户管理,基本操作,mysql、jdk等开发软件的安装,图文详解)

21 linux关于软件安装的位置疑问

Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的

/usr:系统级的目录,可以理解为C:/Windows//usr/lib理解为C:/Windows/System32
/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
/opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。

源码放哪里?
/usr/src:系统级的源码目录。
/usr/local/src:用户级的源码目录。