1 Linux1.1 定义1.2 发行版本1.3 安装Linux1.4 Linux目录2 Linux远程操作2.1 Linux的远程操作2.2 Xshell2.3 Xftp3 Linux系统管理3.1 vi 和 vim3.2 Linux用户管理3.3 Linux组管理3.4 Linux系统操作命令3.5 Linux帮助命令3.6 目录操作命令3.7 文件操作命令3.8 Linux多用于脚本的命令3.9 Linux关于日期的命令3.10 Linux关于搜索的命令3.11 压缩与解压缩命令3.12 文件与组(这里的文件泛指文件和目录)3.13 网络配置3.14 进程管理3.15 服务管理3.16 软件包管理4 Linux搭建JaveEE运行环境4.1 安装JDK4.2安装tomcat4.3 安装mysql
1 Linux
1.1 定义
开源免费的操作系统(用于管理计算机软件、硬件资源的系统软件)。安全性、稳定性、高并发处理能力较好,但没有优异的可视化界面(可视化界面功能比较单薄,多数是终端命令行操作)
1.2 发行版本
- linus在1991年开发linux内核程序(大部分的功能都在内核里实现了,其他软件组织和公司在内核基础之上开发出了不同版本)
- Ubuntu(乌班图)
- RedHat(红帽)
- CentOS
- Debian(蝶变)
- Fedora
- SuSE
- OpenSUSE
- 红旗Linux(国产)
1.3 安装Linux
- 安装虚拟机
- 下载Linux系统镜像
- 新建Linux(CentOS)虚拟机

1.4 Linux目录
Linux没有炫目的可视化操作界面,它的操作大部分都是直接执行命令,而可执行文件都是保存在相应的目录中的,所以我们对linux的操作大多数时候都是查找和执行这些可执行文件的。
linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
在Linux世界里,一切皆文件。

- root : 该目录为系统管理员目录,root是具有超级权限的用户。
- bin->usr/bin : 存放系统预装的可执行程序,这里存放的可执行文件可以在系统的任何目录下执行。
- usr是linux的系统资源目录,里边存放的都是一些系统可执行文件或者系统依赖的一些文件库。
- usr/local/bin:存放用户自己的可执行文件,同样这里存放的可执行文件可以在系统的任何目录下执行。
- lib->usr/lib: 这个目录存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
- boot : 这个目录存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
- dev:dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,Linux中的设备也是以文件的形式存在。
- etc: 这个目录存放所有的系统管理所需要的配置文件。
- home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名,叫作用户的根目录;用户登录以后,默认打开自己的根目录。
- var : 这个目录存放着在不断扩充着的东西,我们习惯将那些经常被修改的文件存放在该目录下,比如运行的各种日志文件。
- mnt : 系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容
- opt: 这是给linux额外安装软件所存放的目录。比如你安装一个Oracle数据库则就可以放到这个目录下,默认为空。
- tmp: 这个目录是用来存放一些临时文件的。
2 Linux远程操作
2.1 Linux的远程操作
服务器通常部署在公司Linux系统上的,由各开发小组共享的,因此程序员需要远程登录到centos进行项目管理或者开发。远程登录客户端有Xshell、Xftp等多种工具 , 我们学习使用Xshell和Xftp , 其它的远程工具大同小异。
2.2 Xshell
Linux的终端模拟软件,支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。

2.3 Xftp
是一个基于windows平台的功能强大的SFTP、FTP文件传输软件。

3 Linux系统管理
3.1 vi 和 vim
linux中的文本编辑器,可以创建、查看、编辑文件,vim是vi的增强版。
vim编辑文件存在三种模式:
- 一般模式:vim打开文件默认就是一般模式,只能查看
- 编辑模式:在一般模式下,按
i
或者a
进入编辑模式,可以编辑文件内容
- 命令行模式:在一般模式下,按
:
进入命令行模式
输入
q!
不保存强制退出编辑器输入
q
退出编辑器vi和vim常用快捷键:
输入
wq
保存并退出编辑器

3.2 Linux用户管理
linux系统安装时默认创建系统管理员账号(root账户),root账户可以管理其他账户。以管理员身份登录可以执行以下命令:
3.3 Linux组管理
linux中的组相当于角色的概念,可以对有共性的用户进行统一管理;每个用户至少属于一个组。创建用户时如果不指定组,会默认创建一个跟用户名相同的组,并且把新创建的用户分配到组中,root用户默认属于root组。
3.4 Linux系统操作命令
3.5 Linux帮助命令
3.6 目录操作命令
3.7 文件操作命令
more指令:基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。

less指令:与more指令类似,但在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

