Linux基础与搭建

Posted lpj-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础与搭建相关的知识,希望对你有一定的参考价值。

学习目标

  • 了解Linux的简介与安装
  • 掌握Linux常用的命令
  • 掌握Linux系统上JDKmysqlTomcat的安装

 Linux简介

2.1 Unix简介

Unix是一个强大的多用户、多任务操作系统。

1969年在AT&(美国电话电报公司}的贝尔实验室开发。

UNIX的商标权由国际开放标准组织(The Open Group)所拥有。

UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。不过UNIX有免费版的,例如:NetBSD等类似UNIX版本。

2.2 linux 简介

Linux起源于一个学生的简单需求。Linus Torvalds,Linux的作者与主要维护者,在其上大学时所买得起的唯一软件是Minix. Minix是一个类似Unix,被广泛用来辅助教学的简单操作系统。Linus Minix不是很满意,于是决定自己编写软件。他以学生时代熟悉的Unix作为原型, 在一台Intel 386 PC上开始了他的工作。他的进展很快,受工作成绩的鼓舞,他将这项成果通过互连网与其他同学共享,主要用于学术领域。有人看到了这个软件并开始分发。每当出现新问题时,有人会立刻找到解决办法并加入其中,很快的, Linux成为了一个操作系统。值得注意的是Linux并没有包括Unix源码。它是按照公开的POSIX标准重新编写的。Linux大量使用了由麻省剑桥免费软件基金的GNU软件,同时Linux自身也是用它们构造而成。

Linux是一套免费的类Unix操作系统

Linux是一套免费使用和自由传播的类Unix操作系统,可以任意修改其源

Linux存在着许多不同的Linux、版本,但它们都使用了Linux内核。

技术图片

 

Linux可安装在各种计算机硬件设备中,手机、平板、台式、笔记本、大型机和超级计算机。

Linux操作系统诞生于1991105,芬兰大学生林纳斯一托瓦兹[Linux Torvalds)和后来陆续加入的众多爱好者共同开发完成。

Linux的特点:它是多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性。

Linux的基本思想有两点:第一,一切都是文件;第二每个软件都有确定的用途。

 

1.1 linux的分类

 

1.1.1 Linux根据市场需求不同,基本分为两个方向:

1)图形化界面版:注重用户体验,类似window操作系统,但目前成熟度不够

2)服务器版:没有好看的界面,是以在控制台窗口中输入命令操作系统的,类似于DOS,是我们部署服务器的最佳选择

 

1.1.2 Linux根据原生程度,又分为两种:

1)内核版本:在Linus领导下的内核小组开发维护的系统内核的版本号

2)发行版本:一些组织或公司在内核版基础上进行二次开发而重新发行的版本

 

 

1.2 Linux主流版本

 技术图片

 

 

 

1.2.1 Redhatlinux

Red hat领导着Linux的开发、部署和经营,从嵌入式设备到安全网页服务器,它都是用开源软件作为Internet基础设施解决方案的领头羊。

Red Hat解决方案包括Red Hat Linux、开发人员和嵌入式技术,以及培训、管理和技术支持。(收费)

 

1.2.2 Ubuntu

    Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统

    Ubunt的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。为桌面虚拟化提供支持平台

 

1.2.3 Centos

CentOSLinux发行版之一。

Red  Hat Enterprise Linux提供的源代码编译而成。很多公司使用CentOS替代商业版RedHat 。Red HatCentOS差别不大,Red Hat LinuxCentos系统是免费的. Red Hat Linux服务是收费的』比如免费版本不支持在线升级 

CentOS每个版本服务都是免费的.

 

 

 

 

 

 

 

安装虚拟机

 

2.1 什么是虚拟机

虚拟机:指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以使你在一台机器上同时运行二个或更多WindowsLINUX系统。它可以模拟一个标准PC环境。这个环境和真实的计算机一样,都有芯片组CPU、内存、显卡声卡网卡软驱、硬盘、光驱串口并口USB控制器

 

