Linux
理解
linux就是基于Unix一款开源免费的操作系统。由于系统的稳定和安全性 几乎成为都有程序代码的最佳运行环境。由于开源 衍生出了很多Liunx的产品:centos、redcat、Ubuntu等
特点
1. 开源免费、高效安全、处理高并发能力很强 2. 服务器版:不安全图形化界面 直接使用命令 类似于dos 是我们架设服务器最佳的环境 3. 图形化界面版(不推荐使用)
安装
- 安装 虚拟机 VMware
- 创建一个虚拟机
- 安装 Linux(centos7)
- 配置网络连接 centos7 默认不会自动连接网络
命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33
命令:service network restart
# 重启网络
命令:ping www.baidu.com
# 测试
linux目录
Linux文件操作系统,一切皆文件
➢ /bin (/usr/bin 、 /usr/local/bin)
• 是Binary的缩写, 这个目录存放着最经常使用的命令
➢ /sbin (/usr/sbin 、 /usr/local/sbin)
• s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
➢ /home
• 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
➢ /root
• 该目录为系统管理员,也称作超级权限者的用户主目录。
➢ /lib
• 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
➢ /lost+found
• 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
➢ /etc
• 所有的系统管理所需要的配置文件和子目录
➢ /usr
• 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
➢ /boot
• 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里
➢ /proc
• 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
➢ /srv
• service缩写,该目录存放一些服务启动之后需要提取的数据。
➢ /sys
• 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
➢ /tmp
• 这个目录是用来存放一些临时文件的。
➢ /dev
• 类似于windows的设备管理器,把所有的硬件用文件的形式存储。
➢ /media
• linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
➢ /mnt
• 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。
➢ /opt
• 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
➢ /usr/local
• 这是另一个给主机额外安装软件所摆放的目录。一般是通过编译源码方式安装的程序。
➢ /var
• 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
➢ /selinux
• SELinux是一种安全子系统,它能控制程序只能访问特定文件。
Linux命令
目录操作
① 切换目录
cd 目录名 # 切换到指定目录
cd / # 切换到根目录
cd .. # 切换到上一级目录
cd - # 返回到跳转前的目录
pwd # 显示所在的目录
② 列出目录中的列表
ls # 显示整个目录中的目录名
ls -a # 显示包含隐藏文件的目录
ls -l # 显示目录中所有目录的详情信息
ls -al # 显示目录中包含隐藏文件的详细信息
补充:
clear # 清屏
ctrl+l # q清屏
③ 目录的创建和删除
mkdir 目录名 # 创建一个目录
mkdir -p 目录 # 创建多层目录
rmdir 目录 # 删除空目录
文件操作
① 创建文件
touch 文件名 # 创建一个空文件
② 拷贝文件
cp a.txt 目录 # 拷贝文件
cp a.txt 目录/b.txt # 拷贝并重命名
③ 移动文件
mv a.txt 目录 # 移动文件
mv a.txt 目录/b.txt # 移动并重命名
④ 删除文件
rm 文件名 # 带询问的删除
rm -f 文件名 # 不带询问的删除
rm -r 目录 # 带询问删除目录可以是多级目录
rm -rf 目录 # 不带询问删除目录可以是多级目录
rm -rf * # 自杀
rm -rf /* # 自杀
文件内容操作
① 查看文件内容
cat 文件名 # 查看文件中的内容
more 文件名 # 查看文件的内容 一屏一屏显示 (查看下一屏 空格键 查看下一行数据 回车键
tail -10 文件名 # 查看文件的后10行数据
tail -f xx.log # 动态查看文件的内容
② 搜索文件
find / -name "ser*" # 搜索以ser开头文件名的文件
find / -user root # 搜索 root权限的文件
③ 搜索符合条件字符串的文件
grep 字符串 文件名 # 在文件中查找字符串内容
文件的打包和压缩
tar -cvf xx.tar 目录 # 将目录打成tar包
tar -zcvf xx.tar.gz 目录 # 将目录打包并压缩
tar -zxvf xx.tar.gz -C 目录 # 将压缩版解压到指定的目录下
说明:
c:创建一个新的tar文件
v:显示打包的过程
f:指定文件名
z:调用gzip 压缩文件
x:解开tar文件
文件内容编辑
vi 是文件内容的编译命令
三种模式:命令行模式 插入模式 低行模式
进入命令模式:
vi 文件名
进入到插入模式:
i:插入当前光标的前面
I:插入当前行的前面
a:插入当前光标的后面
A:插入当前行的尾部
o:插入当前行的下一行
O:插入当前行的上一行
进入低行模式:esc
冒号 w保存 q退出 !强制
常见命令:
vi 文件名 # 进入命令行模式
i/I/a/A/o/O # 进入到插入模式 修改内容
esc -> :wq # 保存退出
命令行中常见的命令:
dd:删除一行
yy:复制一行
p:粘贴
nyy:复制n行
低行模式命令
/内容 搜索文件中包含该内容的第一个位置
权限命令
① 修改权限: 可读 r=4 可写 w=2 可执行 x=1
chmod u-w,g+w 文件名 # 可以添加或者删除指定权限
chmod 755 文件 # 指定文件或目录的权限
② 用户和组
cat /etc/passwd # 查看 用户结构信息
用户操作:
useradd 用户名 # 添加一个用户
userdel -r 用户名 # 删除用户和对应的结构信息
passwd 用户名 # 设置密码
groups 用户名 # 查看用户所属组
组操作:
groupadd 组名 # 添加一个组
groupdel 组名 # 删除组
gpasswd -a 用户名 组名 # 将一个用户添加到组中
gpasswd -d 用户名 组名 # 将用户从组中移除
补充:
su 用户名 # 切换用户 操作环境不变
su - 用户名 # 切换用户 并切换操作环境
whoami # 查看当前用户
重定向输出
将一个文件内容到另一个文件中
cat 文件1 > 文件2 # 将文件1的内容输出到文件2中 覆盖老的内容
cat 文件1 >> 文件2 # 将文件1的内容追加到文件2中
进程命令
ps -ef # 查看所有进程
ps -ef|grep 进程名 # 查看某个进程
kill -9 进程id # 强制杀死进程
shell编程
shell命令解释型语言,用户可以通过编写shell命令 编写一些程序。通常运维或者大数据的开发者编写shell脚本管理服务器集群 编写规范:
1. 创建以.sh为后缀的文件
2. 首行 #!/bin/bash
3. 赋予可执行的权限 chmod u+x
4. ./xx.sh 执行
rpm
rpm 类似win的软件安装包 可以通过.rpm安装文件 安装软件或者卸载软件
① 安装
rmp -ivh rpm安装包 # 安装rpm软件
② 查看安装
rpm -qa|grep 软件名
③ 卸载 rpm安装
rpm -e --nodeps 安装名
参数:
i # 安装 install
v # 安装信息
h # 安装进度
q # 查询
a # 查询所有的包
e # 卸载
nodeps # 不检查依赖性
yum
Yum是一个可以从指定的服务器中自动下载并且按照的软件包管理器,自动处理依赖,一次性安装所有依赖的软件包。
1. 下载安装
yum install 软件名
2. 查看yum安装的软件
yum list installed
3. 卸载安装
yum uninstall 安装包名
4. 查看安装位置
rpm -ql 安装包
Linux安装环境
安装jdk
① 将 jdk-8u144-linux-x64.tar.gz 通过ftp上传到 /usr/ujiuye
② 解压到当前目录下
tar -zxvf jdk-8u144-linux-x64.tar.gz
③ 配置环境变量
1. vi /etc/profile 中:
JAVA_HOME=/usr/ujiuye/jdk1.8.0_144
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
2. 保存退出
3. 刷新环境变量
source /etc/profile
4. 测试
java -version
安装MySQL
① 安装之前先清除 自带的MySQL
rpm -qa|grep mysql
rpm -qa|grep mariadb
rpm -e --nodeps 安装软件名 # 卸载
② 将win下下载的安装包 上传到 /usr/ujiuye
rpm -ivh MySQL-server-5.5.54-1.linux2.6.x86_64.rpm -force --nodeps
rpm -ivh MySQL-client-5.5.54-1.linux2.6.x86_64.rpm -force --nodeps
③ 启动
service mysql start
问题:
Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.pid).
解决:
执行命令:/usr/bin/mysql_install_db --user=mysql
又引发问题:
Installing MySQL system tables...
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
再解决:
yum install libaio
最后再执行:/usr/bin/mysql_install_db --user=mysql
最后:
启动服务:service mysql start
④ 连接数据库 默认 5.5 没有密码
mysql -uroot -p
⑤ 设置密码
set password = password('密码')
⑥ 重新连接 设置权限
grant all privileges on *.* to 'root'@'%' identified by 'root';
flush privileges;
⑦ 关闭防火墙
firewall-cmd --state # 查看防火墙状态
systemctl stop firewalld.service # 关闭防火墙
systemctl disable firewalld.service # 禁止开机启动防火墙
安装tomcat
① 将win下的apache-tomcat-8.5.43.tar.gz 上传到/usr/ujiuye
② 解压两份
tar -zxvf apache-tomcat-8.5.43.tar.gz
③ 其中一个修改 conf/server.xml文件
④ 执行 bin/startup.sh
部署项目
后台代码部署
① 修改连接池数据源配置文件的 ② 修改项目中跳转路径
③ Maven打包
部署前台页面
① 修改页面中访问路径
在每个页面中 将请求后台路径 localhost:8080/ 改为 IP:8080/
在每个页面中 将页面之间的跳转 127.0.0.1:5500/ 改为 IP:8081/
② 将页面 上传到 tomcat_before/webapps中即可