Linux教程

Linux学习笔记

本文主要是介绍Linux学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Linux学习笔记

  • 1.1 Linux简介
  • 1.2 Linux 的版本
  • 1.3 Linux的应用
  • 2、Linux的安装
    • 2.1 虚拟机安装
      • 2.1.1 什么是虚拟机?
      • 2.1.2 VMware介绍
      • 2.1.3 VMware安装
        • 虚拟机的状态设置
    • 2.2 CentOS的安装(在虚拟机中安装)
      • 安装完成后如何登录root账户?
  • 3、Linux的远程访问
    • 3.1 安装远程访问工具(SecureCTR、Xshell等)
    • 测试虚拟机IP是否可以访问
    • 3.2 远程工具连接到Linux
  • 4、Linux目录结构
    • 开发人员关注目录:
  • 5、Linux的用户
    • 5.1 用户账号
    • 5.2 查看用户信息
      • 5.2.1 创建一个用户
      • 5.2.2 删除一个用户
    • 5.3 用户口令的管理
  • 6、Linux的常用命令(重点)
    • 6.1 Linux目录管理
      • 6.1.1 查看目录
      • 6.1.2 切换目录
      • 6.1.3 显示当前目录
      • 6.1.4 创建目录
      • 6.1.5 删除目录
    • 6.2 文件操作
      • 6.2.1 查看文件内容
        • 6.2.1.1 cat 查看所有内容
        • 6.2.1.2 more 一页一页的显示文件内容
        • 6.2.1.3 less 一页一页翻动
      • 6.2.2 创建文件
      • 6.2.3 写入内容
      • 6.2.4 复制/拷贝文件
      • 6.2.5 移动文件
      • 6.2.6 删除文件
    • 6.3 打包与拆包
    • 6.4 其它命令
      • 6.4.1 查看进程快照
      • 6.4.2 管道 |
  • 7、VIM编辑器-重要
    • 7.1 VIM的模式
      • 7.1.1命令模式:
      • 7.1.2 输入模式
      • 7.1.3 底线命令模式
    • 7.2 示例
  • 8、Linux的文件权限
    • 8.1文件权限
    • 8.2 修改文件权限
      • 8.2.1 mode方式
      • 8.2.2 数字方式
  • 9、Linux常用网络操作
    • 9.1 主机名操作
    • 9.2 查询系统完整信息
    • 9.3 IP地址操作(修改当前虚拟机的IP地址)
    • 9.4 域名映射
    • 9.5网络服务管理
    • 9.6 防火墙设置
  • 10、Linux上部署Web项目
    • 10.1 远程上传工具的使用(SecureFX、Xftp等)
    • 10.2 安装JDK
    • 10.3 安装Tomcat(解压即可用)
      • 10.3.1在Tomcat上部署项目
    • 10.4 安装MySQL
      • 10.4.1Mysql远程连接出问题的解决方案:
  • 快捷键汇总

1.1 Linux简介

Unix是1969年在AT&T的贝尔实验室开发研发出的一个强大的多用户、多任务操作系统。
UNIX的商标权由国际开放标准组织(The Open Group)所拥有。
UNIX操作系统是商业的、收费的,价格比Microsoft Windows还要贵一点。
而Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、
支持多线程和多 CPU 的操作系统。

Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在1991 年赫尔辛基大学上学时出于个人
爱好而编写的。

1.2 Linux 的版本

Linux的版本分为两种:内核版本和发行版本。

内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号 。
发行版本是一些组织和公司根据自己发行版的不同而自定的 ,说的简单点就是将 Linux 内核与应用软件
做一个打包。

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、
Arch Linux、SolusOS 等。

1.3 Linux的应用

我们现在常用的系统是Windows操作系统,简单易用。但是不是很适合做服务器。而Linux在这方面就
很有优势。
Linux在服务器系统、嵌入式系统、桌面应用系统、移动手持系统等方面都有很广泛的应用。

2、Linux的安装

2.1 虚拟机安装