2.1.1 VMware Workstation(中文名“威睿工作站”)

  • 是一款功能强大的桌面虚拟计算机软件,收费的。VMware是全球桌面到数据中心虚拟化解决方案的领导厂商

 

2.1.2 Virtualbox

是一款开源虚拟机软件。VirtualBox、是由德国Innotek公司开发,由Sun出品的软件,在SunOracle收购后正式更名成Oracle VM VirtualBox

 

2.2 安装虚拟机

 技术图片

 

 双击打开基本上傻瓜式安装这里不在介绍

 

2.3 虚拟机上安装centos7

 

2.3.1 创建配置虚拟机

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

2.3.2 打开虚拟机开始安装

 技术图片

 

 技术图片

用鼠标点击,然后用上下箭头选中并回车

 技术图片

回车 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 

开始安装

 

2.3.3 设置root密码

 技术图片

 

 技术图片

 

 

2.3.4 设置普通用户

 技术图片

 

 技术图片

 

 技术图片

 

 

安装完成以后,重启liunx

 

 

 

 

 

3 Linux 目录结构

 技术图片

  • Bin存放可执行文件
  • Boot存放用于系统引导使用的各种文件
  • Dev存放设备文件
  • etc 存放系统配置文件
  • Home 存放用户文件的根目录
  • Lib存放和文件系统程序运行所需的共享库及内核模块
  • Proc目录中的数据在内存中如系统核心,外部设备,网络状态由于数据都在内存中,所以不占用磁盘空间
  • Usr应用程序存放的根目录usr/bin 存放应用程序 Usr/share  存放共享数据 usr/local 存放软件升级包
  • Var 放置系统执行过程中经常变化的文件,如随时更改的日志文件var/log

 

4 Linux基本命令

 

Linux基本没有图形化页面,一般使用命令去控制操作系统类似dos命令Linux命令很多,这里只介绍常用的命令。

 

4.1 目录管理

4.1.1 ls

作用列出目录内   语法:Is[参数」【文件或目录]

常用: -a-all列出所有文件和目录.包含隐藏的  -I使用详细格式列表,此命令非常常用  II  /home/ 显示指定目录下的内容  -t用文件和目录的更改时间排序。

           -r反向排序

4.1.2 cd

       作用 切换目录 语法cd 目录

       常用 cd ~   换当前用户目录   cd /  切换到根目录   cd – 切换上一次访问目录  cd .. 切换一级目录  cd   缺省当前用户目录 

4.1.3 pwd

        作用 显示当前工作目录  语法: pwd 

4.1.4 mkdir

作用创建目录  语法mkdir参数    -p父目录不存在情况下先生成父目录(parents)   -v显示命令执行过程中的详细信息 常用mkdir –pv ./a/111

4.1.5 rmdir

作用删除空目录, 必须空目录  语法rmdir 目录名  要想删除空目录 需使用 rm –rf 目录

 

4.2 文件浏览

4.2.1 cat     作用;显示文件内容        语法cat 文件

 

4.3 文件或目录操作管理  复制、移动、删除、查找

4.3.1 cp  作用:复制文件或目录   语法cp [参数] [源文件或目录] [目标文件或目录]

-r 递归处理 ,指指定目录下的文件及子文件一并处理    常用: cp  –r ./a  ./c  a 目录下的所有文件拷贝到c目录

4.3.2 mv 作用:移动或更名现有的文件或目录 语法:mv [参数] [源文件或目录][目标文件或目录]

 常用mv  /a/a1.log   b/a1.loga目录下的文件剪切到b 目录下    mv /a/a1.log b/b1.log a目录下的文件剪切到b目录重新命名为b1.log

 mv  a  b 把目录a 名为b

4.3.3 rm  作用删除文件或目录 语法rm [-dfirv] [文件或目录]

 -f 强制删除文件目录   -r 递归处理 常用:rm a.log  有询问是否删除 rm –f a.log直接删除,不询问是否删除  rm –rf a.log 直接级联删除,不询问是否删除

