linux基础

Linux

一 linux简介

1.1 为什么学习Linux

Linux系统主要使用者是运维人员,系统架构设计师。作为开发者得的我们,需要学会Linux操作系统的安装,以及对目录,文件,权限等相关的基本操作命令,这是一个后端JavaEE程序员的必备技能。

一个项目开发完后,需要发布,部署到一个相对比较安全,稳定的服务器中运行,这台服务器上安装的往往是Linux操作系统。

  • 开发环境: 开发项目时的环境,一般就是我们自己的电脑可能是windows系统或者macos系统

  • 生产环境: 项目测试完毕,部署上线投入生产的环境,一般是在专业服务器上,服务器操作系统主要分为四大流派:

    • LINUX

      一种开源操作系统,可以免费得到许多应用程序和它们的源代码,并且可以自由的修改和重新发布,这意味着Linux通常较其它操作系统更为可靠、安全、快速。世界上绝大多数服务器运行在Linux。
      
    • WINDOWS

      对服务器的硬件要求较高,且稳定性能不是很高,所以微软的网络操作系统一般只是用在中低档服务器中,高端服务器通常采用UNIX、LINUX等非Windows操作系统。
      
    • NETWARE

      NetWare操作系统仍以对网络硬件的要求较低而受到一些设备比较落后的中、小型企业,特别是学校的青睐。
      这种操作系统有市场占有率呈下降趋势,这部分的市场主要被Windows NT/2000和Linux系统瓜分了
      
    • UNIX

      这种网络操作系统稳定和安全性能非常好,但由于它多数是以命令方式来进行操作的,不容易掌握,特别是初级用户。正因如此,小型局域网基本不使用Unix作为网络操作系统,UNIX一般用于大型的网站或大型的企事业局域网中 
      

1.2 unix介绍

​ 1968年 ,MIT、Bell实验室、美国通用电气有限公司走到了一起,致力于开发Multics系统项目。到后期由于开发进度不是很好,MIT和Bell实验室相继离开这个项目的开发,最终导致项目搁浅。
​ 1969年,Bell实验室中有一个小伙(Ken Thompson )开发了一款游戏(travel space:遨游太空),因为两个实验室相继离开项目开发,导致他开发出来的游戏没办法运行,所以在Multics项目上重写开发,诞生了Unix。
​ 1973年,因为汇编语言有一个最大的局限性:对于计算机硬件过于依赖导致移植性不好,所以创造了大名鼎鼎的 C 语言,并重写了Unix。
​ 1975年,Bell实验室允许大学使用Unix操作系统用于教学作用,而不允许用于商业用途。

1.3 linux介绍

Linux是基于Unix的开源免费的多用户操作系统,相对于windows而言,其运行的稳定性和安全性都有着绝对的优势,因此它几乎成为程序代码运行的最佳系统环境。(unix ’ s linus => linux)

Linux的核心代码一直由Linus Torvalds(林纳斯· 托瓦兹)开发维护,作者将源代码开源之后放到了社区,众多的linux爱好者加入了开发队伍,因为也就衍生了众多的linux版本。

1.4 linux版本

  1. 内核版本:在Linux之父领导下的内核小组开发维护的系统内核的版本号。
  2. 发行版本:一些个人/组织/公司在内核版基础上进行二次开发而重新发行的版本号。

二 linux安装

2.1 虚拟机安装

在只有一台计算机的情况下, 为了安装linux系统, 我们有两种方案:

  1. 使用双系统,在电脑开启的时候选择进入哪个操作系统,但不建议安装多个系统,一是浪费空间,二是可能造成系统不稳定。
  2. 使用虚拟机,虚拟机就是Windows系统上的软件,通过软件来模拟一台电脑。我们可以在虚拟机中安装Linux系统。

虚拟机简介

​ 虚拟机是一个软件,它可以使你在一台真实PC机器上同时运行两个或更多的操作系统,如:Windows或Linux。它可以模拟一个标准的PC环境,这个环境和真实的计算机一样,有芯片组、CPU、内存、显卡、声卡、网卡、软驱、硬盘、光驱、串口、并口、USB控制器。

