linux2:网络命令.权限.系统命令.时间管理.集群搭建

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

  1. 进入到/opt/apps文件夹

  2. yum -y install wget

  3. wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

  4. yum -y install mysql57-community-release-el7-10.noarch.rpm

  5. yum -y install mysql-community-server --nogpgcheck

  6. systemctl start mysqld

  7. netstat -nltp | grep 3306

  8. grep "password" /var/log/mysqld.log

    2021-11-21T19:13:01.139721Z 1 [Note] A temporary password is generated for root@localhost: hUk5ak36Pn%T
  9. mysql -uroot -phUk5ak36Pn%T

  10. 修改密码

    登陆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一下验证 是否复制成功 cat /etc/hosts ​ 远程复制 scp -r 目录   ip:/目录位置 scp -r 目录   ip:$PWD   远程复制到当前文件夹下 要求对方必须有对应的文件夹 (scp -r jdk1.8.1 linux02:$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  包名  升级 如果不写包名升级所有(慎用)
​
​

你可能感兴趣的:(运维,linux,centos)