2.1.1 什么是虚拟机?

虚拟机可以认为是一台虚拟的电脑。就是用软件虚拟出来的电脑。
虚拟机软件也有多种,例如有免费的virtualBox、收费的VMware。

2.1.2 VMware介绍

VMware是一个“虚拟pc”软件公司,提供服务器,桌面虚拟化的解决方案。它的产品可以实现在一台计算
机上同时运行两个或者更多Windows,DOS,LINUX系统。与多启动系统相比 ,VMware采用了完全不
同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重启计算机。VMware可以实
现真正“同时”运行,多个操作系统在主系统平台上可以像标准windows应用程序那样切换。每个操作都
可以进行虚拟分区,配置,而不影响真实硬盘的数据,甚至可以通过虚拟网卡将几台虚拟机连接为一个
局域网,及其方便。安装在VMware里面的操作系统的性能比直接安装在硬盘上的系统性能高不少,比
较适合学习和测试。

2.1.3 VMware安装

安装过程参考 VMware的安装文档 。

虚拟机的状态设置

在这里插入图片描述

2.2 CentOS的安装(在虚拟机中安装)

刚刚已经安装完毕了虚拟机软件,接下来咱们就可以虚拟一台计算机并安装Linux的操作系统了。咱
们课程中选择的操作系统是CentOS7。
安装过程参考 CentOS-7的安装文档 。

安装完成后如何登录root账户?


上图中有个普通用户LC,通过点击底下的未列出?并输入用户名(root)和相应的密码即可登录root账户。

3、Linux的远程访问

因为实际开发中服务器不会安装在你的个人电脑上所以需要用远程访问工具进行访问。

3.1 安装远程访问工具(SecureCTR、Xshell等)

远程访问工具有很多,基本都是大同小异,这里选择的工具是SecureCTR.
安装过程按照SecureCRT的安装文档进行安装。

测试虚拟机IP是否可以访问


首先在虚拟机中使用ip addr命令可以查看当前虚拟机的IP,这里是192.168.133.128

然后执行ping 命令,如果出现以下输出则说明链接可用:

通过Ctrl+c可以终止输出。

在windows中我们也可以通过ping命令进行测试:

3.2 远程工具连接到Linux



左侧目录中可查看连接过的服务器记录:

通过以下方法可以创建新的链接或者更改当前链接信息:

4、Linux目录结构


CRT工具中查看目录结构:

bin (binaries)存放二进制可执行文件 
sbin (super user binaries)存放二进制可执行文件,只有root才能访问 
etc (etcetera)存放系统配置文件 
usr (unix shared resources)用于存放共享的系统资源 
home 存放用户文件的根目录 
root 超级用户目录 
dev (devices) 用于存放设备文件 
lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块 
mnt (mount)系统管理员安装临时文件系统的安装点 
boot存放用于系统引导时使用的各种文件 
tmp (temporary)用于存放各种临时文件 
var (variable)用于存放运行时需要改变数据的文件

开发人员关注目录:

5、Linux的用户

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管
理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另
一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个唯一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

5.1 用户账号

用户账户一般非为两大类:超级管理员和普通用户。
超级管理员:用root表示,root用户在系统中拥有最高权限。
普通用户:除了root之外的用户。例如我们之前创建的lina用户,就是普通用户。

5.2 查看用户信息

#语法 cat /etc/passwd

以图中第一个root用户为例:
- root:用户名 
- x :密码 :已经加密 ,密码存放在 vi /etc/shadow 密码文件 
- 0: 账号id ,userId 
- 0: 组id ,group id

5.2.1 创建一个用户

# 创建一个用户 
	#语法:useradd 选项 用户名 
		#选项: 	-c comment 指定一段注释性描述。 
				-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。 
				-g 用户组 指定用户所属的用户组。 
				-G 用户组,用户组 指定用户所属的附加组。 
				-s Shell文件 指定用户的登录Shell。 
				-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。 

#案例1: 
useradd lina02 

5.2.2 删除一个用户