​ 目前市场上流行的虚拟机有两种:

  1. VMware(威睿)公司的虚拟机软件,功能强大,收费产品,有30天试用期。(我们选择这个)
  2. VirtualBox (甲骨文)公司的虚拟机软件,免费的商品。

安装软件细节:安装文档

1. 软件: VMware-workstation-full-15.5.0
	 
2. 注意:不要有中文路径

3. 注意:安装成功后,我们电脑会多出二个网卡
	VMNet1 VMNet8
    
4. 注意: 不要被360等安全管家干扰(最好直接关闭防火墙和退出安全软件)

2.2 虚拟化一台电脑

1. 使用vmware“创建新的虚拟机”
2. 选择自定义安装
3. 选择linux系统 CentOS7 64位
4. 指定安装路径,不建议C盘
5. 不停下一步

2.3 安装linux操作系统

1. 指定CD/DVD linux的iso安装镜像
2. 虚拟机与物理机鼠标切换 ctrl+alt
3. 选择中文 简体中文
4. 上海时间-8个小时
5. 选择基础设施服务器安装
6. 指定网络模块开启
7. 指定密码:root
8. 重启登录

2.4 拍摄快照(备份)

拍摄快照是给当前linux系统进行备份, 目的是如果在学习过程中把linux系统弄坏了,随时恢复到备份状态.

2.5 远程连接工具访问Linux服务器

2.5.1 连通测试

首先在使用远程连接工具之前, 先测试linux虚拟机 和windows主机之间是否可以连通

命令功能说明
ifconfiglinux中显示主机的IP地址
ip addrlinux中显示主机的IP地址(同上)
ping 网络地址测试主机之间是否连通,如果超时表示连接不上

疑问:windows主机与虚拟机linux系统为什么可以直接连通?

因为window与linux在同一个局域网。分别查询windows的IP地址和Linux的IP地址

Linux的IP地址:ifconfig

Windows的IP地址:ipconfig

注意第3个数字:248,要一样才能在同一个局域中连接

测试网络是否连通

2.5.2 远程连接工具

用于连接linux的工具有很多,比较有名的有xshell、putty、SecureCRT/SecureFXPortable等等

我这里使用的xshell学校或者个人使用是免费的配合xftp使用,中文且功能强大,界面美观,直接去官网下载就好啦

三 linux操作

3.1 Linux 的目录结构

与Windows操作系统不同,Windows中最上面是盘符。在Linux中没有盘符概念,最顶层是根目录/

常用目录说明
root管理员工作目录,管理员登录后就自动进入这个目录(拥有最高权限)
home普通用户登录以后进入的目录,每个普通用户在这个目录下都会有自己的目录
bin今天要学习的命令所在的目录
etc系统或软件配置文件所在目录。例:网络配置
usr软件安装的目录

结论:Linux系统属于文件操作系统(大白话:linux中系统、安装软件都是文件)

Linux下文件不同颜色表示的含义

颜色说明
白色普通文件
深蓝色目录
红色压缩文件
青色链接,类似windows快捷方式
橙色设备文件
绿色可执行文件

3.2 目录(文件夹)操作命令

1)查看 ls
* 语法
		ls [参数]      ->  list 列出
		
* 参数解释
		-l  以详细形式查询当前目录下所有文件和目录,不包括隐藏文件和目录 (简写ll)
		-a  以精简形式查询当前目录下所有文件和目录,包括隐藏文件和目录(all)
		
* 命令
        cd /		进入根目录
        ls      	以精简形式查询当前目录下的内容
        ls -l     	以详细形式查询当前目录下的内容,d表示目录,-表示文件;此命令可以简写为ll
        ls -a    	以精简形式查询当前目录下的隐藏内容
        ls -la    	以详细形式查询当前目录下的隐藏内容,la和al都可
        clear    	清屏
        
        
        
# 目录详情第一个字母说明: 
d : 这是一个目录 (directory)
- : 这是一个文件
l : 这是一个链接 (link: 相当于windows快捷方式 -> 真实路径)

2)跳转 cd
* 语法
		cd 目录    -> change directory
		
			 绝对路径 
				 /xxx/xxx/xxx
				
			 相对路径
				 ./  当前目录(可以省略)
				 ../ 上级目录
		
