1、初识Linux
1.1简介
1.linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目都会部署到Linux/unix系统上。2.常见的操作系统(win7、IOS、Android、Mac)3.吉祥物
4.Linux的创始人Linus Torvalds5.Linux主要的发行版: Ubuntu(乌班图)、RedHat(红帽)、CentOS、Debain[蝶变]、Fedora、SuSE、 OpenSUSE
1.2Linux的应用领域
1.个人桌面领域的应用此领域是传统linux应用最薄弱的环节,传统linux由于界面简单、操作复杂、应用软件少的缺点,一直被windows所压制,但近些年来随着ubuntu、fedora [fɪˈdɔ:rə] 等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,linux在个人桌面领域的占有率在逐渐的提高。2.服务器领域linux在服务器领域的应用是最强的。linux免费、稳定、高效等特点在这里得到了很好的体现,近些年来linux服务器市场得到了飞速的提升,尤其在一些高端领域尤为广泛。3.嵌入式领域近些年来linux在嵌入式领域的应用得到了飞速的提高linux运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百KB等特点,使其近些年来在嵌入式领域的应用得到非常大的提高主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、智能家居、智能硬件等都是其应用领域。以后再物联网中应用会更加广泛。
2、环境搭建
2.1、windows与Linux系统实现复制粘贴功能
安装vmtools(1)vm下的虚拟机—》install vmware tools(2)centos会出现一个安装包(3)解压并安装该安装包,默认(4)安装成功后reboot重启centos即可
2.2windows与Linx之间设置共享文件夹
1、虚拟机—》设置—》选项—》共享文件夹—》设置共享文件夹路径—》完成2、共享文件夹会默认放在centos的mnt/hgfs目录下
Linux的目录结构
2.3Linux世界里,一切皆设备
bin:root:
2.4远程登陆linux系统
XShell5
2.5远程上传下载文件到centos
Xftp
解决Xftp中文乱码问题
3、实操篇
3.1vi和vim模式
1、简介所有的 Linux 系统都会内建 vi 文本编辑器。Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。vi模式:只读vim模式:可进行编辑并保存2、vi和vim常用的三种模式(1)正常模式以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容,也可以使用『复制、贴上』来处理你的文件数据。(2)插入模式按下i, I, o, O, a, A, r, R等任何一个字母之后才会进入编辑模式, 一般来说按i即可.(3)命令行模式在这个模式当中, 可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的!3、vi和vim模式的相互切换
4、vi和vim快捷键的使用1) 拷贝当前行 yy , 拷贝当前行向下的5行 5yy,并粘贴。2) 删除当前行 dd , 删除当前行向下的5行 5dd3) 在文件中查找某个单词 [命令行下 /关键字 , 回车 查找 , 输入 n 就是查找下一个 ]4) 设置文件的行号,取消文件的行号.[命令行下 : set nu 和 :set nonu]5) 编辑 /etc/profile 文件,使用快捷键到底文档的最末行[G]和最首行[gg]6) 在一个文件中输入 "hello" ,然后又撤销这个动作 u7) 编辑 /etc/profile 文件,并将光标移动到 20行 shift+g
3.2开机、重启和用户登录注销
1、开机、重启shutdownshutdown -h now :表示立即关机shutdown -h 1:一分钟后关机shutdown -r now:立即重启halt直接使用,效果等价于关机reboot重启系统sync把内存数据同步到磁盘,防止数据丢失,一般重启、关机前进行该操作2、用户登录和注销在远程登录工具Xshell上输入logout即可。
3.3用户管理
1、简介1、Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须先想系统管理员申请一个账号,然后这个账号的身份进入系统2、Linux的用户至少需要属于一个组2、添加用户1、基本语法useradd [选项] 用户名2、实际操作(1)useradd xiaoming创建了一个用户小明,并在/home/目录下创建一个xiaoming的组(2)useradd -d /home/pig xiaohong创建了一个用户xiaohong,并且指定了目录组。注:目录组不能事先创建好3、指定用户密码1、基本语法passwd 用户名2、实际操作passwd xiaoming 回车即可设置密码4、删除用户1、删除用户但保持家目录userdel xiaoming2、删除用户并且删除家目录userdel -r xiaohong3、工作中采用哪种方式?工作中一般删除用户会保留其家目录5、查询用户信息1、id 用户名6、切换用户权限高的用户切换到权限低的用户不需要输入密码,反之则需要1、切换用户语法su - 用户名2、退出当前用户返回到root用户,如果刚开始不是root用户登录则需要输密码exit3、查看当前用户是谁whoami、 who am i
3.4用户组
1、简介类似于角色,系统可以对有共性的多个用户进行统一的管理2、增加组groupadd 组名 案例:groupadd nanren 增加了一个名为nanren的组3、删除组groupdel 组名 案例:groupdel nanren 删除了一个名为nanren的组4、创建用户时指定组语法:useradd -g 组名 用户名useradd -g nvren xiaoming 将xiaohong指定为组nvren的用户useradd -d /home/pig xiaohong 创建了一个用户xiaohong,并且指定了用户 组。注:目录组不能事先创建好5、修改用户的组语法:usermod -g 组名 用户名usermod -g nanren xiaohong 将xiaohong的组修改为nanren6、与用户和组相关的三个配置文件1、/etc/passwd文件用户的配置文件,记录用户的各种信息每行含义:用户名:口令:用户标识符,组标识符:注释行描述:主目录:登录shell
2、/etc/passwd文件口令的配置文件每行含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志3、/etc/group文件组的配置文件,记录linux包含组的信息每行含义:组名:口令:组标识符:组内用户列表
vim /etc/inittab 查看运行级别
4、实用指令
4.1运行级别
1、运行级别0:关机 1:单用户(找回丢失密码) 2:多用户状态没有网络服务3:多用户状态有网络服务 4:系统未使用保留给用户 5:图形界面6:系统重启常用的运行级别时3和5,要修改进入到的运行级别需要修改配置文件/etc/inittab所设置的默认级别2、如何切换运行级别init [0,1,2,3,5,6]案例:通过init来切换不同的运行级别,比如5—》3,然后关机init 3 init 03、面试题面试题:如果忘记账号密码,如何找回?思路:进入到单用户模式,修改root密码,单用户模式root不需要密码即可登录操作:开机时引导时回车键->看到一个界面输入e->看到一个新的界面,选中第二行(编辑内核)再输入e->在新的界面最后一行输入1(1即为想进入的运行级别)回车键->再次输入b便可进入单用户模式。此时便可利用passwd指令来修改密码。4、课堂练习请设置运行级别实现开机进入到3运行级别。修改/etc/inittable的默认运行级别即可。
4.2获取帮助指令
1、man 指令名称案例:man ls 返回ls的使用指南信息(ls -al)将隐藏文件也展示2、help 指令名称案例:help ifconfig 返回ifconfig的使用指南
4.3文件目录类指令
1、pwd指令 显示当前工作目录的绝对路径2、ls指令ls [选项] [目录或文件]案例:ls -al常用选项:-a:显示当前目录的所有文件和目录包括隐藏的-l:以列表方式显示信息([ls 目录名]默认为横向展示)3、cd指令cd [参数] 指定目录常用参数:[绝对路径、相对路径]cd ~或cd 回到自己的家目录cd.. 回到当前目录的上一级目录案例1:在root目录下切换到home目录下绝对路径:cd /home相对路径:cd ../home案例2:在usr/lib目录下切回到root绝对路径:cd /root相对路径:cd ../../root案例3:回到自己的家目录cd cd~4、mkdir指令 用于创建目录mkdir [选项] 创建的目录名 选项用于创建多级目录案例1:在home创建目录dogmkdir /home/dog案例2:在home创建目录cat,然后再cat目录创建cofecat目录mkdir -p /home/cat/cofecat5、rmdir指令 删除空目录,非空目录无法删除rmdir /home/dogrmdir /home/cat/cofecat6、rm -rf指令 可删除非空的文件夹rm -rf /home/dog7、touch指令 创建空文件案例1:创建空文件hello.txttouch hello.txt案例2:创建空文件hello1.txt,hello2.txttouch hello1.txt hello2.txt8、cp指令 将指定文件拷贝到指定目录拷贝单文件案例1:将/home/hello.txt拷贝到/home/worldcp hello.txt world/拷贝单文件夹案例2:将aaa整个目录拷贝到bbb下cp -r aaa/ bbb/ 再次执行拷贝操作时,会提示是否覆盖文件,每个文件会询问一次\cp -r aaa/ bbb/ 该指令会覆盖文件并且不会有提示9、rm指令(1)基本语法rm [选项] 要删除的文件或目录(2)常用选项-r :递归删除整个文件夹-f :强制删除不提示(3)应用实例案例1: 将 /home/aaa.txt 删除rm aaa.txt案例2: 递归删除整个文件夹 /home/bbbrm -rf bbb/•使用细节强制删除不提示的方法:带上 -f 参数即可(空文件、空文件夹不会提示)10、mv指令(移动文件与目录或重命名)(1)基本语法mv oldNameFile newNameFile (功能描述:重命名)mv /temp/movefile /targetFolder (功能描述:移动文件)(2) 应用实例案例1: 将 /home/aaa.txt 文件 重新命名为 pig.txtmv aaa.txt pig.txt案例2:将 /home/pig.txt 文件 移动到 /root 目录下mv pig.txt /root/11、cat指令(查看文件内容,以只读的方式打开)(1)基本语法cat [选项] 要查看的文件(2)常用选项-n :显示行号(3)应用实例案例1: /ect/profile 文件内容,并显示行号cat -n /etc/profile|more(4)使用细节cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more12、more指令(1)功能more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的容。more指令中内置了若干快捷键。
(2)基本语法more 要查看的文件(3)应用实例案例: 采用more查看文件/etc/profilemore /etc/profile13、less指令(显示大型文件具有较高的效率)(1)功能less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
(2)基本语法less 要查看的文件(3)应用实例案例: 采用less查看一个大文件文件/opt/金庸-射雕英雄传txt精校版.txtless /opt/金庸-射雕英雄传txt精校版.txt14、echo指令(echo输出内容到控制台)(1)基本语法echo [选项] [输出内容](2)应用实例案例: 使用echo 指令输出环境变量echo $PATH案例: 使用echo 指令输出 hello,world!echo 'hello,world!'15、head指令(1)功能head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容(2)基本语法head 文件 (功能描述:查看文件头10行内容)head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)(3)应用实例案例: 查看/etc/profile 的前面5行代码head -n 5 /etc/profile16、tail指令(1)功能tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容。(2)基本语法1) tail 文件 (功能描述:查看文件后10行内容)2) tail -n 5 文件 (功能描述:查看文件后5行内容,5可以是任意行数)3) tail -f 文件 (功能描述:实时追踪该文档的所有更新)(3)应用实例案例1: 查看/etc/profile 最后5行的代码tail -n 5 /etc/profile案例2: 实时监控 mydate.txt , 看看到文件有变化时,是否看到, 实时的追加日期tail -f mydate.txt17、> 指令 和 >> 指令(1)功能> 输出重定向和 >> 追加(2)基本语法1) ls -l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))2) ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)3) cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)4) echo "内容" >> 文件(3)应用实例案例1: 将 /home 目录下的文件列表 写入到 /home/info.txt 中ls -l /home/ > /home/info.txt/案例2: 将当前日历信息 追加到 /home/mycal 文件中cal >> /home/mycal18、ln指令(1)功能软链接也成为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径(2)基本语法ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)(3)应用实例案例1: 在/home 目录下创建一个软连接 linkToRoot,连接到 /root 目录ln -s /root linkToRoot案例2: 删除软连接 linkToRootrm -rf linkToRoot(4)细节说明当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录。19、history指令(1)功能查看已经执行过历史命令,也可以执行历史指令(2)基本语法history (功能描述:查看已经执行过历史命令)(3)应用实例案例1: 显示所有的历史命令history案例2: 显示最近使用过的10个指令history 10案例3:执行历史编号为5的指令!5
4.4时间日期类
1、date指令-显示当前日期(1)基本语法1) date (功能描述:显示当前时间)2) date +%Y (功能描述:显示当前年份)3) date +%m (功能描述:显示当前月份)4) date +%d (功能描述:显示当前是哪一天)5) date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)(2)应用实例案例1: 显示当前时间信息date案例2: 显示当前时间年月日date "+%Y-%m-%n"案例3: 显示当前时间年月日时分秒date "+%Y-%m-%n %H:%M:%S"2、date指令-设置日期(1)基本语法date -s 字符串时间(2)应用实例案例1: 设置系统当前时间 , 比如设置成 2020-11-11 11:22:22date -s "2020-11-11 11:22:22"3、cal指令查看日历指令(1)基本语法cal [选项] (功能描述:不加选项,显示本月日历)(2)应用实例案例1: 显示当前日历cal案例2: 显示2020年日历cal 2020
4.5搜索查找类
1、find指令find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。(1)基本语法find [搜索范围] [选项](2)选项说明
(3)应用实例案例1: 按文件名:根据名称查找/home 目录下的hello.txt文件find /home -name hello.txt案例2:按拥有者:查找/opt目录下,用户名称为 nobody的文件find /opt -user nobody案例3:查找整个linux系统下大于200m的文件(+n 大于 -n小于 n等于)find / -size +200M 小写k2、locate指令locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。(1)基本语法locate 搜索文件(2)特别说明由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。(3)应用实例案例1: 请使用locate 指令快速定位 hello.txt 文件所在目录updatedblocate hello.txt3、grep指令和管道符号 |grep过滤查找,管道符,“|”表示将前一个命令的处理结果输出传递给后面的命令处理。(1)基本语法grep [选项] 查找内容 源文件(2)常用选项-n 显示匹配行及行号-i 忽略字母大小写(3)应用实例案例1: 请在 hello.txt 文件中,查找 "yes" 所在行,并且显示行号cat hello.txt | grep -n yes 区分大小写cat hello.txt | grep -ni yes 不区分大小写
4.6压缩和解压类
1、gzip/gunzip 指令gzip 用于压缩文件, gunzip 用于解压的(1)基本语法gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)gunzip 文件.gz (功能描述:解压缩文件命令)(2)应用实例案例1: gzip压缩, 将 /home下的 hello.txt文件进行压缩gzip /home/hello.txt案例2: gunzip压缩, 将 /home下的 hello.txt.gz 文件进行解压缩gunzip /home/hello.txt.gz2、zip/unzip 指令zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的(1)基本语法zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)unzip [选项] XXX.zip (功能描述:解压缩文件)(2)zip常用选项-r:递归压缩,即压缩目录(3)unzip的常用选项-d<目录> :指定解压后文件的存放目录(4)应用实例案例1: 将 /home下的 所有文件进行压缩成 mypackage.zipzip -r mypackage.zip /home/案例2: 将 mypackge.zip 解压到 /opt/tmp 目录下unzip -d /opt/tmp/ mypackage.zip3、tar 指令tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。(1)基本语法tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)(2)选项说明
(3)应用实例案例1: 压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gztar -zcvf a.tar.gz a1.txt a2.txt案例2: 将/home 的文件夹 压缩成 myhome.tar.gztar -zcvf myhome.tar.gz /home/案例3: 将 a.tar.gz 解压到当前目录tar -zcvf a.tar.gz案例4: 将myhome.tar.gz解压到/opt/目录下(该目录须存在)tar -zcvf myhome.tar.gz -C /opt/
5、实操篇-组管理和权限管理
5.1Linux组的基本介绍
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。1) 所有者2) 所在组3) 其它组4) 改变用户所在的组
5.2文件/目录 所有者
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。1、查看文件的所有者1)指令:ls –ahl2)应用实例:创建一个组police,再创建一个用户tom,将tom放在police组,然后使用tom来创建一个文件ok.txt。groupadd policeuseradd -g police tompasswd tomtouch ok.txtls -ahl 显示ok.txt的所有者是tom2、修改文件所有者1)指令:chown 用户名 文件名2)应用案例 要求:使用root 创建一个文件apple.txt ,然后将其所有者修改成zhangfeichown zhangfei apple.txt3、组的创建(1)基本指令groupadd 组名(2)应用实例:创建一个组, monstergroupadd monster创建一个用户 fox ,并放入到 monster组中useradd -g monster fox4、文件/目录 所在组当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。查看文件/目录所在组(1)基本指令ls –ahl修改文件所在的组(2)基本指令chgrp 组名 文件名(3)应用实例使用root用户创建文件 orange.txt ,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 fruit组。chgrp fruit orange.txt5、其它组除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。6、改变用户所在组在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。(1)改变用户所在组1) usermod –g 组名 用户名2) usermod –d 目录名 用户名 改变该用户登陆的初始目录。(2)应用实例将 zwj 这个用户从原来所在组,修改到 wudang 组。usermod -g wudang zwj7、权限的基本介绍ls -l 中显示的内容如下:-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc0-9位说明1) 第0位确定文件类型(d, - , l , c , b)2) 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。---User3) 第4-6位确定所属组(同用户组的)拥有该文件的权限,---Group4) 第7-9位确定其他用户拥有该文件的权限 ---Other
8、rwx权限详解(1)rwx作用到文件1) [ r ]代表可读(read): 可以读取,查看2) [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.3) [ x ]代表可执行(execute):可以被执行(2)rwx作用到目录1) [ r ]代表可读(read): 可以读取,ls查看目录内容2) [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录3) [ x ]代表可执行(execute):可以进入该目录9、文件及目录权限实际案例ls -l 中显示的内容如下:-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc10个字符确定不同用户能对文件干什么第一个字符代表文件类型: 文件 (-),目录(d),链接(l)其余字符每3个一组(rwx) 读(r) 写(w) 执行(x)第一组rwx : 文件拥有者的权限是读、写和执行第二组rw- : 与文件拥有者同一组的用户的权限是读、写但不能执行第三组r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行可用数字表示为: r=4,w=2,x=1 因此rwx=4+2+1=71 文件:硬连接数或 目录:子目录数root 用户root 组1213 文件大小(字节),如果是文件夹,显示 4096字节Feb 2 09:39 最后修改日期abc 文件名10、修改权限-chmod基本说明:通过chmod指令,可以修改文件或者目录的权限。1、第一种方式:+ 、-、= 变更权限u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)1) chmod u=rwx,g=rx,o=x 文件目录名2) chmod o+w 文件目录名3) chmod a-x 文件目录名案例演示1) 给abc文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限chmod u=rwx,g=rx,o=rx abc2) 给abc文件的所有者除去执行的权限,增加组写的权限chmod u-x,g+r abc3) 给abc文件的所有用户添加读的权限chmod a+r abc2、第二种方式:通过数字变更权限r=4 w=2 x=1 rwx=4+2+1=7chmod u=rwx,g=rx,o=x 文件目录名相当于 chmod 751 文件目录名• 案例演示要求:将 /home/abc.txt 文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现rwx=7r+x=3r+x=3chmod 733 /home/abc.txt
11、修改文件所在组-chgrp(1)基本介绍chgrp newgroup file 改变文件的所有组(2)案例演示:1) 请将 /home/abc.txt文件的所在组修改成 shaolin (少林)chgrp shaolin /home/abc.txt2) 请将 /home/kkk 目录下所有的文件和目录的所在组都修改成 shaolin(少林)chgrp -R shaolin /home/kkk/12、修改文件所有者-chown(1)基本介绍chown newowner file 改变文件的所有者chown newowner:newgroup file 改变用户的所有者和所有组-R 如果是目录 则使其下所有子文件或目录递归生效(2)案例演示:1) 请将 /home/abc.txt 文件的所有者修改成 tomchown tom /home/abc.txt2) 请将 /home/kkk 目录下所有的文件和目录的所有者都修改成tomchown -R tom /home/kkk/13、最佳实践-警察和土匪游戏police ,banditjack, jerry: 警察xh, xq: 土匪(1) 创建组bash>groupadd policebash>groupadd bandit(2) 创建用户useradd -g police jackuseradd -g police jerryuseradd -g bandit xhuseradd -g bandit xq(3) jack 创建一个文件,自己可以读写,本组人可以读,其它组没人任何权限chmod 640 jack01.txt(4) jack 修改该文件,让其它组人可以读, 本组人可以读写chamod o=r,g=rw jack.txt(5) xh 投靠警察,看看是否可以读写usermod -g police xh使用jack给他的家目录/home/jack的所在组一个rx的权限hcmod g=rx jack/xh可以对jack01.txt进行读修
6、javaEE定制篇
6.1、安装jdk
(1)将/opt目录下的jdk压缩文件解压
tar -zxvf 压缩文件 ===》解压该文件
(2)进入到解压文件夹目录下的bin目录可执行 ./java ./javac 命令
(3)配置环境变量 vim /etc/profile
输入G到末尾,输入i进入编辑模式
JAVA_HOME=/opt/jdk1.8.0_79
PATH=/opt/jdk1.8.0_79/bin:$PATH
export JAVA_HOME PATH
输入wq保存并退出
(4)需要注销用户,环境变量才能生效
如果在 3 运行级别,logout即可
如果在 5 运行级别,linux系统首页点击注销后重新登录
6.1.1、检测jdk安装是否成功
(1)vim Hello.java
(2)javac Hello.java
(3)java Hello
6.2、安装tomcat
(1)解压tomcat压缩文件
tar -zxvf 压缩文件 ===》解压该文件
(2)启动tomcat
进入到tomcat的bin目录
执行 ./startup.sh
(3)火狐浏览器访问 http://localhost:8080
(4)解决在本机也可以访问 192.168.133.128:8080 防火墙的问题
service iptables status ===》 查看8080端口是否开启
(5)开放8080端口: 执行 vim /etc/sysconfig/iptables
执行yyp复制22端口的一行,将22端口改为8080,保存并退出
(6)重启防火墙即可 service iptables restart
6.3、安装eclipse
(1)解压eclipse压缩文件
(2)打开eclipse,cd到eclpse目录下执行./eclipse
(3)创建jsp页面并运行,启动前需关闭tomcat
6.4、安装mysql
1、保证网络连通
2、进入到压缩文件目录/opt下,检测有没有安装过mysql
rpm -qa | grep mysql
存在:
rpm -e mysql-libs 删掉
rpm -e —nodeps mysql-libs 强制删掉
3、安装C编译代码需要的包,需要联网
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
4、解压mysql压缩文件
5、cd到解压后的mysql目录
6、编译
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc
-DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
7、安装(大概30分钟)
make && make install
8、配置mysql:查看mysql是否有用户和用户组
查看用户:cat /etc/passwd
查看用户组:cat /etc/group
9、增加mysql组,创建mysql用户并添加到mysql组
groupadd mysql
useradd -g mysql mysql
10、修改/usr/local/mysql权限
改变所有者和组:chown mysql:mysql /usr/local/mysql/
11、初始化配置
(1)切换到/usr/local/mysql/目录
cd /usr/local/mysql/
(2)执行初始化指令
scripts/mysql_install_db —basedir=/usr/local/mysql
—datadir=/usr/local/mysql/data —user=mysql
12、注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索”$basedir/my.cnf”,在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!
注意:在CentOS 6.8版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
修改名称,防止干扰:
(1)查看是否存在my.cnf
ls -l /etc/m
(2)如果存在则执行以下指令
mv /etc/my.cnf /etc/my.cnf.bak
13、启动mysql,添加服务,拷贝服务脚本到init.d目录,并设置开机启动
(1)cd到/usr/local/mysql
(2)cp support-files/mysql.server /etc/init.d/mysql
(3)chkconfig mysql on 开机自启
(4)service mysql start 启动
(5)netstat -anp | more 此时3306端口已经开始监听
14、执行下面的命令修改root密码
cd /usr/local/mysql/bin
./mysql -uroot
mysql> SET PASSWORD = PASSWORD(‘root’);
15、配置mysql环境变量
16、刷新 source /etc/profile 或者注销当前用户
7、大数据定制篇-shell编程
7.1、快速入门案例


1、创建文件夹myshell mkdir myshell
2、创建文件myShell.sh vim myShell.sh
3、运行
3.1、方式一
1、给以执行权限 chmod 744 myShell.sh
2、相对路径执行 ./myShell.sh
3、绝对路径执行 /root/shell/myShell.sh
3.2、方式二(不推荐)
1、将权限修改回来 chmod 644 myShell.sh
2、执行 sh ./myShell.sh
7.2、shell的变量
8、问题
8.1、当xshell或ftp等连不上Linux系统
(1)查看sshd是否开启
(2)netstat -anp | more 查看linux的22号端口是否有监听
(3)service sshd restart 启动sshd
