linux
为什么要使用centOS,用于部署项目
一、 IP显示
su root
切换root用户dhclient -v ens33
手动获取IP
动态获取IP:
1.广播:给vm中的网卡发送广播,来请求一个IP
2.一个网卡给了答复
3.再次发送广播,说已经获取了IP,别的网卡不用再发送IP了
4.绑定这个动态获取的IP
ifconfig ens33 up
查看IP网卡ifconfig
一、 快照
安装软件的时候可能会出错,所以需要在安装软件之前创建一个快照,当安装出错时可以恢复到原来未出错的状态
二、 克隆
2.1、 链接克隆
链接克隆和原始机相连,当原始机不存在时,链接克隆也不可以再使用
2.2、 完整克隆
完整克隆是与原始机完全分开的
三、 centOS文件目录介绍
bin
:存放系统的二进制文件sbin
:超级管理员才能操作的二进制文件dev
:硬件设备文件(硬盘,U盘,鼠标,键盘等),一般挂载硬盘的时候需要lib
:存放的是程序运行所需要的共享库,工具包(定义好的功能)
需要掌握的
etc
:存放系统配置的home
:创建的用户都存在于home文件夹下面opt
:和D盘和E盘很像,一般软件的安装路径/usr/local和opt下面var
:安装软件之后(/usr/local),可以设置软连接(快捷方式),所以就是有的软件安装之后下次使用的时候不好找,所以需要设置软连接启动的时候直接在var下面启动,操作方便usr
:和C盘有点像,安装软件的时候会安装到/usr/local下面
四、 命令行
~:家命令,表示的是/home/当前用户
cd - :表示可以跳转到上一次操作的目录
五、 打包压缩和解包
- tar后缀是将文件打包
- gz后缀是将打包后的文件压缩
- 常用参数:
参数 | 描述 |
---|---|
-c | 创建新的tar文件 |
-v | 显示运行的过程 |
-f | 指定的文件名 |
-z | 将打包号的文件压缩 |
-x | 解开tar文件 |
-t | 查看压缩文件的内容 |
1.打包:tar -cvf xxx.tar ./*
2.打包压缩:tar -zcvf xxx.tar ./*
3.解压tar:tar -xvf xxx.tar
4.解压tar.gz:tar -zxvf xxx.tar -C /路径
六、文件查找
6.1、 find是查找符合条件的文件
- find 路径 -name “文件名”
find /opt -name "xioa*" -ls
(查找以xioa开头的文件) - find 路径 -user 用户名 -type (是文件还是目录) d -ls
find / -user xiaoming -type - -ls
(将查到的用户小明下面的是文件展示出来) find 路径 -perm -777 -type d -ls
6.2、 grep是查找符合条件的字符串
- grep 用户名 文件
grep xioaming demo01.txt
grep c. xaioming demo01.txt(
在用户xiaoming下的demo01.txt找到以c开头的一个字符)
七、wget命令
wget 路径
(可以直接从网上下载地址)
八、 vim快捷键
- vim和vi的区别:vim比起vi来有了高亮
I
是在当前行首插入;G
光标移动到末尾A
是在当前行尾插入;gg
光标移动到开头o
是在当前行之后插入;O
是在当前之前插入dd
删除一行;(ndd
一次性删除几行)yy
复制当前行;(nyy
从当前行复制n行)p
粘贴wq!
强制保存退出:set nu
是显示行号#
表示注释u
是对最近一次的操作撤销ctrl+r
是恢复最近一次的撤销
九、输出重定向
- 将文件复制重定向到新的位置
cat 路径 > 新的路径
cat ./demo01/demo01.txt > ./demo02/newfile.txt
十、常用命令(管道)
- 管道是将一个命令的输出作为另一个命令的输入
ls -- help | more(也可以使用less,tail,cat等)
分页展示所有的帮助文档ps -ef
查看所有运行的进程;ps -ef | grep java
查看java进程ps
查看正在运行的进程date
:查看系统时间df -h
:显示内存的状态who
:显示当前登录的用户的信息
十一、用户管理
- 设置组的目的是给组授权,然后组中的用户就会拥有这些权限
- 同级别的普通用户下切换用户时,是需要密码的;但是直接从
root
用户下切换是不需要密码的 - 实现远程链接
ssh -l 链接的用户名 -p 22 vm的ip地址
退出远程链接exit
(在同同一局域网下的可以实现远程链接) - 创建用户
useradd 用户名 -g 组名
但是在/etc/passwd
下看不到创建的用户,因此不推荐直接创建用户在一个组中;推荐使用(将创建的用户添加到组中)gpasswd -a 用户名 组名
- 删除用户(userdel -r 用户名)r表示的是将home目录下的路径也会被删除,的时候需要先
exit
退出(可以使用快捷方式ctrl+d
),不然会报错userdel: user test is currently used by process 4340
- 把用户移除组
gpasswd -d 用户名 组名
vim /etc/group
:可以查看有哪些组vim /etc/passwd
:可以查看用户的信息vim /etc/shadow
:查看用户的密码信息vim /etc/gshadow
:查看组密码
十二、用户组管理
- 当创建一个新用户时,当没有指定属于哪个组,会创建一个和用户同名的组
十三、文件权限管理(chmod和chown)
- chown是对三,四列进行修改;而chmod是对第一列进行修改
chown -R root:root /tmp/tmp1
:是将tmp1的文件的属组都改成 root和root- 第三列的root表示的是文件所属的用户名
- 第四列的root表示的是文件所属的用户组
chmod -R 777 /路径/文件名
(只能是数字)或者chmod u=rrx,g=rwx,o=rwx 路径
(可以是字母rwx);u表示用户;g表示所属的组;o表示其他
十三、centos的三种网络配置
- 网络配置需要配置vm虚拟机的(进入编辑下的虚拟网络编辑器做修改),还需要配置centos的(右键设置网络适配器)
- 桥接模式
优点:centos和win10是同一个网段的(192.168.2.233前三位是一样的叫同一个网段);centos和win10一定可以ping通
缺点:IP是自动获取的,当部署项目的时候可以不便
- 仅主机模式
centos和win10不能ping通,但是centos之间是可以ping通的
- NAT模式
1.由于桥接模式不动静态获取IP,仅主机模式不能实现centos和win10之间的通信,所以NAT模式是一个好的选择
2.centos和win10之间可以互相ping通,是因为win10有了虚拟以太网vm
3.在NAT模式下,配置静态IP
十四、NAT模式下配置静态IP
- 方法一:直接在图形化界面中更改
- 方法二:
- cd /etc/sysconfig/network-scripts
- ll查看
- vim ifcfg-ens33
- 修改 BOOTPROTO=static (将配置改为static)
- 修改NOBOOT=yes (改为开机自启的)
- 新增:IPADDR=192.168.10.100 (自己配置的IP)
- 新增:GATEWAY=192.168.10.1 (自己配置的默认网关)
- 新增:NETMASK=255.255.255.0 (自己配置的子网掩码)
- 重启网络,输入命令
systemntl restart network.service
十五、Linux下安装软件的三种方法
- Linux下有三种安装软件的方法,但是只有两种程序(源程序和二进制程序)
- 源程序:需要下一步下一步安装
xxx.rpm
- 二进制程序:二进制表示已经编译过了,可以解压即用
zip
15.1、yum
- yum insytall -y tree,一般不使用这种方法
15.2、rpm
- 安装的是后缀是rpm的软件
15.1、tar
- 解压安装后缀是tar的压缩包
十六、centos7打开关闭防火墙
- 当想连接centos中的一个程序软件,防火墙阻挡了,在不关闭防火墙的情况下,可以让防火墙对该程序软件端口号放行即可
- 那如何对端口开放呢(开放端口)
- 添加端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent (–permanent永久生效)
- 重新载入:firewall-cmd --reload
- 查看是否载入:firewall-cmd --zone=public --query-port=8080/tcp
- 删除端口号:firewall-cmd --zone=public --remove-port=8080/tcp --permanent
16.1、对防火墙的操作
启动一个服务: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
16.2、对防火墙的配置
查看版本: 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
查看进程中的端口监听情况:netstat -lnt
关闭防火墙:
systemctl stop firewalld.service;
(关闭防火墙)systemctl disable firewalld.service;
(开机禁用)
16.3、防火墙对端口开放
- 查看所有打开的端口: firewall-cmd --zone=public --list-ports
- 添加端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent
(–permanent永久生效) - 重新载入防火墙:firewall-cmd --reload
- 查看是否载入:firewall-cmd --zone=public --query-port=8080/tcp
- 删除端口号:firewall-cmd --zone=public --remove-port=8080/tcp --permanent
十七、下载安装JDK
- 在下载之前需要先卸载openJDK以及相关软件
- 查询安装的软件
rpm -qa | grep java
(查询安装的java软件) - 卸载安装的软件
rpm -e --nodeps 程序
- JDK下载链接,不可以下载aarch64的,也不可以下载x86(这是32位的),也不可以下载rpm的,综上需要下载tar.gz的
- 实现远程连接的前置条件
- cmd中的ip可以ping通
- 对应的软件是放行状态netstat -lnt
- 防火墙对22端口放行
- 通过xftp将文件传输上去
- 解压缩
tar -zxvf jdk-7u71-linux-i586.tar.gz -C /usr/local/src/java
- 配置环境变量(配置环境变量的目的是开机自启)
- 进入系统配置文件
vi /etc/profile
- 在末尾加入:
#set java environment
JAVA_HOME=/usr/local/src/java/jdk1.7.0_71
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
- 保存退出
- 使刚刚的更改立即生效
source /etc/profile
- 查看JDK的版本,显示1.8就是成功的
java -version
十八、下载安装tomcat
- 在根目录下给newuser用户创建家目录 /newuser
useradd -d /newuser newuser
(为什么不能使用root用户呢?因为可能会存在黑客攻击直接获取root用户的权限,所以一般都不会使用root用户) - 给设置密码
passwd newuser (密码)
- 切换用户
- 解压tomcat压缩包
tar -zxvf apache-tomcat-7.0.57.tar.gz -C /newuser/web
- 进入bin目录下
cd/apache-tomcat-7.0.57/bin
- 启动tomcat
./startup.sh
,然后直接在浏览器输入协议: IP:端口号
- 但是可以访问不成功,当不成功时,进行以下步骤:
- 在cmd中看是否可以ping通centos的IP地址
- 要先看端口是否开启
netstat -lnt
- 查看防火墙是否开启 ,是否对端口放行了
十九、下载安装mysql
二十、软硬链接
软链接:相当与快捷方式,ln -s 源文件 目标文件
,可以实现对文件夹的操作,而且删除源文件之后,对目标文件是没有影响的,一般用来备份数据
硬链接:不可以给文件夹做,只能给文件做,删除文件之后,软连接就不可以用了,