cyfuer

Dec 24, 2016

Linux

 

1 Linux

1.1 定义

开源免费的操作系统(用于管理计算机软件、硬件资源的系统软件)。安全性、稳定性、高并发处理能力较好,但没有优异的可视化界面(可视化界面功能比较单薄,多数是终端命令行操作)
 

1.2 发行版本

  • linus在1991年开发linux内核程序(大部分的功能都在内核里实现了,其他软件组织和公司在内核基础之上开发出了不同版本)
  • Ubuntu(乌班图)
  • RedHat(红帽)
  • CentOS
  • Debian(蝶变)
  • Fedora
  • SuSE
  • OpenSUSE
  • 红旗Linux(国产)
 

1.3 安装Linux

  • 安装虚拟机
  • 下载Linux系统镜像
  • 新建Linux(CentOS)虚拟机
    • notion image
       

1.4 Linux目录

Linux没有炫目的可视化操作界面,它的操作大部分都是直接执行命令,而可执行文件都是保存在相应的目录中的,所以我们对linux的操作大多数时候都是查找和执行这些可执行文件的。
linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
在Linux世界里,一切皆文件。
notion image
  1. root : 该目录为系统管理员目录,root是具有超级权限的用户。
  1. bin->usr/bin : 存放系统预装的可执行程序,这里存放的可执行文件可以在系统的任何目录下执行。
  1. usr是linux的系统资源目录,里边存放的都是一些系统可执行文件或者系统依赖的一些文件库。
  1. usr/local/bin:存放用户自己的可执行文件,同样这里存放的可执行文件可以在系统的任何目录下执行。
  1. lib->usr/lib: 这个目录存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
  1. boot : 这个目录存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
  1. dev:dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,Linux中的设备也是以文件的形式存在。
  1. etc: 这个目录存放所有的系统管理所需要的配置文件。
  1. home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名,叫作用户的根目录;用户登录以后,默认打开自己的根目录。
  1. var : 这个目录存放着在不断扩充着的东西,我们习惯将那些经常被修改的文件存放在该目录下,比如运行的各种日志文件。
  1. mnt : 系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容
  1. opt: 这是给linux额外安装软件所存放的目录。比如你安装一个Oracle数据库则就可以放到这个目录下,默认为空。
  1. tmp: 这个目录是用来存放一些临时文件的。

2 Linux远程操作

2.1 Linux的远程操作

服务器通常部署在公司Linux系统上的,由各开发小组共享的,因此程序员需要远程登录到centos进行项目管理或者开发。远程登录客户端有Xshell、Xftp等多种工具 , 我们学习使用Xshell和Xftp , 其它的远程工具大同小异。

2.2 Xshell

Linux的终端模拟软件,支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。
notion image
 

2.3 Xftp

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

3 Linux系统管理

3.1 vi 和 vim

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

3.2 Linux用户管理

linux系统安装时默认创建系统管理员账号(root账户),root账户可以管理其他账户。以管理员身份登录可以执行以下命令:
 

3.3 Linux组管理

linux中的组相当于角色的概念,可以对有共性的用户进行统一管理;每个用户至少属于一个组。创建用户时如果不指定组,会默认创建一个跟用户名相同的组,并且把新创建的用户分配到组中,root用户默认属于root组。
 

3.4 Linux系统操作命令

 

3.5 Linux帮助命令

 

3.6 目录操作命令

 

3.7 文件操作命令

 
more指令:基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
notion image
 
less指令:与more指令类似,但在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
notion image
 
 
 
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位):其它组用户权限,其它组用户对该文件所拥有的权限,表示方式同第一部分。
举例,如下图所示中
notion image
第一个文件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 网络配置

  1. 在linux中找到配置文件:/etc/sysconfig/network-scripts/ifcfg-ens33
  1. 修改以下字段的值
  1. 重启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
notion image
第四步:使配置文件生效
第五步:测试是否安装成功
 

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文件夹设置为存放数据库文件目录
notion image
执行后生成mysql的root账号
第八步:启用安全功能
生成RSA秘钥对,对在服务器与客户机之间来回传输的所有数据进行加密。
notion image
第九步:修改mysql安装目录权限
把权限指定给创建的linux用户mysql
notion image
第十步:启动mysql
在mysql的bin目录里
 

Copyright © 2025 cyfuer

logo