* 命令
	  cd	~	当前用户目录 (如果你是root用户表示/root目录,如果你是其他用户/home)
	  cd	/	根目录
      cd 	-	上一次访问的目录
      cd	..	上一级目录
      pwd 显示当前目录完整路径(print working directory)
            
            
            
            
# tab键使用
		cd 输入一个内容(tab)
        1. 无提示: 当前要么写完了,要么写错了
        2. 无歧义自动补全
        3. 有歧义再按一下tab会提示            
            
3)创建
* 语法
		mkdir 目录   -> make directory
		
* 命令
        cd /			 定位于根目录
        mkdir aaa        在当前目录下创建aaa目录,相对路径
        mkdir ./bbb      在当前目录下创建bbb目录,相对路径
        mkdir /ccc       在根目录下创建ccc目录,绝对路径
        mkdir /ddd/eee	 在根目录下创建ddd目录和eee子目录
        
        
  扩展命令:
        mkdir -p  路径1/路径2/路径3/目录      如果父路径不存在,则先创建父路径        
4)搜索
* 语法
		find 目录 -name '条件'
		
* 命令
        find / -name  'b'      查询根目录下(包括子目录),名为b的目录和文件
        find / -name  'b*'     查询根目录下(包括子目录),名以b开头的目录和文件
        find / -name  '*b*'     查询根目录下(包括子目录),名包含b的目录和文件
        在Linux中,按ctrl+c     强行终止程序执行 (cancel)
5)修改文件名
* 语法
		mv 	旧目录	 新目录   -> move 移动(本质剪切)

* 命令
		cd /
		mv aaa aaaa     将根目录下的aaa目录修改为aaaa
6)剪切(支持改名)
* 语法
		mv 	原目录位置 	新目录的位置

* 命令
		cd /					
		mv  /aaaa /bbb/       将根目录下的aaaa目录,移动到bbb目录下,在bbb目录下也叫aaaa目录
		mv  bbb  usr/bbbb    将当前目录下的bbb目录,移动到usr目录下,且修改名为bbbb	
7)复制(支持改名)
* 语法
		cp  -r	目录   目录的新位置  (copy)
		
* 参数解释
		-r  递归复制,将指定目录下的文件与子目录一并处理 (recursion)
		
* 命令
		cd /					 定位于/目录
        cp -r  /aaa   /bbb       将/目录下的aaa目录复制到/bbb目录下,在/bbb目录下名字为aaa
        cp -r  /aaa   /bbb/aaaa  将/目录下的aaa目录复制到/bbb目录下,且修改名为aaaa
8)删除
* 语法
		rm  [参数]目录	  -> remove
		
* 参数解释
		 -r : recursion 递归 (只要删文件夹,都要递归)
		 -f : force 强制 (不会提问)
		
* 命令 
	rm -r ccc   删除ccc目录(它会询问你是否确定删除,y表示是删除,n表示不删除)
	rm -rf ccc	强制删除ccc子目录(不会询问)
	rm -rf /    删除根目录下所有文件(千万不要写这个!!!)
        
# java中,File类 delete方法
1. 只能删除空文件夹,和文件
2. 非空文件夹是删不掉: aaa/bbb , aaa的路径被bbb所依赖,要删aaa,必须先将bbb先删
3. 递归删除原理: 先删除aaa的所有子路径,再删除aaa自身
        
9)小结
1. 目录查看
		ll [-a] /  ls
		
2. 目录跳转
		cd	绝对路径 [相对路径]
		
3. 创建目录
		mkdir 文件夹名称
		
4. 搜索
		find 指定路径 -name '*关键字*'
		
5. 剪切
		mv  原来位置 新位置(改名)
		
6. 复制
		cp -r 原来位置 复制后新位置(改名)
		
7. 删除
		rm -rf 目录	
# 查看 /etc 目录
ls /etc
ls -l /etc
ls -a /etc

#切换目录
cd /root
cd /   
cd ..

#创建目录
mkdir /root/itcast
mkdir -p  /root/itheima/javaee/java131  #父路径不存在时,自动创建父目录

#搜索
find 目录 -name 搜索的文本内容
find /etc -name 'java'
find /root -name 'it*'