4.3.4 find

作用查找文件目录  语法find [][参数]        -name 指定字符串或寻找文件或目录的范本样式  常用find /usr/ -name ‘ab*’

 

4.4 文档编辑

4.4.1 Vi vim 命令 作用:对文件进行编辑 语法vim [文件名]

 一般操作步骤如下:

 1) 输入vim文件名”进入“一般模式” 

2) 按下i”从一般模式,进入“插入模式”

3) 按下esc”从“插入模式”退出到“一般模式”

4) “一般模式”下,输入“:wq 保存退出编辑。

常用命令:

 技术图片

 

 

 

4.4.2 创建文件

文件的创建(增)

命令:touch 文件名称  ----- 空文件

 技术图片

 

 

 

 

4.5 系统命令

4.5.1 grep

作用用于过滤、搜索特定字符 可配合正表达式使用  语法:grep [option] pattern [file]     -c 输出匹配的行数  -i  忽略大小写

4.5.2 ps

作用用来查看系统进程信息 格式ps [参数]   -e 显示进程  -f 显示UID,PPIP,C,STIME 信息 

们启动一个进程

 技术图片

查看该进程

重新打开一个终端

 技术图片

4336 就是该进程的端口

 

4.5.3 kill

作用终止一个进程 语法kill [参数][程序]  常用Kill -9 进程ID  9表示强制终止

,终止上图中的ping 进程

 技术图片

 

 

4.5.4 Ifconfig

作用显示系统网络命令

常用

 技术图片

4.5.5 ping

作用测试网络是否连通   语法pingIP地址

 技术图片

4.5.6 tar

 作用压缩命令,文件解压缩

语法tar 命令

技术图片

一般压缩文件的后缀为.tar.gz

 

l 压缩

test 的目录的文件进行压缩下面命令

 技术图片

 

 

l 解压缩

把文件解压缩到当前目录

 技术图片 

把压缩文件解压缩到指定的目录。-C 后跟 要解压缩的路径

C 字母

 技术图片

 

 

 

4.5.7 关机重启

重启:reboot

关机halt

 

4.5.8 修改系统语言

Centos 7已经不采用/etc/sysconfig/i18n这一个文件来做配置cent0s6.5 采用),而改为使用/etc/locale.conf这个来进行语言配置。

使用vim命令进去,vim /etc/locale.conf

进入以后只有简单的一句LANG="en_US.UTF-8" 这个配置

 

 

 

4.5.9 其它常用命令

 

#以操作防火墙为例子

启动一个服务:systemctl start firewalld.service  #防火墙
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

配置firewalld-cmd

查看版本: firewall-cmd --version

查看帮助: firewall-cmd --help

显示状态: firewall-cmd --state

查看所有打开的端口: firewall-cmd --zone=public --list-ports

更新防火墙规则: firewall-cmd --reload

查看区域信息:  firewall-cmd --get-active-zones

查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0

拒绝所有包:firewall-cmd --panic-on

取消拒绝状态: firewall-cmd --panic-off

查看是否拒绝: firewall-cmd --query-panic

那怎么开启一个端口呢

第一步:添加

 

firewall-cmd --zone=public --add-port=80/tcp --permanent

   (--permanent永久生效,没有此参数重启后失效)

第二步:重新载入

firewall-cmd --reload

查看

firewall-cmd --zone= public --query-port=80/tcp

删除

firewall-cmd --zone= public --remove-port=80/tcp –permanent

重启网络;

service network restart

 

 

 

4.6 文件权限

权限是Linux中的重要概念,每个文件/目录等都具有权限,通过ls -l命令我们可以 查看某个目录下的文件或目录的权限

示例:在随意某个目录下ls -l

技术图片

技术图片

 

 

 

技术图片

r:代表权限是可读,r也可以用数字4表示

w:代表权限是可写,w也可以用数字2表示

x:代表权限是可执行,x也可以用数字1表示

 

