linux -- 基础(二)
1 网络命令
1.1 查看本机的ip地址
ip addr -- 查看本机的IP地址
inet 192.168.133.33/
1.2 服务
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.22.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
为了让集群du中的所有节点都保持时间同步
可以把所有节点都安装上ntpd,并且配好时间同步服务器
或者,也可以,只让节点1去向public同步服务器同步,其他节点向节点1同步
systemctl start ntpd
systemctl enable ntpd
vi /etc/ntp.conf
server linux01