# 删除一个用户 
	#语法:userdel 选项 用户名; 其中-r是常用的选项,表示将用户的主目录一起删除。 
	
#案例:userdel -r lina02 

5.3 用户口令的管理

用户口令的管理其实就是用户密码的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,
必须为其指定口令后才可以使用,即使是指定空口令。

指定和修改用户口令的命令是 passwd 。超级用户可以为自己和其他用户指定口令,普通用户只能用它
修改自己的口令。

# 用户口令的管理 
	#语法:passwd 选项 用户名 
	可使用的选项: 
		-l 锁定口令,即禁用账号。 
		-u 口令解锁。 
		-d 使账号无口令。 
		-f 强迫用户下次登录时修改口令。

如果默认用户名,则修改当前用户的口令。
例如,切换到用户lina,则下面的命令修改该用户自己的口令:

如果是超级用户,可以用下列形式指定任何用户的口令:

普通用户修改自己的口令时,passwd命令会要求先输入原口令,验证后再要求用户输入两遍新口令,如
果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口
令。
为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小
写字母和数字,并且应该与姓名、生日等不相同。

PS:linux操作系统中密码部分不予显示,所以看起来是空白的,实际已经输入了密码。

6、Linux的常用命令(重点)

6.1 Linux目录管理

Linux的目录结构为树状结构,最顶级的目录为根目录 /。
其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们

6.1.1 查看目录

Linux系统当中, ls 命令可能是最常被运行的。

语法:
	ls :查看当前路径下的文件名称 
	ls -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用) 
	ls -d :仅列出目录本身,而不是列出目录内的文件数据(常用) 
	ls -l :长数据串列出,包含文件的属性与权限等等数据;(常用) 
	ll: 等价于ls -l 
	ls -al :目录下的所有文件列出来(含属性与隐藏档) 

6.1.2 切换目录

cd是Change Directory的缩写,这是用来变换工作目录的命令。

语法:
cd [相对路径或绝对路径]
#使用绝对路径切换到 local 目录 
cd /usr/local/ 
# 表示回到自己的家目录,亦即是 /root 这个目录 
cd ~ 
# 表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思; 
cd .. 

6.1.3 显示当前目录

pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。

语法:pwd

6.1.4 创建目录

mkdir (make directory)用来创建新的目录。

语法:mkdir [-mp] 目录名称 
	-m :配置文件的权限喔!直接配置,不需要看默认权限的脸色 
	-p :直接将所需要的目录(包含上一级目录)递归创建起来! 
查看帮助 mkdir --help 
示例:/tmp底下尝试创建数个新目录看看: 
	cd /tmp 
