Linux基础与搭建
Posted lpj-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础与搭建相关的知识,希望对你有一定的参考价值。
1 学习目标
- 了解Linux的简介与安装
- 掌握Linux常用的命令
- 掌握Linux系统上JDK、mysql、Tomcat的安装
2 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操作系统诞生于1991年10月5,芬兰大学生林纳斯一托瓦兹[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
CentOS是Linux发行版之一。
由Red Hat Enterprise Linux提供的源代码编译而成。很多公司使用CentOS替代商业版RedHat 。Red Hat和CentOS差别不大,Red Hat Linux和Centos系统是免费的. Red Hat Linux服务是收费的』比如免费版本不支持在线升级
CentOS每个版本服务都是免费的.
2 安装虚拟机
2.1 什么是虚拟机
虚拟机:指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以使你在一台机器上同时运行二个或更多Windows、LINUX等系统。它可以模拟一个标准PC环境。这个环境和真实的计算机一样,都有芯片组、CPU、内存、显卡、声卡、网卡、软驱、硬盘、光驱、串口、并口、USB控制器等
2.1.1 VMware Workstation(中文名“威睿工作站”)
- 是一款功能强大的桌面虚拟计算机软件,收费的。VMware是全球桌面到数据中心虚拟化解决方案的领导厂商
2.1.2 Virtualbox
是一款开源虚拟机软件。VirtualBox、是由德国Innotek公司开发,由Sun出品的软件,在Sun被Oracle收购后正式更名成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.log把a目录下的文件剪切到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 #防火墙 配置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
VMware下centos桥接模式静态ip配置
4.8 远程连接工具 用ssh连接该静态ip
实际开发中,Linux服务器都有固定的机房,我们一般要通过远程的方式去连接Linux并操作它,Linux远程的操作工具有很多,企业中常用的有Putty、Xshell、secureCRT、SSH 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
l 通过工具把windows上的jdk上传到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,mariadb是mysql 的一个分支
[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/)
- 解压:tar –zxvf /soft/mysql-5.6.37-linux-glibc2.12-x86_64.tar –C /usr/local/
- 改名:切到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)上传Tomcat到linux上
2)解压Tomcat到/usr/local下
3)开放Linux的对外访问的端口8080
添加 firewall-cmd --zone=public --add-port=8080/tcp --permanent (--permanent永久生效,没有此参数重启后失效) 重新载入 firewall-cmd --reload
|
(--permanent永久生效,没有此参数重启后失效)
4)启动关闭Tomcat
进入tomcat的bin下启动:./startup.sh
进入tomcat的bin下关闭:./shutdown.sh
以上是关于Linux基础与搭建的主要内容,如果未能解决你的问题,请参考以下文章
Linux基础,系统概叙与虚拟机搭建+CentOS系统安装(建议收藏)