属主(user

属组(group

其他用户

r

w

x

r

w

x

r

w

x

4

2

1

4

2

1

4

2

1

 

修改文件/目录的权限的命令:chmod

示例:修改/test下的aaa.txt的权限为属主有全部权限,属主所在的组有读写权限

其他用户只有读的权限

chmod u=rwx,g=rw,o=r aaa.txt

 技术图片

上述示例还可以使用数字表示

chmod 764 aaa.txt

 

 

 

 

 

 

 

4.7 虚拟机网络配置

三种模式:Bridge桥接模式、NAT模式、Host-only仅主机模式:

 

4.7.1 桥接模式

虚拟机使用真实网卡进行通信,配置简单;只要和真实计算机在同一个网段内,就可以直接通信;局域网内如果有其他计算机,也可以进行访问。缺点:会占用网段内的一个IP地址。(类似于一台真正独立的计算机)

 

参考http://blog.csdn.net/ltr15036900300/article/details/48828207

 

4.7.2 NAT模式

 

使用虚拟网卡VMnet8进行通信;只能和本机进行通信;在此基础上,虚拟机可通过主机访问互联网

 

4.7.3 仅主机模式

 

使用虚拟网卡VMnet1进行通信;只能和本机进行通信;不能访问互联网。

 

参考:http://blog.csdnnet/ltr15036900300/article/details/4882820

 

VMwarecentos桥接模式静态ip配置

 

 

 

4.8 远程连接工具 ssh连接该静态ip

实际开发中,Linux服务器都有固定的机房,我们一般要通过远程的方式去连接Linux并操作它,Linux远程的操作工具有很多,企业中常用的有PuttyXshellsecureCRTSSH Secure等。

 

服务器上 ifconfig---得到主机ip,打开ssh连接输入

IP--------

Root

22

1111111

 

1、 使用putty 连接

技术图片

 

 

 技术图片

 

 

 技术图片

 

 

 

 

4.9 安装jdk      ssh中上传下列文件安装

rpm与软件相关命令 相当于window下的软件助手 用来管理软件

 

4.9.1 卸载openjdk

Centos 默认安装了open jdk , 我们通过命令一下

输入 rpm -qa | grep java

-q :表示查询单个文件

-qa :表示查询所有

 技术图片

执行卸载命令: 卸载jdk 1.8 jdk 1.7

rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64

rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-3.b13.el7_2.x86_64

rpm -e --nodeps  java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64

rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64

 

4.9.2 上传jdk linux

通过工具把windowsjdk上传centos。该工具我们使用

技术图片

 

点击上图进行 工具安装。

安装完成功以后,运行,输入地址和密码

 技术图片

 

 

 

l 把本机的jdk 上传linux

 技术图片

页面左侧为windows内容右侧centos 目录,选择要上传的文件,右键上传即.

 

1.1.1 解压缩jd

把压缩文件解压到 指定的目录 /usr/local/

tar jdk-8u144-linux-x64.tar.gz  -C /usr/local/

 

4.9.3 配置jdk

 技术图片

把下面的文件加入到profile ,如上图

 

export JAVA_HOME=/usr/local/jdk1.8.0_144

export PATH=$JAVA_HOME/bin:$PATH

 

4.9.4 加载配置即使配置生效

 技术图片

source /etc/profile

 

4.9.5 测试 jdk配置是否成功

 技术图片

出现上面提示表示成功

 

4.10 安装mysql

4.10.1 安装mysql

1.下载安装包

本教程提供mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz

 

2.卸载系统自带的Mariadb

打开Terminal终端:

  // 查询出来已安装的mariadb,mariadbmysql 的一个分支

[root@localhost ~]# rpm -qa|grep mariadb

// 卸载mariadb,文件名为上述命令查询出来的文件

 [root@localhost ~]# rpm -e --nodeps [查询出来的文件名]

 

3、删除etc目录下的my.cnf

[root@localhost ~]# rm /etc/my.cnf

 

4、执行以下命令来创建mysql用户组

[root@localhost ~]# groupadd mysql

 

5、执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组

[root@localhost ~]# useradd -g mysql mysql

 

6、上传安装包

用工具上传到soft

 

7、把安装包解压放到 /usr/local/ 目录下(通过mv 要移动的文件  /usr/local/)

  1. 解压tar –zxvf /soft/mysql-5.6.37-linux-glibc2.12-x86_64.tar –C /usr/local/
  2. 改名:切到local 目录下

 

8、将解压好的文件夹重命名为mysql

mv mysql-5.6.37-linux-glibc2.12-x86_64  mysql

 

9、进入安装mysql软件目录

[root@localhost ~]# cd /usr/local/mysql

[root@localhost mysql]# chown -R mysql:mysql ./       修改当前目录拥有着为mysql用户

[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 安装数据库

注:若执行以上最后一个命令出现以下问题:

FATAL ERROR: please install the following Perl modules before executing

./scripts/mysql_install_db:Data::Dumper

 

解决方法 :安装autoconf库

命令: yum -y install autoconf   //此包安装时会安装Data:Dumper模块

安装完成重新执行上述最后一个命令

重新回到上述第三个命令继续操作:

[root@localhost mysql]# chown -R mysql:mysql data 修改当前data目录的拥有者为mysql用户

到此数据库安装完毕!

 

4.10.2 配置MySQL

1、复制启动脚本到资源目录

[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

2、增加mysqld服务控制脚本执行权限

[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld

3、将mysqld服务加入到系统服务

[root@localhost mysql]# chkconfig --add mysqld

4、检查mysqld服务是否已经生效

[root@localhost mysql]# chkconfig --list mysqld

命令输出类似下面的结果:

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止

命令为:service mysqld start和service mysqld stop

 

5、启动mysqld

[root@localhost mysql]# service mysqld start

6、将mysql的bin目录加入PATH环境变量,编辑 ~/.bash_profile文件

[root@localhost mysql]# vim ~/.bash_profile

在文件最后添加如下信息:

export PATH=$PATH:/usr/local/mysql/bin

然后按ESC键

继续 shift键加冒号打出来=>  :

接下来输入wq回车即可

执行下面的命令是修改的内容立即生效:

[root@localhost mysql]# source ~/.bash_profile

7、以root账户登录mysql,默认是没有密码的

[root@localhost mysql]# mysql -uroot -p

要输入密码的时候直接回车即可。

8、设置root账户密码为root(也可以修改成你要的密码)

mysql>use mysql

mysql>update user set password=password(‘root‘) where user=‘root‘ and host=‘localhost‘;

mysql>flush privileges;

9、设置远程主机登录,注意下面的your username 和 your password改成你需要设置的用户和密码

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘root‘ WITH

GRANT OPTION;

 

10、如果windows客户端要访问mysql .需要执行防火墙的配置

 

4.10.3 配置防火墙

开放Linux的对外访问的端口3306

 

firewall -cmd --zone=public –add -port=3306/tcp --permanent

 

--permanent永久生效,没有此参数重启后失效)

#重新载入

 

firewall -cmd –reload

 

 

 

4.11 安装tomcat

 

1)上传Tomcatlinux

 

2)解压Tomcat/usr/local

 

3)开放Linux的对外访问的端口8080

 

添加

firewall-cmd --zone=public --add-port=8080/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)

重新载入

firewall-cmd --reload

 

 

 (--permanent永久生效,没有此参数重启后失效)

 

 

4)启动关闭Tomcat

进入tomcatbin下启动:./startup.sh

进入tomcatbin下关闭:./shutdown.sh

 

以上是关于Linux基础与搭建的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础,系统概叙与虚拟机搭建+CentOS系统安装(建议收藏)

linux12 - dockerfile05 --> Dockerfile基础命令和个人blog搭建

Linux初学须知(Linux发展史环境搭建基础语法)

Linux初学须知(Linux发展史环境搭建基础语法)

Linux初学须知(Linux发展史环境搭建基础语法)

Linux系统介绍与环境搭建准备