mkdir kkb <==创建一名为 kkb 的新目录 
mkdir test1/test2/test3/test4 
	mkdir: cannot create directory `test1/test2/test3/test4': 
	No such file or directory <== 没办法直接创建此目录啊! 
mkdir -p test1/test2/test3/test4 
加了这个 -p 的选项,可以自行帮你创建多层目录! 

6.1.5 删除目录

rmdir 命令用来删除空的目录

语法: rmdir [-p] 目录名称 
	-p :连同上一级『空的』目录也一起删除 

6.2 文件操作

6.2.1 查看文件内容

6.2.1.1 cat 查看所有内容

作用:由第一行开始显示文件内容
语法:cat 文件名或者文件路径 

6.2.1.2 more 一页一页的显示文件内容

一页一页翻动 
语法: more 文件名称或者文件路径 
例如:more /etc/man_db.config 
....(中间省略).... 
--More--(28%) <== 重点在这一行喔!你的光标也会在这里等待你的命令 
	在 more 这个程序的运行过程中,你有几个按键可以按的: 
	空白键 (space):代表向下翻一页; 
	Enter :代表向下翻『一行』; 
	:f :立刻显示出档名以及目前显示的行数; 
	q :代表立刻离开 more ,不再显示该文件内容。 

6.2.1.3 less 一页一页翻动

语法: less 文件名称或者文件路径 
例如:less /etc/man.config 
	....(中间省略).... 
	: <== 这里可以等待你输入命令! 
less运行时可以输入的命令有: 
	空白键 :向下翻动一页; 
	[pagedown]:向下翻动一页; 
	[pageup] :向上翻动一页; 
	q :离开 less 这个程序; 

6.2.2 创建文件

作用:创建一个空白的普通文件
语法:touch 文件名(带后缀) 

#示例: 
[root@centoslina01 /]# cd kkb 
[root@centoslina01 kkb]# touch lina01.txt 
[root@centoslina01 kkb]# ll 
total 0 
-rw-r--r--. 1 root root 0 Mar 11 10:08 lina01.txt 
[root@centoslina01 kkb]# 

6.2.3 写入内容

echo 把内容重定向到指定的文件中 ,有则打开,无则创建

语法: 
echo '内容'>文件名称 覆盖模式 
echo '内容'>>文件名称 追加模式

#示例: 
[root@centoslina01 kkb]# echo 'jiaobaoyu'>lina01.txt 
[root@centoslina01 kkb]# echo 'jiaobaoyu'>lina01.txt 
[root@centoslina01 kkb]# cat lina01.txt 
jiaobaoyu 
[root@centoslina01 kkb]# echo 'jiaobaoyu'>>lina02.txt 
[root@centoslina01 kkb]# echo 'jiaobaoyu'>>lina02.txt 
[root@centoslina01 kkb]# cat lina02.txt 
jiaobaoyu 
jiaobaoyu 
[root@centoslina01 kkb]# 

6.2.4 复制/拷贝文件

语法: cp [-adfilprsu] 来源档(文件名或地址)(source) 目标档(目录名或目录地址)(destination) 
	-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用) 
	-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身; 
	-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次; 
	-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用) 
	-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身; 
	-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用); 
	-r:递归持续复制,用於目录的复制行为;(常用) 
	-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件; 
	-u:若 destination 比 source 旧才升级 destination ! 

6.2.5 移动文件

mv 可以移动文件与目录,或修改名称。
当来源和目标是同一级别时是修改名称(比如同为文件或同为目录);级别不同则是移动(只有文件移动到目录中,不能反过来)

语法:
	mv [-fiu] source destination 
		-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖; 
		-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖! 
		-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
		
示例:
在LcTest目录下有两个文件:lc01.txt和lc02.txt和一个目录LcInner
现在将lc02.txt拷贝到LcInner目录下,命令为(注意:当前工作目录为LcTest):
	cp lc02.txt LcInner
然后我们将LcInner目录下的lc02.txt文件更名为lc03.txt(注意:当前工作目录为LcTest):
	#首先将工作目录切换到LcInner目录
	cd LcInner
	#然后利用mv命令的特性来修改文件名称 
	mv lc02.txt lc03.txt

6.2.6 删除文件

rm 可以移除文件或目录。

语法: rm [-fir] 文件或目录 
	-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息; 
	-i :互动模式,在删除前会询问使用者是否动作 
	-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!! 

6.3 打包与拆包

一般Linux 上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成紧 
xxx.tar.gz(或者xxx.tgz)的文件。 
	常用参数: 
		-c:创建一个新tar文件 
		-v:显示运行过程的信息 
		-f:指定文件名 
		-z:调用gzip 压缩命令进行压缩 
		-t:查看压缩文件的内容 
		-x:解开tar 文件 
打包:tar -cvf xxx.tar 要打包的文件或目录的列表,用空格隔开
比如要将文件lc01.txt和目录LC打包成文件lc.tar则使用命令:
	tar -cvf  lc.tar lc01.txt LC
	
打包并且压缩:tar -zcvf xxx.tar.gz 要打包的文件或目录的列表,用空格隔开 
比如要将文件lc01.txt和目录LC打包并压缩成文件lc.tar则使用命令:
	tar -zcvf  lc.tar.gz lc01.txt LC
	
解压:tar -xvf xx.tar 
	tar -zxvf xx.tar.gz -C /usr/kkb 
	当将文件包拆包或者解压缩到指定路径时要加-C参数,注意C大写,防止拆包解压的路径找不到。

6.4 其它命令

6.4.1 查看进程快照

ps -axu 显示当前进程的快照 
查看Java进程(管道机制):ps -axu | grep java 
查看MySQL进程(管道机制):ps -axu | grep mysql

6.4.2 管道 |

管道是Linux中比较重要且常用的一个内容,其作用是将一个命令的输出作为另一个命令的输入,组合使
用。

ls --help | more #分页查看帮助信息,按q退出

7、VIM编辑器-重要

7.1 VIM的模式

vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令
模式(Last line mode)。

7.1.1命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被 
当作了一个命令。
 
以下是常用的几个命令: 
	i 切换到输入模式,以输入字符。 
	x 删除当前光标所在处的字符。i 
	: 切换到底线命令模式,以在最底一行输入命令。 
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。 
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

7.1.2 输入模式

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键: 
	字符按键以及Shift组合,输入字符 
	ENTER,回车键,换行 
	BACK SPACE,退格键,删除光标前一个字符 
	DEL,删除键,删除光标后一个字符 
	方向键,在文本中移动光标 
	HOME/END,移动光标到行首/行尾 
	Page Up/Page Down,上/下翻页 
	Insert,切换光标为输入/替换模式,光标将变成竖线/下划线 
	ESC,退出输入模式,切换到命令模式 

7.1.3 底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。 
在底线命令模式中,基本的命令有(已经省略了冒号): 
	q 退出程序 
	w 保存文件
	wq 保存并退出 
按ESC键可随时退出底线命令模式。

7.2 示例

创建一个新的名为 lina03.txt 的文件:

vim lina03.txt

直接输入 vim 文件名 就直接进入 vim 的命令模式了。
PS: vim 后面一定要加文件名,不管该文件存在与否!

按下 i 进入输入模式(也称为编辑模式),开始编辑文字
在命令模式之中,只要按下 i, o, a 等字符就可以进入输入模式了!

在输入模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的
提示。
这个时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进
行任何的编辑。

输入 hello workd ,按下 ESC 按钮回到命令模式,此时画面左下角的 – INSERT – 消失。
命令模式中输入 :wq 即可实现保持文档并离开vim.

指令说明
:w将编辑的数据写入硬盘档案中(常用)
:w!若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!
:q离开 vi (常用)
:q!使用 ! 为强制离开不储存档案。
:wq储存后离开,若为 :wq! 则为强制储存后离开 (常用)
:set number显示行号
:set nonumber取消行号显示

8、Linux的文件权限

Linux操作系统中对权限的管理很严格。Linux系统中不仅是对用户与组根据UID,GID进行了管理,还对
Linux系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何
种方式对文件和目录进行访问和操作。

8.1文件权限

权限共有10个字符,我们将它分为4大部分来理解: 
- --- --- --- 
第1部分、表示文件的类型 
	- 表示是一个文件 
	d 表示是一个目录 
	l 表示是一个连接(理解为快捷方式) 
第2部分、当前用户具有的对该文件的权限 (owner 属主,缩写u) 
第3部分、当前组内其他用户具有的对该文件的权限 (group 属组,缩写g) 
第4部分、其他组的用户具有的对该文件的权限 (other 其他,缩写o) 
	r:Read 读 
	w:Write 写 
	x:eXecute 执行 
		针对目录加执行权限,文件不加执行权限(因文件具备执行权限有安全隐患) 
		
	对于文件和目录来说,r,w,x有着不同的作用和含义: 
		针对文件:r:读取文件内容 
				w:修改文件内容 
				x:执行权限对除二进制程序以外的文件没什么意义 
		针对目录:目录本质可看做是存放文件列表、节点号等内容的文件 
				r:查看目录下的文件列表 
				w:删除和创建目录下的文件 
				x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)
PS:root账户不受文件权限的读写限制,执行权限受限制


用户获取文件权限的顺序: 先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果
是,则后面权限不看。

8.2 修改文件权限

chown 是change owner的意思,主要作用就是改变文件或者目录所有者(只有root用户有权限).(具体例子在下面) 

chmod 修改文件和文件夹读写执行属性。 使用权限:所有使用者 
chown 修改文件和文件夹的用户和用户组属性。使用权限:root

8.2.1 mode方式

语法:chmod who opt per file(要修改的文件名在最后) 
	who:u g o a(all)(u 用户user ,g用户组group,o其他用户,a所有用户默认) 
	opt:+追加某个权限 –取消某个权限 =重新赋予权限 
	per:r w x X 
示例:
	chmod u=rwx,g=r lina03.txt 
	chmod u+x,g+w,o+w test.log //r 读,w 写 x 执行

8.2.2 数字方式

语法:chmod XXX file 
	rwx rw- r–- 
	421 420 400 
	7 	6 	4 
	0无权限,1表可执行=x,2表写入权限=w,4表可读权限=r 
例如:-rwxr--r--. 1 root root 10 Oct 16 02:55 yhp.log 
	用户权限=rwx=4+2+1=7 
	所属组权限=r--=4+0+0=4 
	其他用户权限=r--=4+0+0=4 
	组合:744
	所以修改语句就变为了: chmod 744 文件名
修改权限: 
	都加入写入权限:+2 
	给用户组加入写入权限:+2 
	给其他用户加入可执行权限:+1 
	chmod 765 yhp.log

修改userId(文件所有者)和groupId(文件所属组)实例:

9、Linux常用网络操作

9.1 主机名操作

hostname :显示主机名 
hostname XXX :修改主机名,不推荐,临时生效 
永久生效修改主机名需要修改/etc/sysconfig/network文件 

9.2 查询系统完整信息

uname -a :显示完整的系统信息

9.3 IP地址操作(修改当前虚拟机的IP地址)

查看IP地址:ip addr 
修改IP地址:
首先转到以下目录
cd /etc/sysconfig/network-scripts/
然后编辑下图中的文件中相应的内容即可:
vim ifcfg-eno16777736


第二个属性需要修改为static

然后在原文件最后一行后面追加如下内容

修改完IP地址后需要重启网络服务,用如下命令:
service network restart
重启后原来远程工具所连接的IP地址也要一并修改。

9.4 域名映射

修改 /etc/hosts文件

9.5网络服务管理

查看网络服务状态:systemctl status network 
启动网络服务:systemctl start network 
停止网络服务:systemctl stop network (会造成远程工具无法连接到虚拟机)
重启网络服务:systemctl restart network 
设置开机启动:systemctl enable network

9.6 防火墙设置

查看防火墙状态: systemctl status firewalld 
启动防火墙: systemctl start firewalld 
关闭防火墙: systemctl stop firewalld 
查询防火墙服务是否开机启动:systemctl is-enabled firewalld 
开机时启用防火墙服务:systemctl enable firewalld 
开机时禁用防火墙服务:systemctl disable firewalld 
查询已经启动的服务列表:systemctl list-unit-files|grep enabled 
查询启动失败的服务列表:systemctl --failed

10、Linux上部署Web项目

10.1 远程上传工具的使用(SecureFX、Xftp等)

这里使用SecureFX远程上传工具
打开软件后:

10.2 安装JDK

1、上传jdk文件到linux
使用SecureFX连linux后,将JDK压缩包上传到新建的mysoft文件夹。步骤在上面
2、解压压缩包

解压完成后原目录会多出一个jdk文件

3、测试jdk是否安装成功
注意:这里是在jdk的bin目录下运行的。并且java命令前有“./”

4、配置环境变量
(1)编辑profile文件:

(2)在profie文件中添加JAVA_HOME变量(从根目录/索引到jdk文件):

(3)使环境变量及时生效

(4)查看变量是否更新成功:

(5)在任意目录下测试环境是否配置成功

10.3 安装Tomcat(解压即可用)

安装Tomcat之前要保证JDK安装成功哦!
1、上传Tomcat压缩包到根目录的mysoft文件夹,步骤在上面
2、解压:tar -xzvf apache-tomcat-8.5.11.tar.gz

解压完成后出现相应文件:

3、启动Tomcat

4、关闭防火墙之后测试访问(防火墙可能会阻止Tomcat访问其要使用的端口)
注意是在本机访问,不是在虚拟机中访问(默认访问8080端口)

5、关闭Tomcat

10.3.1在Tomcat上部署项目

首先将项目打成war包然后将war包上传到Tomcat文件中的webapps目录中(上传步骤和之前相同):

然后在本机或者别的地方通过IP地址+路径访问即可(Tomcat得先启动)。

10.4 安装MySQL

YUM( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。
它基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,无须繁
琐地一次次下载、安装。

步骤1: 检测系统是否自带安装mysql
[root@centoslina01 ~]# yum list installed | grep mysql

步骤2: 如果系统自带安装了mysql则可以删除系统自带的mysql及其依赖(防止后面安装发生冲突)
[root@centoslina01 ~]# yum -y remove mysql-libs.x86_64

步骤3: 给CentOS添加rpm源,并且选择较新的源,RPM软件包管理器缩写
[root@centoslina01 ~]# wget --no-check-certificate dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

步骤4: 安装第一步下载的rpm文件
[root@centoslina01 ~]# yum install mysql-community-release-el6-5.noarch.rpm
此处需要输入"y"

[root@centoslina01 ~]# yum repolist enabled | grep mysql //列出你所有的yum repo文件

步骤5: 使用yum安装mysql
[root@centoslina01 ~]# yum install mysql-community-server
此处输入3次“y”

安装完毕

步骤6: 启动mysql服务
[root@centoslina01 ~]# service mysqld start

步骤7: 查看mysql是否自启动,并且设置开启自启动
[root@centoslina01 ~]# chkconfig --list | grep mysqld
0 1 2 3 4 5 6 代表centOS启动状态

[root@centoslina01 ~]# chkconfig mysqld on

步骤8: 修改字符集为UTF-8
[root@centoslina01 ~]# vim /etc/my.cnf
在[mysqld]部分添加:
character-set-server=utf8
在文件末尾新增[client]段,并在[client]段添加:
default-character-set=utf8
esc退出编辑 :wq保存退出

修改完成后保存重启服务
[root@centoslina01 ~]# service mysqld restart

步骤9: 修改默认配置
[root@centoslina01 ~]# mysql_secure_installation
按照提示进行配置,这里默认root用户的密码空,直接回车即可。此处输入内容:“y”,“y”,“n”,“y”,“y”

步骤10:授权远程登录(比如在本机用Navicat访问虚拟机上的数据库)
实现远程连接(该表+授权)- 将权限改为ALL PRIVILEGES
[root@centoslina01 ~]# mysql -uroot -p
mysql> use mysql;
Database changed
mysql> select host,user,password from user;

上面的表中规定了可以远程访问当前数据库的主机名,可以发现只有指定的主机名才可以访问,下面我们扩充一下可以访问的主机名。
注意这里是将权限改为所有主机都可访问,因为改成了%

use mysql;
update user set host = ‘%’ where user = ‘root’ and host=‘localhost’;

扩充后的user表内容:

扩充完可以访问的主机名后我们为其赋予权限(这里就是为%赋予权限):

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

最后刷新:
flush privileges;
//mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝
访问

这样在远端就可以通过root用户访问Mysql

10.4.1Mysql远程连接出问题的解决方案:

看看防火墙是否关闭(包括本机的和虚拟机的);
是否是授权问题:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

是否 flush privileges;

快捷键汇总

1.在一个目录下输入部分文件名(或者目录名)然后按Tab键,就可以将模糊匹配到的文件名(或目录名)自动填充到输入处。

这篇关于Linux学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!