1 网络命令
1.1 查看本机的ip地址
ip addr -- 查看本机的IP地址
inet 192.168.133.33/
1.2 服务
service 服务名 start|stop|restart|status
service network start 启动网络服务
service network stop 关闭网络服务
service network restart 重启网络服务
service network status 显示网络服务状态
-- service network start stop restart status
systemctl start|stop|restart|status 服务名
systemctl status network -- 查看网络服务状态
systemctl stop network
systemctl start network
systemctl restart network
systemctl disable network 开机禁用
systemctl enable network 开机启动
-- 关闭NetworkManager网络服务 避免和network冲突
systemctl status NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
1.3 防火墙服务 ****
systemctl status firewalld ****
Active: active (running) since Fri 2021-10-08 23:02:24 CST; 10h ago -- 防火墙在运行
systemctl start firewalld
systemctl stop firewalld
systemctl restart firewalld
systemctl disable firewalld 配置上自动关闭
systemctl enable firewalld
如果报错 重新安装防火墙 yum -y install firewalld.service
我们配置关闭防火墙 systemctl stop firewalld
配置开启禁用 systemctl disable firewalld
1.4 主机名
[root@localhost ~]# hostname -- 查看当前主机名
localhost.localdomain
[root@localhost ~]# hostname linux01 -- 临时修改主机名
[root@localhost ~]# hostname
linux01
[root@localhost ~]# vi /etc/hostname -- 修改主机名 永久
[root@localhost ~]# cat /etc/hostname
linux01
--reboot 重启生效
[root@linux01 ~]#
1.5 域名
在网路之间所有通信的机器都会分配唯一的ip地址 ,ip是一个机器的唯一标识 , 通过IP地址定位一个机器
将ip映射成一个字符串 使用字符串(域名)映射你的机器
域名映射 :
C:\Windows\System32\drivers\etc
在windows上配置虚拟机的ip映射
C:\Windows\System32\drivers\etc\hosts
192.168.133.33 linux01
在linux上配置windows的域名映射
vi /etc/hosts
192.168.133.2 windows
1.6 网络端口查看
netstat
英文:network statistics 命令路径:/bin/netstat 执行权限:所有用户
作用:主要用于检测主机的网络配置和状况
-a all显示所有连接和监听端口
-t (tcp)仅显示tcp相关连接
-u (udp)仅显示udp相关连接
-n 使用数字方式显示地址和端口号
-l (listening) 显示监控中的服务器的socket
-p port
-- 执行命令
[root@linux01 ~]# netstat -nltp | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 1748/mysqld
[root@linux01 ~]# service mysqld stop
Redirecting to /bin/systemctl stop mysqld.service
[root@linux01 ~]# netstat -nltp | grep 3306
[root@linux01 ~]#
注意:如果netstat命令报错 notfound 下载安装
-- 安装网络工具
yum -y install net-tools
1.7 Linux安装mysql
-
进入到/opt/apps文件夹
-
yum -y install wget
-
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
-
yum -y install mysql57-community-release-el7-10.noarch.rpm
-
yum -y install mysql-community-server --nogpgcheck
-
systemctl start mysqld
-
netstat -nltp | grep 3306
-
grep “password” /var/log/mysqld.log
2021-11-21T19:13:01.139721Z 1 [Note] A temporary password is generated for root@localhost: hUk5ak36Pn%T
-
mysql -uroot -phUk5ak36Pn%T
-
修改密码
登陆mysql后
#这两个设置后 密码可以简单设置
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
#修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
2 权限
为了保证系统数据的安全 , 不同的用户对不同的文件具有不同的操作权!
操作权: 读 写 执行
2.1 文件
使用root用户根目录创建 a文件夹 在a文件夹中创建1.txt文件
-rw-r--r--. 1 root root 26 Oct 9 19:09 1.txt
用户 组
- 文件类型
rw- 当前用户拥有的权限 r read w write x excute 执行权
r-- 当前用户所属的组
r-- 其他人 其他人对这个文件只有读的权限
[root@linux01 ~]# useradd zss 添加用户 zss
[root@linux01 ~]# su -l zss 切换用户 zss
[zss@linux01 root]$
[zss@linux01 a]$ echo "hello" >> 1.txt 写
bash: 1.txt: Permission denied 权限被拒绝
需要zss修改这个文件 没有写的权限 给zss分配写权限
o other
u user 当前用户
g group 组
a all
chmod a+w 1.txt
chmod o+w 1.txt
chmod u-r 1.txt
*** 给任何用户分配任意权限
u g o
rwx rwx rwx
111 111 111
7 7 7 chmod 777 1.txt
r-x rw- --x
101 110 001 chmod 561 1.txt
文件执行权
在哪linux中脚本文件是可以执行的
vi a.sh
#!/bin/bash
echo "我可以执行..."
echo "我在当前目录下创建文件 aaa.doc"
touch aaa.doc
有了执行权限以后可以直接执行 ./a.sh /a/a.sh
2.2 文件夹权限
文件夹的权限的前提是具有x权限 , 没有x权限其他的权限没有意义
w 写 创建文件 创建文件夹 删除内容 复制移动 重命名
r 读 ls
注意-R递归
ll -R /a 递归查看文件夹中的内容
chmod -R 777 /a 递归修改文件夹和文件夹内所有内容的权限
3 系统命令
free -h 查看内存
echo 1 > /proc/sys/vm/drop_caches 清除缓存
df -h 查看硬盘
du 查看文件或者是文件夹的大小
-a 显示子文件的大小
-b 字节
-h以易读的方式显示 KB,MB,GB等
du -sh /etc 查看etc下所有文件的总大小 以合适的单位显示
top 查看进程 类似任务管理器
-d 秒数,指定几秒刷新一次,默认3秒(动态显示)
kill -9 PID 强制结束进程
kill -1 pid 重启进程
ps 查看系统中的进程信息
a:显示所有用户的进程
u:显示用户名和启动时间
x:显示没有控制终端的进程
e:显示所有进程,包括没有控制终端的进程
l:长格式显示
ps aux #查看系统中所有进程,使用BSD操作系统格式,unix
ps aux | grep mysql 查看mysql进程
helloword.class java 0101010
pstree 查看当前进程树
minimal版本中可能没有安装这个工具,需要手动安装
yum -y install psmisc
ctrl +z 可以把一个前台运行的程序挂起到后台(挂起,就意味着程序被暂停了)
jobs 查看当前在后台挂起的程序
fg 1 将指定id的job放回前台继续运行
暂时用不到
将一个程序放后台运行的标准写法:
nohup sh back.sh 1>/dev/null 2>&1 &
1>/dev/null : 表示将程序的标准输出重定向到/dev/null 文件
2>&1 : 表示将程序的标准错误输出,重定向到“标准输出通道”
& : 表示将程序放在后台执行
nohup : 表示不要挂起
用户命令
useradd zss 添加用户
userdel -r zss 删除用户并删除home文件
4.时间管理
手动设置时间
date -s '2021-11-21'
(1)date (功能描述:显示当前时间)
(2)date +%Y (功能描述:显示当前年份)
(3)date +%m (功能描述:显示当前月份)
(4)date +%d (功能描述:显示当前是哪一天)
(5)date "+%Y-%m-%d %H:%M:%S" (功能描述:显示年月日时分秒)
(6)date -d' -1 day' +'%Y-%m-%d' (功能描述:显示前一天时间)
date -d '1 days ago' (功能描述:显示前一天时间)
时间同步
yum -y install ntp
vi /etc/ntp.conf
server npt1.aliyun.com
server time.windows.com
server time.apple.com
启动服务
systemctl start ntpd
systemctl enable ntpd
查看状态
ntpstat
为了让集群中的所有节点都保持时间同步
可以把所有节点都安装上ntpd,并且配好时间同步服务器
或者,也可以,只让节点1去向public同步服务器同步,其他节点向节点1同步
[root :多易 @doit03 ~]# systemctl start ntpd
[root :多易 @doit03 ~]# systemctl enable ntpd
[root :多易 @doit03 ~]# vi /etc/ntp.conf
server linux01
5.集群搭建
5.1 快照
复制当前的机器的环境 ,当出现问题的时候 ,将机器恢复到当前快照的状态
5.2 克隆
1.关闭要被克隆的虚拟机
修改linux的IP地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
192.168.133.44
修改主机名称
vi /etc/hostname
linux02
修改windows的hosts文件 配置 DNS映射 C:\Windows\System32\drivers\etc\hosts
192.168.133.44 linux02
192.168.133.55 linux03
OK然后按照以上的方式 再克隆一个linux03
5.3 远程复制
现在windows可以直接通过linux01,linux02,linux03连接Linux的服务器
但是linux操作服务器之间不能互相连接 需要修改配置
先修改linux01下的hosts文件
vi /etc/hosts
192.168.133.2 windows
192.168.133.33 linux01
192.168.133.44 linux02
192.168.133.55 linux03
修改后 将修改后的hosts文件远程复制给linux02和linux03
scp /etc/hosts linux02:/etc/
scp /etc/hosts linux03:/etc/
复制完可以cat一下验证 是否复制成功
远程复制
scp -r 目录 ip:/目录位置
scp -r 目录 ip:$PWD 远程复制到当前文件夹下 要求对方必须有对应的文件夹
5.4 ssh免密连接
如果系统中没有ssh命令,则说明工具包没有安装或者安装不完整,可用yum进行安装
yum - y install openssh
ssh是用于远程登录的工具(CRT本质是就是一个ssh客户端程序,windows版本的)
使用ssh登陆其他计算机
ssh linux02
输入密码
ssh linux03
输入密码
免密配置
在linux01上生成密钥
ssh-keygen
将生成好的公钥发送给linux01 linux02 linux03
ssh-copy-id linux01
ssh-copy-id linux02
ssh-copy-id linux03
相同操作在linux02 linux03上再操作一遍
这样3台计算机就可以免密连接了
免密原理
5.5 软件安装
5.5.1 rpm包管理器
RPM软件包也称为二进制软件包 依赖关系 (手动的解决)
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的发行版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便
rpm的常用参数
i:安装应用程序(install)
vh:显示安装进度;(verbose hash)
U:升级软件包;(update)
qa: 显示所有已安装软件包(query all)
e:卸载应用程序(erase)
注意:如果其它软件包有依赖关系,卸载时会产生提示信息,可使用--nodeps强行卸载。
查询所有安装的rpm包: # rpm –qa
查询mysql相关的包: # rpm –qa | grep mysql
安装:rpm -ivh jdk.rpm
卸载: rpm –e mysql*
强行卸载:rpm –e mysql* --nodeps
注意:如果使用rpm安装软件包需要手动解决依赖关系 比如多个包之间有依赖关系 先安装谁 后安装谁 需要自己手动解决
5.5.2 yum包管理器
yum工具的工作原理: 根据你命令中指定的软件包名称,去软件仓库服务器(yum源)上下载并安装
/etc/yum.repos.d/ xx.repo
我们也可以在该目录下添加centos以外的别的公司所提供的软件仓库地址配置
基本使用
yum list 查询所有可用软件包列表
yum list | grep rz 搜索指定的软件包
yum info lrzsz 查看软件包信息
yum -y install lrzsz 自动应答安装软件包lrzsz
yum -y remove lrzsz 卸载软件包
注意:使用yum安装软件 可以自动解决软件包之间的依赖问题 并且方便软件包的升级
yum deplist 软件包 列出一个包所有依赖的包
yum -y update 包名 升级 如果不写包名升级所有(慎用)