#修改目录名
mv  旧名称  新名称

#剪切
mv  源目录  目标目录/
mv /etc  /root/

#复制
cp  源目录   目标目录
cp /root/itcast  /soft/

#删除目录
rm -rf /root/itcast 

3.3 文件操作命令

1)创建
* 语法
		touch 	文件名.扩展名
* 命令
        cd  /soft		 定位于/soft目录
        touch  a.java    在soft目录中创建 a.java文件
        touch  b.txt     在soft目录中创建 b.txt文件
        touch  c.xml     在soft目录中创建 c.xml文件	
2)查看
* 语法
		cat/more/less/head/tail	文件

* 命令
		cd /soft		 
        cat a.java         全部看完, 直接到a.java文件的最后一页内容
        more a.java        从第一页开始,按回车键换行,按空格健翻页,q退出
        less a.java        从第一页开始,按回车键换行,按空格健翻页,支持使用PgUp和PgDn翻页,q退出
        head a.java 	   查看a.java文件的前10行内容
        tail a.java		   查看a.java文件的后10行内容
        head -7 a.java   查看a.java文件的前7行内容
        tail -7 a.java   查看a.java文件的后7行内容
        
* 规则
		如果查看较少的数据:cat
		如果查看多页数据:less/more
			回车:下一行
			空格:下一页
			PGUP:上一页
			PGDN:下一页
			q退出
		查看头部几行:head 
		查看尾部几行:tail (查看tomcat运行日志)
# linux中的退出
	1. q : quit 退出
	2. ctrl + c : cancel
	3. esc : 退出
3)删除
* 语法
		rm   [参数]	  目录或文件
		
* 参数解释
		-r  递归处理,将指定目录下的所有文件及子目录一并处理,它会询问你,y表示是删除,n表示不删除
		-f  强制删除,它不会再询问你
		
