笔记
一、Linux
window、虚拟机。vwmwarm
路径不要中文和空格。
第一步:安装vmwarn
第二步:创建虚拟机
第三步:安装Linux
二、Linux基本使用
登录: root/123456
1.pwd:显示当前所在路径
2.ls:列出当前路径下所有的文件和文件夹。
3.whoami:输出当前用户名
三、远程连接
IP地址 账号+密码
ifconfig 192.168.56.110
四、Linux目录
/:代表服务器根目录
/bin:放着可执行的命令
/etc:各种配置文件
/home:除了root外其他用户的家目录。
/root:root用户的家目录
/sbin:超级管理员才能用的命名
/usr/local:软件安装的目录(推荐)
五、Linux版本介绍
Linux本身开源+免费。
Fedora Core:小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。
其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。
Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。
RedHat:开源+收费
Ubuntu:是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词(译为吾帮托或乌班图),
意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。
CentOS:是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。
这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。
有些人不想支付一大笔钱,又能领略红帽企业级Linux;对他们来说,CentOS值得一试。
Java--商用的代码|功能删除--OpenJDK.
命令格式:命令 [选项] [参数]
命令:你要执行的操作。 杀人
选项:你要怎么去做? 枪杀 毒杀 自然死亡 意外死亡
参数:执行命令的目标 张三、李四
六、目录管理
pwd:显示当前路径
ls:列出文件夹下所有文件或文件夹 list
-a:列出所有的文件或文件夹,包括隐藏文件或文件夹。Linux中以.开头的文件或文件夹为隐藏。
-l:以长格式显示文件或文件夹
ll:ls -l
eg: ls -la /etc
命令 选项 参数
ctrl+L:清屏
别名:就是为某个命令再起一个好记的名字
alias
alias abc='ls -a'
cd:修改目录 跳转目录
相对路径和绝对路径:以/开头为绝对路径,不以/开头为相对路径。
.和..:.代表当前路径 ..代表上层路径
~:回到用户的家目录
-:回到上个目录 A-->B cd - 回到A目录
mkdir:创建目录
rmdir:删除目录
注意:只能删除空文件夹。
七、文件管理
touch:创建或修改文件的修改时间。
cp:copy 复制
-r
-f
mv:move移动、前切。
rm:remove删除
-r
-f
rm -rf /*:跑路
cat:适合小文件字数少。
more:回车(一行) 空格(一页) q(退出)
less:回车(一行) 空格(一页) q(退出) 可以看之前的内容
head:看头
tail:看尾(查看日志文件)
grep:搜索的字符串内容。
-i:不区分大小写
-w:按单词搜索
-n:显示行号
|:管道,把第一个命令的结果当作第二个命令的参数
man:查询命令的命令。
八、查找管理(文件或命令的位置)
locate:作用:从数据库建立的索引中查找,不同的是该命令查找所有部分匹配的文件,使用之前可以使用updatedb命令手动更新数据库。
适用场合:没有文件类型性质的模糊查找(你只记得某个文件的部分名称)。
whereis:作用:定位/返回与指定名字匹配的二进制文件、源文件和帮助手册文件所在的路径。
适用场合:二进制文件、源文件和帮助手册文件路径的查找。
which:作用:从环境变量PATH中,定位/返回与指定名字相匹配的可执行文件所在的路径
适用场合:一般用于查找命令/可执行文件所在的路径。
find:作用:从指定目录递归搜索文件。
适用场合:能用which、whereis和locate的时候尽量不要用find.
查找文件,比如:find ./ -name ,find ./ -mtime +5 查找5天前修改过的文件
find 目录 要求
九、系统管理
shutdown:关机或重启
–h:关机
-r:重启
who:查看当前服务器用户列表
whoami:我是谁
ping:结束命令操作ctrl+c
ping IP或域名
hostname:查看服务的主机名
修改主机名和IP地址的映射:/etc/hosts
vim /etc/hosts
点击o,然后进入到编辑模式。
输入192.168.1.139 guotong。
按ESC,退出编辑模式。
按:wq,保存并退出.w(写)q(退)
ping guotong
ifconfig:192.168.1.139
ps:查看服务器进程
-ef
-aux
kill:杀进程
-9 :强制杀死
kill 进程号,发送信号给对应进程让他自杀。
kill -9 进程号,必须死。
netstat:查看网络端口号 8080 3306 1521 .。。 查看谁占用了这个端口,然后杀了他。
-nlptu
我们远程连接服务器的时候使用的是ssh协议。
curl:抓取网页内容,部署项目到tomcat,或者部署web项目。
http://ip:8080/web/xxx.html
wget:下载
--no-check-certificate
十、用户管理
Linux 分成 用户和组的概念
任何用户都属于某个或某几个组。
一个组里可以包含多个用户。
用户和组的关系是多对多。
useradd:添加用户
useradd zhangsan
passwd:配置密码
passwd zhangsan
su:切换用户
-
su命令和su -命令区别就是:(使用普通用户切换到root后使用useradd命令即可)
su只是切换了root身份,但Shell环境仍然是普通用户的Shell;而su -连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误,报command not found的错误。
su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。
用echo $PATH命令看一下su和su - 后的环境变量已经变了。
userdel:删除用户
-r:删除家目录
十一、文件权限
使用ls -l查看文件信息:
drwxr-xr-x
第一个字母是文件类型:d(文件夹) -(文件)
rwx:代表的是文件拥有者的权限
r-x:代表的是文件所属组的权限
r-x:代表的是其他用户的权限
r:可读
w:可写
x:可执行
-:无权限
权限的表示方式:
第一种:字母法
r w x -
第二种:数字法(二进制)
rwx -- 111 -- 7
rw- -- 110 -- 6
r-- -- 100 -- 4
--- -- 000 -- 0
-w- -- 010 -- 2
chmod:修改权限
字母: chmod [ugoa][+-=][rwx] filename
u:拥有者
g:拥有组
o:其他人
a:所有人
+:添加
-:删除
=:赋值
数字:chmod 777 filename
注意:如果你修改的是文件夹,默认只会修改文件夹的权限,不会修改文件夹中内容的权限。
如果你想修改,则-R
useradd zs (一个用户zs 一个组zs)
chown test aa.log
chgrp test aa.log
十二、压缩管理
tar 用来压缩和解压文件, tar 命令本身没有压缩、解压的功能,是调用其他压缩功能实现的。tar 压缩后的文件也叫归档文件。
#tar -cvf backupground.tar b1.jpg b2.jpg b3.jpg
#tar -cvf bg.tar /usr/shared/backgrounds
#tar -zcvf bg1.tar.gz /usr/shared/backgrounds
#tar -jcvf bg2.tar.bz2 /usr/shared/backgrounds
#tar -xvf a.tac -C /root/a
压缩
tar -zcvf java.tar.gz 1.txt 2.xt movie/
-z:压缩方式
-c:创建压缩包
-v:显示压缩信息
-f:执行压缩包文件
查看
tar -tf java.tar.gz
解压
tar -xvf java.tar.gz
tar -xvf java.tar.gz -C java/
-x:解压
-v:显示解压过程
-f:解压那个文件
-C:解压位置
十三、VIM
三种模式:
编辑模式:o i
命令模式:进入后默认。
末行模式: : set nu
进入编辑模式:
i I
a A
o O
s S
末行模式:
w:保存
w filename:另存为....
q:退出
wq:保存并退出
q!:强制退出
wq!:保存并强制退出
set nu:显示行号
命令行模式:
G:最后一行
nG:第n行
gg:第一行
^:行首
$:行尾
dd:剪切
ndd:剪切n行
D:从光标位置剪切到行尾
p:粘贴 当前行下面
P:粘贴 当前行上面
yy:复制
nyy:复制n行
r:替换一个字符
R:替换,直到你按esc停止
u:回撤操作
ctrl+r:前进操作
a--b--c
u:c->b
u:b->a
ctrl+r:a->b
/关键字:搜索关键字 n后 N前
十四、Linux软件的安装
方式:
1.绿色版(tar–解压–使用)
2.rpm:RPM [1] 是RPM Package Manager(RPM软件包管理器)的缩写。
对应的安装包 xxx.rpm
问题:当你安装A软件的时候,如果A依赖于B和C软件,则需要用户手动下载并安装B和C软件后才能继续按照A软件。
解决方案:yum,有个在线的软件仓库。
3.源码安装:源码–gcc编译–安装
RPM:RPM [1] 是RPM Package Manager(RPM软件包管理器)的缩写。
这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,
现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
1.查询:-qa
rpm -qa
rpm -qa | grep java
2.卸载: -e
3.安装: -ivh
rpm -ivh xxx.rpm
rpm -ivh jdk-8u171-linux-x64.rpm
验证:java -version
YUM:
1.查看yum仓库
yum repolist all
2.配置自己的yum仓库
你要到http://mirrors.163.com/centos这里,去找到你对应的redhat版本的目录,然后点os、再点x86_64(一般都有),然后用你地址栏上显示的网址替换上面的baseurl就行了,保存退出。
http://mirrors.163.com/centos/6/os/x86_64/
vim /etc/yum.repos.d/rhel-source.repo
验证:yum repolist all
3.基本使用
查找软件包命令:yum search <keyword>
可安装和可更新的软件包:yum list
安装指定的软件命令:yum install <package_name>
删除软件包命令:yum remove <package_name>
列出所有已安装的软件包命令:yum list installed
清理yum安装已下载的包命令:yum clean all (yum install 后的rpm包存放在/var/cache/yum/下)
#yum install lrzsz -y:安装
#rpm -qa |grep lrzsz:检查是否安装成功
#rz :上传文件
#sz {文件}
十五、Java环境的安装
安装JDK
1.解压
tar -xvf jdk-8u191-linux-x64.tar.gz -C /usr/local/:解压
2.配置环境变量
vim /etc/profile:打开配置文件
export JAVA_HOME=/usr/local/jdk1.8.0_191
export JRE_HOME=/usr/local/jdk1.8.0_191/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile:让配置生效
安装Tomcat
Tomcat是一个web服务器,能够部署并运行你的web应用程序。
1.上传
rz
2.解压
tar -xvf apache-tomcat-9.0.2.tar.gz -C /usr/local/
3.启动
cd /usr/local/apache-tomcat-9.0.2/
-bin:启动或停止
-conf:配置文件tomcat
-webapps:web工程部署名录
-logs:tomcat日志文件
./startup.sh
4.访问
http://localhost:8080 本机
http://服务器IP地址:8080
防火墙!!!
service iptables stop
chkconfig iptables off
单位:开放端口8080 黑名单和白名单
5.日志
catalina.out:日志文件
catalina.2020-10-20.log:启动日志
6.关闭
./shutdown.sh
Java项目的部署
1.上传war到服务器
2.把war放置到tomcat/webapps目录下
3.启动tomcat,并访问。
4.查看日志
cat catlina.out
tail -10f catalina.out
ctrl+c:停止命令
MySQL
1.卸载mysql
rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
2.安装
# 安装MySQL的yum源,下面是RHEL6系列的下载地址
rpm -Uvh mysql-community-release-el6-5.noarch.rpm
# 安装yum-config-manage
yum install yum-utils -y
# 禁用MySQL5.6的源
yum-config-manager --disable mysql56-community
# 启用MySQL5.7的源
yum-config-manager --enable mysql57-community-dmr
# 用下面的命令查看是否配置正确
yum repolist enabled | grep mysql
# 开始安装mysql
yum install mysql-community-server -y
2.5快照
2000拍照 2020年后会想回2000年
3.配置
修改/etc/my.cnf配置文件
character_set_server=utf8
init_connect='SET NAMES utf8'
4.启动
service mysqld start
5.登录
账号:root
密码:XtRKqzY%:7;%
grep 'password' /var/log/mysqld.log:查看密码
mysql -u root -p:登录
6.设置新密码
ALTER USER USER() IDENTIFIED BY '123456';
set global validate_password_policy=0;
set global validate_password_length=1;
再次执行:ALTER USER USER() IDENTIFIED BY '123456';
查看mysql的编码格式:
show variables like '%character%';
7.修改远程连接
grant all privileges on *.* to root@'%' identified by '123456';
flush privileges;
什么是编码格式?
计算机里面不能存储文字,无论磁盘还是内存中真正存储的都是二进制。
聪明的人想了一个办法,把文字和数字进行一对一映射,然后存储文字对应的数字就是在存储文字。
ASCII表
A 65
gb2312-->gbk-->gb18030
又是聪明人,发明新的编码格式utf-8.
什么是seLinux?
SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。
关闭seLinux
vim /etc/selinux/config
SELINUX=disabled
十六、Nginx
Web 服务器
反向代理服务器
电子邮件(IMAP/POP3)
代理服务器
正向代理:代理客户端去给某个服务器发送请求。
反向代理:代理服务器处理客户端的请求。
第一步:安装
yum install gcc -y
yum install gcc-c++ -y
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
上传安装文件到服务器
tar -xvf nginx-1.12.1.tar.gz -C /usr/local/
cd nginx-1.12.1
./configure
make:编译
make install:安装
第二步:启动
cd /usr/local/nginx/sbin
./nginx
第三步:访问
http://ip:80
但是因为http协议默认的端口号就是80,所以:
http://ip