vi或vim用在脚本中作为创建文件的命令无法生效; vi或vim每次只能创建一个文件
3.8 Linux多用于脚本的命令
3.9 Linux关于日期的命令
3.10 Linux关于搜索的命令
3.11 压缩与解压缩命令
3.12 文件与组(这里的文件泛指文件和目录)
3.12.1.权限管理基础
在linux中,每一个用户都至少属于一个组,用户不能独立于组存在,一个用户可以属于多个组。
在linux中,每一个文件也必须属于一个组,而且只能属于一个组。
文件或者目录通过组来控制哪些用户可以对它进行特定权限的操作。
在文件看来,linux系统中所有用户分为三类:
- 所有者:默认是创建者
- 同组用户:跟文件属于同一个组的用户
- 其它组用户:挤不上文件所有者,也不是同组用户
所有者相关操作命令
所在组相关操作命令
3.12.2.文件的三种权限:读(Read)、写(Write)、执行(Execute)
对于文件而言:
读:可以读取、查看文件的内容,如:cat、more、less、head、tail等。
写:可以修改文件的内容,如:vi或者vim等。
执行:如果该文件是可执行文件(如.sh文件),需要有执行权限才能直接运行,如:./xxx.sh等
对于目录而言:
读:可以读取、查看目录下面的内容,如:ls等。
写:可以修改目录中的内容,创建子目录、删除子目录、重命名目录、创建文件、删除文件、重命名文件
执行:可以进入该目录,比如:cd等。
3.12.3.文件的权限控制
在linux中,任何文件都有三部分权限:所有者权限、同组用户权限、其它组用户权限:
(1)第一部分权限(2~4位):所有者权限,所有者对该文件所拥有的的权限,使用r、w、x分别表示读、写、执行的权限。比如:rwx:拥有读写执行的权限,r-x:拥有读和执行的权限,r--:只拥有读的权限,---:没有任何权限。
(2)第二部分权限(5~7位):同组用户权限,同组的用户对该文件所拥有的权限,表示方式同第一部分。
(3)第三部分权限(8~10位):其它组用户权限,其它组用户对该文件所拥有的权限,表示方式同第一部分。
举例,如下图所示中

第一个文件
Gemfile
,第一列-rw-rr—-r--
表示文件的访问权限:第1位表示文件类型:- 表示文件;d 表示目录
第2~4位表示第一部分访问权限,即所有者权限:rw- 表示可读可写,当前用户为Rworld,即文件所有者(所有者看第三列),所以当前用户的权限根据第一部分访问权限
第5~7位表示第二部分访问权限,即同组用户权限(文件所属组看第四列,通过id 用户名 查看当前用户名所属组)
第8~10位表示第三部分访问权限,即其它组用户权限
root只是拥有管理用户的根权限,在文件读写时,与其他用户遵循一样的规则
3.12.4.查看文件的权限
3.12.5.修改文件的权限:chmod
用r、w、x分别表示读、写、执行的权限
用u、g、o、a分别表示给所有者、同组用户、其它组用户、所有用户修改权限
用+、-、=分别表示给指定的用户增加、减少、设置对应的权限
3.12.6.使用数字的方式修改文件的权限
rwx可以用一组二进制数
111
表示,r、w、x分别用第二位、第一位、第零位表示,即r、w、x存在时分别对应值4、2、1。比如一部分权限为r-x,即二进制数101,值为5
3.13 网络配置
- 在linux中找到配置文件:
/etc/sysconfig/network-scripts/ifcfg-ens33
- 修改以下字段的值
- 重启linux:reboot(最好的方式是直接重启网络服务,在下面会介绍)
3.14 进程管理
线程:一个程序的不同线路
进程:一个程序的执行,一个进程占用一个端口
进程相关命令:
3.15 服务管理
1)、服务是支持Linux运行的一些必要程序,本质上也是进程,叫守护进程。比如sshd、防火墙等。
2)、服务相关命令:systemctl [start、stop、restart、reload、status、enable] 服务名称
老版的linux或发行版本,操作服务使用service命令
3.16 软件包管理
1)RPM包管理
RPM是Linux常用的软件包打包(上网找RPM打包工具用来打包)和安装工具,它操作的软件包都是.rpm结尾。类似于windows里的exe。
使用RPM:rpm命令
2)YUM包管理
Yum是一个Shell前端软件包管理器,基于RPM包管理,能够从指定服务器自动下载PRM包并安装,可以自动处理软件包之间的依赖关系,并且一次安装所有依赖的软件包。
4 Linux搭建JaveEE运行环境
4.1 安装JDK
第一步:将安装包通过xftp5上传到服务器的目录/opt下
第二步:解压缩安装包
第三步:配置环境变量的配置文件
vim /etc/profile

第四步:使配置文件生效
第五步:测试是否安装成功
4.2安装tomcat
第一步:将安装包通过xftp5上传到服务器的目录/opt下
第二步:解压到当前目录
第三步:启动tomcat
4.3 安装mysql
第一步:检查是否安装了mariadb
检查linux是否安装了mariadb数据库,mariadb是mysql的分支,是免费开源的,会与mysql冲突。首先要检查并卸载掉。
第二步:上传mysql安装包到/opt下
第三步:解压mysql安装包
第四步:修改根目录名
第五步:创建数据文件夹data
data文件夹是mysql用来存放数据库文件的,默认没有,可以手动在mysql-5.7.18文件夹下创建data文件夹
第六步:创建用来执行mysqld命令的Linux用户
创建用户,用来执行MySQL的命令mysqld,一般用户名用mysql
第七步:初始化mysql
切换到mysql-5.7.18/bin目录
执行命令把data文件夹设置为存放数据库文件目录

执行后生成mysql的root账号
第八步:启用安全功能
生成RSA秘钥对,对在服务器与客户机之间来回传输的所有数据进行加密。

第九步:修改mysql安装目录权限
把权限指定给创建的linux用户mysql

第十步:启动mysql
在mysql的bin目录里