* 命令
		cd  /soft
        rm -f a.java      强行式删除当前目录下的a.java文件
        rm -rf ./a*        强行式删除当前目录下以a开头的所有文件
        
        rm -rf  /root/*.java   #删除root目录下所有的.java文件
4)编辑 (Vi和Vim)

vim介绍

vi(vim)是Linux上常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi是“Visual Interface”的缩写,vim是 (增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。

vim编辑器的三种模式

vim三种模式的切换

* 命令行模式
		yy	  复制当前行
  	    p	  粘贴
        dd	  删除当前行
        u 	  撤销
        /字符  搜索
    
* 命令行模式切换到插入模式
        i 在当前位置前插入
        a 在当前位置后插入
        o 在当前行之后插入一行
       	#可以在这个模式下编辑文件, 按esc退出到命令行模式
       		
       		
* 命令行模式切换到底行模式
		按 :(冒号)进入底行模式
		#底行模式下
		:wq	保存退出
		:q	退出vi(文件无修改的情况下)
		:q!	不保存强制退出
		按esc退出到命令行模式
		
		
#linux 复制粘贴
	1. 复制: 直接选中
	2. 粘贴: 右单击

小结:

编辑文件,需要使用的命令: vi / vim 文件名.后缀名

打开文件后,有3种模式:

  • 命令模式
    • 作用:进入到编辑模式、底行模式
    • 有一些针对文件的操作命令
      • 复制一行: yy
      • 粘贴: p
      • 删除一行:dd
      • 查找文件中的某个内容: /文本内容
        • 定位到第一个查找到的文件内容后,可以按下n键,进入到下一个
  • 编辑模式
    • 进入方式: 按下键盘的 i 或 a 或 o
    • 退出方式: 按下 键盘的esc (退出到命令模式)
  • 底行模式(末行模式)
    • 作用:保存文件、退出VI编辑器
    • 进入方式: 按下键盘的:
      • 常用命令:
        • w 把编辑的内容进行保存
        • q 退出
        • wq 保存并退出
        • q! 强制退出(不保存文本内容,强制退出)
    • 退出方式: esc (退出到命令模式)

3.4 文件压缩命令

windows的压缩文件的扩展名: .zip或.rar

压缩的目的: 以特殊的算法压缩多个文件, 使其占用的空间变小,方便传输

Linux中的打包文件扩展名:.tar

文件都放在一起

Linux中的压缩文件扩展名:.gz

以某种的压缩算法, 让多个文件整合到一起之后,总大小减小

Linux中打包压缩的文件扩展名:.tar.gz

1)将文件打成压缩包(了解)
* 语法
		tar	-zcvf  打包压缩后的文件名  要打包的文件		
		tar -cvf  xxx.tar  a.java b.java c.xml d.txt
		tar -zcvf xxx.tar.gz a.java b.java c.xml d.txt
		
* 参数解释

		-z:调用gzip压缩命令进行压缩
		-c:打包文件
		-v:显示运行过程
		-f:指定文件名   (书写在所有参数的最后一个)

        
* 命令
        tar   -zcvf 	haha.tar.gz   a.java  b.java  c.java
        或
        tar   -zcvf		haha.tar.gz   ./*  将当前目录下的所有文件打包压缩成haha.tar.gz文件
2)解压缩包获得文件【重点】
* 语法
		tar -zxvf 解压文件 –C 指定目录 
		注意-C是大写字母C,后面不用接空格符,如果不指定解压目录件默认放在当前目录中

* 参数解释
		-z   自动识别压缩或解压
		-x   取出文件中的内容
		-v   输出文件清单
		-f   文件名由命令台设置
		-C   指定存放解压后文件的目录

	1.解压tar后缀的文件	
		tar -xvf  解压文件 	–C指定目录 

	2.解压tar.gz后缀的文件
		tar -zxvf  压缩文件 –C指定目录 

			

		
* 命令
		cd  /soft					定位于/soft目录
		rm -rf  ./*.java			强制式删除当前目录下所有扩展名为java的文件
		tar  -xvf  haha.tar.gz		解压haha.tar.gz这个压缩文件,里面的文件释放到当前目录下
		tar  -xvf  haha.tar.gz -C/usr/local	
                           		 解压haha.tar.gz这个压缩文件,里面的文件释放到/usr/local目录下

3.5 文件权限命令(了解)

Linux中对每个目录和文件都做了规定,只能由满足条件的用户才能操作,这个规定叫权限。

一共10个元素,分四个部分
在这里插入图片描述
第一个元素是指文件类型 i为软引用 d为目录 -为文件

权限修改
* 语法
		chmod	[参数]  文件名
		
* 权限范围
        u:User,即文件或目录的拥有者。 
        g:Group,即文件或目录的所属群组。 
        o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。 
        		
* 权限代号
			r:读取权限,数字代号为"4"
    		w:写入权限,数字代号为"2"
    		x:执行或切换权限,数字代号为"1"
    		-:不具任何权限,数字代号为"0"
    		
* 命令
        chmod 755 1.txt	     7=user   5=group    5=other
                            421       401        401
                            rwx       r-x        r-x
        给1.txt的拥有者设置读写执行权限,给所属组添加读和执行权限,给其他用户添加读和执行权限
        
       
        
        chmod 777 a.txt	   给所有人添加对此文件操作的所有权限

3.6 其他命令

1)显示工作目录
* 语法
		pwd	:  Print Working Directory 打印当前的目录(绝对路径)
2)查看进程
* 语法
		ps -au:显示客户端打开的程序进程
		ps -ef:当前用户打开的程序进程 (重要)
		
* 参数解释
		-a   显示所有用户通过终端启动的所有进程
		-A   显示所有进程
		-u   显示所有用户通过终端启动的所有进程详细信息
		-x   显示所有用户通过终端和非终端启动的所有进程详细信息
		-e   此参数的效果和指定"A"参数相同,显示所有程序
		-f   显示UID,PPID,C与STIME栏位
3)杀死进程
* 语法
		kill 进程号: 杀死指定进程
		kill -9 进程号:强制杀死指定进程
4)文本搜索
* 语法
		grep [参数] 搜索字符串 文件名      
		##用来从文件内容中检索要查找的字符串

* 参数解释
		-i   搜索时不区分大小写,大小写不敏感(ignore)
		-n   显示匹配行及行号,大小写敏感(number)
		-v   显示不匹配行及行号,大小写敏感(reverse)
		
* 命令
        cd /
        grep as 123.txt				在123.txt文件中搜索as字符串,大小写敏感,显示行		
        grep -n as 123.txt			在123.txt文件中搜索as字符串,大小写敏感,显示行及行号
        grep -v as 123.txt			在123.txt文件中搜索as字符串,大小写敏感,显示没搜索到行
        grep -i as 123.txt			在123.txt文件中搜索as字符串,大小写不敏感,显示行
        grep -ni "Q q" 123.txt	    在123.txt文件中搜索Q q字符串,大小写不敏感,显示行及行号
                 #当要查找的字符串中有包含有空格时,字符串使用""包含
5)管道
* 语法
		xx | xx
		一个命令的输出作为另一个命令的输入
		
		ls  /root/itheima    #查出/root/itheima目录下所有的内容
		
		grep Hello   #查找包含Hello的内容
		
		管道:
		ls /root/itheima | grep Hello
		
* 命令
		ls --help | more    分页查询帮助信息
		ps -ef | grep system 	在ps -ef的结果中,搜索字符串system
6)关机和重启
* 语法
		poweroff : 关机
		reboot :  重启

二 Linux网络【了解】

2.1 网络(卡)服务

查看当前网络的状态,并启动和停止网络服务。

1.查看ip命令
		ifconfig 
		ip addr  :CentOS7版本新增
		
2.修改网卡ip
		vim /etc/sysconfig/network-scripts/ifcfg-ens33
		
可以看到概要信息如下:		
		DEVICE=ens33	#网卡名称
		TYPE=Ethernet #网卡类型 以太网
		ONBOOT=yes    #是否开机就使用此网卡  安装系统的时候都已经配置好
		BOOTPROTO=dhcp	#启动网卡时指定获取IP地址的方式
			常用取值:dhcp (自动获取ip地址,网关,子网掩码等信息无需设置) 
			常用取值:static(静态ip,需要自己设置ip地址等信息) 
			其他取值:none               (不指定)
            
        IPADDR=192.168.200.133    #ip地址
		GATEWAY=192.168.200.2     #网关
		NETMASK=255.255.255.0     #子网掩码
		DNS1=8.8.8.8			  # Google提供的公用DNS       

3.重启网卡服务
	systemctl status network       查看指定服务的状态
    systemctl stop network         停止指定服务
    systemctl start network        启动指定服务
    systemctl restart network      重启指定服务
    
    
    systemctl命令 : 服务管理命令   #所有的linux系统或软件的服务都使用这个命令
    示例:
        systemctl status mysqld     #mysqld就是服务的名称
        systemctl stop   mysqld
        systemctl restart mysqld
    

配置静态IP地址

设置ip分为2种类型,dhcp和static。dhcp是动态获取ip,static是配置静态ip。dhcp动态获取ip可能ip经常会发生变化,导致客户端无法连接到。静态ip配置后就不会发生改变,这样客户端连接服务器具有更好的安全性。

操作步骤

  1. 查看当前虚拟机网关(记住这个网关,后面使用)

  2. 进入目录命令:cd /etc/sysconfig/network-scripts/

  3. 编辑网卡配置文件命令:vim ifcfg-ens33

  4. 配置静态IP,增加修改如下信息:

    修改的内容:

    BOOTPROTO=static      
    

    在文本的末尾增加的内容(一定要注意: IPADDR和GATEWAY前3个网段要一致):

    IPADDR=192.168.248.99
    GATEWAY=192.168.248.2
    NETMASK=255.255.255.0
    DNS1=8.8.8.8
    
  5. 退出保存, 最后重启网卡服务systemctl restart network

网络配置小结:

  • 配置VM虚拟机和宿主机的网络设置:

    1. 在vm软件中,配置"虚拟网络编辑器"

      • 选择"Net模式" ,选用"VMnet"虚拟网卡
      • 设置子网IP。 例: 192.168.100.0 # 网段:100
      • 保存设置
        • 默认的DHCP服务器, ip地址范围: 192.168.100.128 ~ 192.168.100.254
        • 默认的NET设置中的网关:192.168.100.2
    2. 在本地的宿主机中,找到虚拟网卡"VMnet8"

      • 配置虚拟网卡的ip地址(手动ip地址)
        • ip地址:192.168.100.10
        • 子网掩码:255.255.255.0
        • 网关:192.168.100.2 必须和VM软件中的net模式网关保持一致
    3. 在虚拟机系统中,配置网络

      • 使用命令打开网卡配置文件:vim /etc/sysconfig/network-scripts/ifcfg-ens33

        • 修改配置文件中的内容:

        • BOOTPROTO=dhcp  修改为: BOOTPROTO=static
          
          #添加新内容如下:
           IPADDR=192.168.100.128    #ip地址
           GATEWAY=192.168.100.2     #网关
           NETMASK=255.255.255.0     #子网掩码
           DNS1=8.8.8.8			   # Google提供的公用DNS
          
          
    4. 修改了网络配置后,需要重新网络服务:

      systemctl restart network  #network就是linux系统中的网络服务名称
      

2.2 防火墙服务

防火墙类似于一个安全卫士管家,它能对你访问它人电脑,它人访问你的电脑,进行拦截并处理,有的阻止,有的放行,有的转发。

2.2.1 防火墙设置【了解】
* 开启防火墙
		systemctl start firewalld
		
* 重启防火墙
		systemctl restart firewalld
		
* 关闭防火墙
		systemctl stop firewalld
		
* 设置开机启动
		systemctl enable firewalld
		
* 停止并关闭开机启动
		systemctl disable firewalld
		
* 查看防火墙状态
		systemctl status firewalld	或者 firewall-cmd --state
		
* 查看防火墙开机时是否启动
		systemctl list-unit-files | grep firewalld
2.2.2 端口设置
* 添加
		firewall-cmd --zone=public --add-port=80/tcp --permanent
		
* 更新防火墙规则
		firewall-cmd --reload
		
* 查看
		firewall-cmd --zone=public --query-port=80/tcp
		firewall-cmd --zone=public --list-ports
		
* 删除
		firewall-cmd --zone=public --remove-port=80/tcp --permanent
				
* 常用端口
		8080	tomcat
		80		http协议      http://www.域名   只要是使用http协议来访问服务器,80必须开放
		443		https协议
		22		ssh远程连接
		3306	mysql
		6379	redis

三 软件安装

2.1 软件安装介绍

2.1.1 常见的安装方式
1)RPM安装包

一个软件先按照redhat的包管理工具规范RPM(英文全拼:redhat package manager)进行打包发布,安装时需要先获取到软件的RPM发布包,再用RPM命令进行安装。

  • 特点:需要自己手动解决软件的依赖关系.
* rpm命令安装
	语法:  rpm 参数  安装包
	参数:
        -v 显示指令执行过程
        -h 表示显示进度
        -q 查询包是否已经安装
        -a 查看所有安装的软件
        -i 安装软件
        -U 更新升级
        -e 卸载软件
        --nodeps 不验证软件的相互关联性 
* 常用命令:
    安装:rpm  -ivh  rpm文件    			安装软件查看指令执行过程,查看进度
    升级:rpm  -Uvh  rpm文件					更新软件查看指令执行过程,查看进度
    卸载:rpm  -e --nodeps 软件名     
    查看所有安装的软件:rpm -qa | grep 具体名
2)YUM在线安装

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的软件包管理器。

yum安装软件,先通过yum源服务器下载并安装软件。

  • 特点:会自动解决依赖关系,需要联网.
yum install 	软件名
yum localinstall rpm包  使用yum安装本地rpm包[此过程会自动解决依赖]
3)Linux源码安装

此种安装包软件以源码工程的形式发布,需要程序员自行编译安装,

  • 特点:可以更快的获取到软件的最新版本,可以根据用户需求灵活定制软件功能

(tar.gz)解压------>配置------->编译-------->安装

2.1.2 上传与下载工具
1. sftp
		1). 介绍: sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络加密方法。(sftp和ftp之间的关系, https和http之间的关系)
		2). 在secureCRT界面, 直接使用alt + p 组合键打开sftp窗口
		3). 常用命令
           get:  将远程主机(linux)中文件下载到本地主机(windows)
            (如果使用secureCRT,默认下载到..\secureCRSecureFX_x64\App\VanDyke Clients)
           put:  将本地主机(windows)中文件上传到远程主机(linux)
            (默认上传到用户目录, root用户是 \root)
            quit: 断开FTP连接
            pwd:  查询linux主机所在目录
            lpwd: 查询windows主机所在目录
            ls:   查询连接到当前linux主机所在目录有哪些文件
            lls:  查询当前本地上传目录有哪些文件
            lcd:  改变本地上传目录的路径
            cd:   改变远程上传目录      
		
2. lrzsz
		1). lrzsz是一款在linux里可代替ftp上传和下载的程序,体积小速度快
        2). 我们可以使用yum安装方式安装: yum install lrzsz
    		注意:必须有网络
    	3). 常用命令
    		rz 上传
    		sz 文件名 :  下载

3. 远程连接工具
		secureFx / xshell等...
		
我这里使用的是xftp使用方法较为简单,直接拖拽即可	

2.2 开发软件安装

这里介绍下mysql和jdk的安装

jdk的安装

开始安装:

  1. 打开安装目录
    cd /usr/local/src/jdk

这里是你上传的orcal官网下的linux版本的jdk的压缩包的位置

  1. 解压后就安装好了
    tar -zxvf jdk-8u162-linux-x64.tar.gz

配置环境变量:

  1. 打开文件
    vi /etc/profile

  2. 在末尾行添加

​ #set java environment

​ JAVA_HOME=/usr/local/src/jdk8/jdk1.8.0_162 【你解压的jdk的路径】

CLASSPATH=.:$JAVA_HOME/lib.tools.jar

​ PATH=$JAVA_HOME/bin:$PATH

​ export JAVA_HOME CLASSPATH PATH

保存退出

  1. 使更改的配置立即生效
    source /etc/profile

  2. 查看JDK版本信息,如果显示出java version "1.8.0_162"证明成功
    java -version

mysql的安装
这里介绍的是基于rpm的离线班的安装
1.1. MySQL安装
  1. 查看CentOS是否自带的MySQL,如果已经安装需要卸载。如果没有找到,则表示没有安装。(centos6.5版本自带mysql,我们现在用的是centos7,没有自带mysql)

如果已经安装了,将其卸载,如:

rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64

  1. Cd : /usr/local/src/mysql

解压:

tar -zxvf mysql-community-5.6.45.tar.gz

删除 : rm -f mysql-community-5.6.45.tar.gz

安装 : rpm -Uvh * --force --nodeps (安装此路径所有安装包)

​ (注意: 上面那个tar.gz文件要移动到别的目录,或者删除,不然会报错)

1.2. 编码设置

mysql安装后默认不是utf8编码,需要设置,使用vim编辑器进行对配置文件进行设置:

步骤1:vim打开配置文件

vim /etc/my.cnf

步骤2:找到[mysqld] 增加如下一行

character-set-server=utf8

collation-server=utf8_general_ci

1.3. 启动MySQL服务并登录
  1. 启动mysql的服务

systemctl start mysqld

  1. 将mysql加到系统服务中并设置开机启动

systemctl enable mysqld

  1. 登录mysql,root用户默认没有密码

mysql -uroot

  1. 在mysql中修改自己的密码 (sql语句,密码弄成root)

set password = password(‘root’);

exit 退出 , 然后重新登录 mysql –u root –p (然后root)

1.3 设置远程访问权限、防火墙开放端口号
  1. 开启mysql的远程登录权限,默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启,并且刷新权限缓存。

远程登录mysql的权限, 登录mysql后输入如下sql命令(DCL: 用户权限控制):

grant all privileges on . to ‘root’@’%’ identified by ‘root’;//设置可以远程连接

flush privileges;//刷新权限

  1. 开放Linux的对外访问的端口3306(记得要先退出mysql : exit)

#开放的端口永久保存到防火墙(linux命令)

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
firewall-cmd --zone=public --add-port=3306/tcp --permanent

#重启防火墙

systemctl restart firewalld

1.4. 客户端Windows连接MySQL

在本地Windows系统使用SQLyogEnt.exe软件连接虚拟机中的Linux系统安装的mysql,当然你使用别的图形化工具之类的也是可以的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Quare_feifei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值